]> git.itanic.dy.fi Git - linux-stable/commitdiff
drm/radeon: Also call cursor_move_locked when the cursor size changes
authorMichel Dänzer <michel.daenzer@amd.com>
Thu, 27 Oct 2016 04:03:23 +0000 (13:03 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 9 Jan 2017 07:32:20 +0000 (08:32 +0100)
commit dcab0fa64e300afa18f39cd98d05e0950f652adf upstream.

The cursor size also affects the register programming.

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/gpu/drm/radeon/radeon_cursor.c

index 2a10e24b34b10b2f826e35c60556808efb2ebe2e..99a1c8e4c7be18ee5dd2db06b55dabee247e3a49 100644 (file)
@@ -297,12 +297,11 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
                return ret;
        }
 
-       radeon_crtc->cursor_width = width;
-       radeon_crtc->cursor_height = height;
-
        radeon_lock_cursor(crtc, true);
 
-       if (hot_x != radeon_crtc->cursor_hot_x ||
+       if (width != radeon_crtc->cursor_width ||
+           height != radeon_crtc->cursor_height ||
+           hot_x != radeon_crtc->cursor_hot_x ||
            hot_y != radeon_crtc->cursor_hot_y) {
                int x, y;
 
@@ -311,6 +310,8 @@ int radeon_crtc_cursor_set2(struct drm_crtc *crtc,
 
                radeon_cursor_move_locked(crtc, x, y);
 
+               radeon_crtc->cursor_width = width;
+               radeon_crtc->cursor_height = height;
                radeon_crtc->cursor_hot_x = hot_x;
                radeon_crtc->cursor_hot_y = hot_y;
        }