[PATCH 1/2] drm/radeon/kms/blit: workaround some hw issues on evergreen+

2011-05-25 Thread Alex Deucher
Signed-off-by: Alex Deucher 
---
 drivers/gpu/drm/radeon/evergreen_blit_kms.c |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/evergreen_blit_kms.c 
b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
index ba06a69..4086729 100644
--- a/drivers/gpu/drm/radeon/evergreen_blit_kms.c
+++ b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
@@ -199,6 +199,16 @@ static void
 set_scissors(struct radeon_device *rdev, int x1, int y1,
 int x2, int y2)
 {
+   /* workaround some hw bugs */
+   if (x2 == 0)
+   x1 = 1;
+   if (y2 == 0)
+   y1 = 1;
+   if (rdev->family == CHIP_CAYMAN) {
+   if ((x2 == 1) && (y2 == 1))
+   x2 = 2;
+   }
+
radeon_ring_write(rdev, PACKET3(PACKET3_SET_CONTEXT_REG, 2));
radeon_ring_write(rdev, (PA_SC_SCREEN_SCISSOR_TL - 
PACKET3_SET_CONTEXT_REG_START) >> 2);
radeon_ring_write(rdev, (x1 << 0) | (y1 << 16));
-- 
1.7.1.1



[PATCH 1/2] drm/radeon/kms/blit: workaround some hw issues on evergreen+

2011-05-24 Thread Alex Deucher
Signed-off-by: Alex Deucher alexdeuc...@gmail.com
---
 drivers/gpu/drm/radeon/evergreen_blit_kms.c |   10 ++
 1 files changed, 10 insertions(+), 0 deletions(-)

diff --git a/drivers/gpu/drm/radeon/evergreen_blit_kms.c 
b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
index ba06a69..4086729 100644
--- a/drivers/gpu/drm/radeon/evergreen_blit_kms.c
+++ b/drivers/gpu/drm/radeon/evergreen_blit_kms.c
@@ -199,6 +199,16 @@ static void
 set_scissors(struct radeon_device *rdev, int x1, int y1,
 int x2, int y2)
 {
+   /* workaround some hw bugs */
+   if (x2 == 0)
+   x1 = 1;
+   if (y2 == 0)
+   y1 = 1;
+   if (rdev-family == CHIP_CAYMAN) {
+   if ((x2 == 1)  (y2 == 1))
+   x2 = 2;
+   }
+
radeon_ring_write(rdev, PACKET3(PACKET3_SET_CONTEXT_REG, 2));
radeon_ring_write(rdev, (PA_SC_SCREEN_SCISSOR_TL - 
PACKET3_SET_CONTEXT_REG_START)  2);
radeon_ring_write(rdev, (x1  0) | (y1  16));
-- 
1.7.1.1

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel