Reviewed-by: Y.C. Chen <yc_chen at aspeedtech.com>

-----Original Message-----
From: Benjamin Herrenschmidt [mailto:b...@kernel.crashing.org] 
Sent: Tuesday, October 07, 2014 4:05 PM
To: Dave Airlie
Cc: dri-devel at lists.freedesktop.org; YC Chen
Subject: [PATCH] drm/ast: Fix HW cursor image

The translation from the X driver to the KMS one typo'ed a couple of array 
indices, causing the HW cursor to look weird (blocky with leaking edge colors). 
This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---

diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c 
index 19ada0b..9dc0fd5 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -1104,8 +1104,8 @@ static u32 copy_cursor_image(u8 *src, u8 *dst, int width, 
int height)
                        srcdata32[1].ul = *((u32 *)(srcxor + 4)) & 0xf0f0f0f0;
                        data32.b[0] = srcdata32[0].b[1] | (srcdata32[0].b[0] >> 
4);
                        data32.b[1] = srcdata32[0].b[3] | (srcdata32[0].b[2] >> 
4);
-                       data32.b[2] = srcdata32[0].b[1] | (srcdata32[1].b[0] >> 
4);
-                       data32.b[3] = srcdata32[0].b[3] | (srcdata32[1].b[2] >> 
4);
+                       data32.b[2] = srcdata32[1].b[1] | (srcdata32[1].b[0] >> 
4);
+                       data32.b[3] = srcdata32[1].b[3] | (srcdata32[1].b[2] >> 
4);

                        writel(data32.ul, dstxor);
                        csum += data32.ul;


Reply via email to