stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
@ 2017-01-10  6:40 Michel Dänzer
  2017-01-10 10:02 ` Greg KH
  0 siblings, 1 reply; 2+ messages in thread
From: Michel Dänzer @ 2017-01-10  6:40 UTC (permalink / raw)
  To: stable

From: Michel Dänzer <michel.daenzer@amd.com>

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>
---

This is a backport for the 4.9 and possibly older stable branches.

BTW, this manual backport shouldn't have been necessary if this commit
and surrounding commits to the same file had been cherry-picked in the
same order as they are in mainline. Maybe any scripts used for that
could be improved accordingly.

 drivers/gpu/drm/radeon/radeon_cursor.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_cursor.c b/drivers/gpu/drm/radeon/radeon_cursor.c
index 87a72476d313..fb16070b266e 100644
--- a/drivers/gpu/drm/radeon/radeon_cursor.c
+++ b/drivers/gpu/drm/radeon/radeon_cursor.c
@@ -146,6 +146,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;
@@ -240,9 +243,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;
-
 	if (radeon_crtc->cursor_out_of_bounds) {
 		radeon_crtc->cursor_out_of_bounds = false;
 		if (radeon_crtc->cursor_bo)
-- 
2.11.0


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values
  2017-01-10  6:40 [PATCH] drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values Michel Dänzer
@ 2017-01-10 10:02 ` Greg KH
  0 siblings, 0 replies; 2+ messages in thread
From: Greg KH @ 2017-01-10 10:02 UTC (permalink / raw)
  To: Michel Dänzer; +Cc: stable

On Tue, Jan 10, 2017 at 03:40:12PM +0900, Michel D�nzer wrote:
> From: Michel D�nzer <michel.daenzer@amd.com>
> 
> 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>
> ---
> 
> This is a backport for the 4.9 and possibly older stable branches.
> 
> BTW, this manual backport shouldn't have been necessary if this commit
> and surrounding commits to the same file had been cherry-picked in the
> same order as they are in mainline. Maybe any scripts used for that
> could be improved accordingly.

Sorry about that, normally I work off of the patch date in order to
determine the order, but sometimes get it wrong, as is the case here, my
fault.

Many thanks for the backport, now queued up.

greg k-h

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2017-01-10 10:02 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-01-10  6:40 [PATCH] drm/radeon: Always store CRTC relative radeon_crtc->cursor_x/y values Michel Dänzer
2017-01-10 10:02 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).