| From 1e99cfa8de0f0879091e33cd65fd60418d006ad9 Mon Sep 17 00:00:00 2001 |
| From: Benjamin Herrenschmidt <benh@kernel.crashing.org> |
| Date: Tue, 7 Oct 2014 19:04:58 +1100 |
| Subject: drm/ast: Fix HW cursor image |
| |
| From: Benjamin Herrenschmidt <benh@kernel.crashing.org> |
| |
| commit 1e99cfa8de0f0879091e33cd65fd60418d006ad9 upstream. |
| |
| 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@kernel.crashing.org> |
| Signed-off-by: Dave Airlie <airlied@redhat.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/ast/ast_mode.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/ast/ast_mode.c |
| +++ b/drivers/gpu/drm/ast/ast_mode.c |
| @@ -1080,8 +1080,8 @@ static u32 copy_cursor_image(u8 *src, u8 |
| 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; |