dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/radeon/kms/blit: workaround some hw issues on evergreen+
@ 2011-05-25  5:00 Alex Deucher
  2011-05-25  5:00 ` [PATCH 2/2] drm/radeon/kms: add blit support for cayman Alex Deucher
  0 siblings, 1 reply; 4+ messages in thread
From: Alex Deucher @ 2011-05-25  5:00 UTC (permalink / raw)
  To: airlied, dri-devel

Signed-off-by: Alex Deucher <alexdeucher@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

^ permalink raw reply related	[flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] drm/radeon/kms: add blit support for cayman
@ 2011-05-25 15:47 Nils Wallménius
  0 siblings, 0 replies; 4+ messages in thread
From: Nils Wallménius @ 2011-05-25 15:47 UTC (permalink / raw)
  To: dri-devel

>@@ -582,11 +588,17 @@ int evergreen_blit_init(struct radeon_device *rdev)
> 	obj_size = ALIGN(obj_size, 256);
>
> 	rdev->r600_blit.vs_offset = obj_size;
>-	obj_size += evergreen_vs_size * 4;
>+	if (rdev->family < CHIP_CAYMAN)
>+		obj_size += evergreen_vs_size * 4;
>+	else
>+		obj_size += cayman_vs_size * 4;
> 	obj_size = ALIGN(obj_size, 256);
>
> 	rdev->r600_blit.ps_offset = obj_size;
>-	obj_size += evergreen_ps_size * 4;
>+	if (rdev->family < CHIP_CAYMAN)
>+		obj_size += evergreen_ps_size * 4;
>+	else
>+		obj_size += evergreen_ps_size * 4;
> 	obj_size = ALIGN(obj_size, 256);
>
> 	r = radeon_bo_create(rdev, obj_size, PAGE_SIZE, true, RADEON_GEM_DOMAIN_VRAM,


Hi, looks like a c&p error using evergreen_ps_size also for cayman

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-05-25 20:39 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-05-25  5:00 [PATCH 1/2] drm/radeon/kms/blit: workaround some hw issues on evergreen+ Alex Deucher
2011-05-25  5:00 ` [PATCH 2/2] drm/radeon/kms: add blit support for cayman Alex Deucher
2011-05-25 20:39   ` [PATCH] drm/radeon/kms: add blit support for cayman (v2) Alex Deucher
  -- strict thread matches above, loose matches on Subject: below --
2011-05-25 15:47 [PATCH 2/2] drm/radeon/kms: add blit support for cayman Nils Wallménius

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox