Skip to content

Commit af817b3

Browse files
Michel Dänzergregkh
authored andcommitted
drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
commit 4349bd775cc8fd75cb648e3a2036a690f497de5c upstream. We were storing viewport relative coordinates for AVIVO/DCE display engines. However, radeon_crtc_cursor_set2 and radeon_cursor_reset pass radeon_crtc->cursor_x/y as the x/y parameters of radeon_cursor_move_locked, which would break if the CRTC isn't located at (0, 0). Cc: stable@vger.kernel.org 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>
1 parent 9205be7 commit af817b3

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

drivers/gpu/drm/radeon/radeon_cursor.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,9 @@ static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y)
146146
int xorigin = 0, yorigin = 0;
147147
int w = radeon_crtc->cursor_width;
148148

149+
radeon_crtc->cursor_x = x;
150+
radeon_crtc->cursor_y = y;
151+
149152
if (ASIC_IS_AVIVO(rdev)) {
150153
/* avivo cursor are offset into the total surface */
151154
x += crtc->x;
@@ -240,9 +243,6 @@ static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y)
240243
yorigin * 256);
241244
}
242245

243-
radeon_crtc->cursor_x = x;
244-
radeon_crtc->cursor_y = y;
245-
246246
if (radeon_crtc->cursor_out_of_bounds) {
247247
radeon_crtc->cursor_out_of_bounds = false;
248248
if (radeon_crtc->cursor_bo)

0 commit comments

Comments
 (0)