drm/ast: Fix HW cursor image
Subsystems (3)
PATCH 1/1 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 <[email protected]>
---
drivers/gpu/drm/ast/ast_mode.c +2 -2
@@ -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;
Reviewed-by Y.C. Chen <[email protected]>
-----Original Message-----
From: Benjamin Herrenschmidt [mailto:[email protected]]
Sent: Tuesday, October 07, 2014 4:05 PM
To: Dave Airlie
Cc: [email protected]; 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 <[email protected]>
---
drivers/gpu/drm/ast/ast_mode.c +2 -2
@@ -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;