diff options
Diffstat (limited to 'recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0050-drm-radeon-Try-harder-to-avoid-HW-cursor-ending-on-a.patch')
-rw-r--r-- | recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0050-drm-radeon-Try-harder-to-avoid-HW-cursor-ending-on-a.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0050-drm-radeon-Try-harder-to-avoid-HW-cursor-ending-on-a.patch b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0050-drm-radeon-Try-harder-to-avoid-HW-cursor-ending-on-a.patch new file mode 100644 index 00000000..7b500ec1 --- /dev/null +++ b/recipes-kernel/linux/linux-ti33x-psp-3.2/3.2.25/0050-drm-radeon-Try-harder-to-avoid-HW-cursor-ending-on-a.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From c5666fb07de9499337e69ebde032d9cbcad7e418 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> | ||
3 | Date: Tue, 17 Jul 2012 19:02:09 +0200 | ||
4 | Subject: [PATCH 50/73] drm/radeon: Try harder to avoid HW cursor ending on a | ||
5 | multiple of 128 columns. | ||
6 | MIME-Version: 1.0 | ||
7 | Content-Type: text/plain; charset=UTF-8 | ||
8 | Content-Transfer-Encoding: 8bit | ||
9 | |||
10 | commit f60ec4c7df043df81e62891ac45383d012afe0da upstream. | ||
11 | |||
12 | This could previously fail if either of the enabled displays was using a | ||
13 | horizontal resolution that is a multiple of 128, and only the leftmost column | ||
14 | of the cursor was (supposed to be) visible at the right edge of that display. | ||
15 | |||
16 | The solution is to move the cursor one pixel to the left in that case. | ||
17 | |||
18 | Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=33183 | ||
19 | |||
20 | Signed-off-by: Michel Dänzer <michel.daenzer@amd.com> | ||
21 | Reviewed-by: Alex Deucher <alexander.deucher@amd.com> | ||
22 | Signed-off-by: Dave Airlie <airlied@redhat.com> | ||
23 | Signed-off-by: Ben Hutchings <ben@decadent.org.uk> | ||
24 | --- | ||
25 | drivers/gpu/drm/radeon/radeon_cursor.c | 8 +++++++- | ||
26 | 1 files changed, 7 insertions(+), 1 deletions(-) | ||
27 | |||
28 | diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c b/drivers/gpu/drm/radeon/radeon_cursor.c | ||
29 | index 986d608..2132109 100644 | ||
30 | --- a/drivers/gpu/drm/radeon/radeon_cursor.c | ||
31 | +++ b/drivers/gpu/drm/radeon/radeon_cursor.c | ||
32 | @@ -257,8 +257,14 @@ int radeon_crtc_cursor_move(struct drm_crtc *crtc, | ||
33 | if (!(cursor_end & 0x7f)) | ||
34 | w--; | ||
35 | } | ||
36 | - if (w <= 0) | ||
37 | + if (w <= 0) { | ||
38 | w = 1; | ||
39 | + cursor_end = x - xorigin + w; | ||
40 | + if (!(cursor_end & 0x7f)) { | ||
41 | + x--; | ||
42 | + WARN_ON_ONCE(x < 0); | ||
43 | + } | ||
44 | + } | ||
45 | } | ||
46 | } | ||
47 | |||
48 | -- | ||
49 | 1.7.7.6 | ||
50 | |||