Skip to content

Commit

Permalink
drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
Browse files Browse the repository at this point in the history
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: [email protected]
Signed-off-by: Michel Dänzer <[email protected]>
Reviewed-by: Alex Deucher <[email protected]>
Signed-off-by: Alex Deucher <[email protected]>
  • Loading branch information
Michel Dänzer authored and alexdeucher committed Dec 6, 2016
1 parent dcab0fa commit 4349bd7
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions drivers/gpu/drm/radeon/radeon_cursor.c
Original file line number Diff line number Diff line change
Expand Up @@ -143,6 +143,9 @@ static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y)
int xorigin = 0, yorigin = 0;
int w = radeon_crtc->cursor_width;

radeon_crtc->cursor_x = x;
radeon_crtc->cursor_y = y;

if (ASIC_IS_AVIVO(rdev)) {
/* avivo cursor are offset into the total surface */
x += crtc->x;
Expand Down Expand Up @@ -229,9 +232,6 @@ static int radeon_cursor_move_locked(struct drm_crtc *crtc, int x, int y)
yorigin * 256);
}

radeon_crtc->cursor_x = x;
radeon_crtc->cursor_y = y;

return 0;
}

Expand Down

0 comments on commit 4349bd7

Please sign in to comment.