| From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com> |
| Date: Wed, 15 Feb 2017 11:28:45 +0900 |
| Subject: drm/radeon: Use mode h/vdisplay fields to hide out of bounds HW |
| cursor |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| commit d74c67dd7800fc7aae381f272875c337f268806c upstream. |
| |
| The crtc_h/vdisplay fields may not match the CRTC viewport dimensions |
| with special modes such as interlaced ones. |
| |
| Fixes the HW cursor disappearing in the bottom half of the screen with |
| interlaced modes. |
| |
| Fixes: 6b16cf7785a4 ("drm/radeon: Hide the HW cursor while it's out of bounds") |
| Reported-by: Ashutosh Kumar <ashutosh.kumar@amd.com> |
| Tested-by: Sonny Jiang <sonny.jiang@amd.com> |
| Reviewed-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Michel Dรคnzer <michel.daenzer@amd.com> |
| Signed-off-by: Alex Deucher <alexander.deucher@amd.com> |
| Signed-off-by: Ben Hutchings <ben@decadent.org.uk> |
| --- |
| drivers/gpu/drm/radeon/radeon_cursor.c | 4 ++-- |
| 1 file changed, 2 insertions(+), 2 deletions(-) |
| |
| --- a/drivers/gpu/drm/radeon/radeon_cursor.c |
| +++ b/drivers/gpu/drm/radeon/radeon_cursor.c |
| @@ -282,8 +282,8 @@ int radeon_crtc_cursor_move(struct drm_c |
| } |
| |
| if (x <= (crtc->x - w) || y <= (crtc->y - radeon_crtc->cursor_height) || |
| - x >= (crtc->x + crtc->mode.crtc_hdisplay) || |
| - y >= (crtc->y + crtc->mode.crtc_vdisplay)) |
| + x >= (crtc->x + crtc->mode.hdisplay) || |
| + y >= (crtc->y + crtc->mode.vdisplay)) |
| goto out_of_bounds; |
| |
| x += xorigin; |