drm/amdgpu: Don't save new cursor size before updating CUR_SIZE register.

Submitted by Liviu Dudau on Dec. 16, 2016, 7:11 p.m.

Details

Message ID 20161216191118.2338-1-liviu@dudau.co.uk
State New
Headers show
Series "drm/amdgpu: Don't save new cursor size before updating CUR_SIZE register." ( rev: 1 ) in AMD X.Org drivers

Not browsing as part of any series.

Commit Message

Liviu Dudau Dec. 16, 2016, 7:11 p.m.
Commit 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register when
necessary") did not cleanup correctly the old code for DCE v6 and v8.
As a consequence, cursor updates stopped working for my Radeon R9 1002:67b0
dual-monitor setup.

Fixes: 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register when necessary")
Signed-off-by: Liviu Dudau <liviu@dudau.co.uk>
---
 drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 6 +-----
 drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 --
 2 files changed, 1 insertion(+), 7 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
index e564442..b4e4ec6 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
@@ -1944,9 +1944,7 @@  static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
 
 	dce_v6_0_lock_cursor(crtc, true);
 
-	if (width != amdgpu_crtc->cursor_width ||
-	    height != amdgpu_crtc->cursor_height ||
-	    hot_x != amdgpu_crtc->cursor_hot_x ||
+	if (hot_x != amdgpu_crtc->cursor_hot_x ||
 	    hot_y != amdgpu_crtc->cursor_hot_y) {
 		int x, y;
 
@@ -1955,8 +1953,6 @@  static int dce_v6_0_crtc_cursor_set2(struct drm_crtc *crtc,
 
 		dce_v6_0_cursor_move_locked(crtc, x, y);
 
-		amdgpu_crtc->cursor_width = width;
-		amdgpu_crtc->cursor_height = height;
 		amdgpu_crtc->cursor_hot_x = hot_x;
 		amdgpu_crtc->cursor_hot_y = hot_y;
 	}
diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
index 6ce7fb4..584abe8 100644
--- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
@@ -2438,8 +2438,6 @@  static int dce_v8_0_crtc_cursor_set2(struct drm_crtc *crtc,
 
 		dce_v8_0_cursor_move_locked(crtc, x, y);
 
-		amdgpu_crtc->cursor_width = width;
-		amdgpu_crtc->cursor_height = height;
 		amdgpu_crtc->cursor_hot_x = hot_x;
 		amdgpu_crtc->cursor_hot_y = hot_y;
 	}

Comments

On Fri, Dec 16, 2016 at 07:16:25PM +0000, Deucher, Alexander wrote:
> > -----Original Message-----
> > From: Liviu Dudau [mailto:liviu@dudau.co.uk]
> > Sent: Friday, December 16, 2016 2:11 PM
> > To: Daenzer, Michel; Deucher, Alexander
> > Cc: Koenig, Christian; David Airlie; dri-devel@lists.freedesktop.org; amd-
> > gfx@lists.freedesktop.org; Liviu Dudau
> > Subject: [PATCH] drm/amdgpu: Don't save new cursor size before updating
> > CUR_SIZE register.
> > 
> > Commit 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register
> > when
> > necessary") did not cleanup correctly the old code for DCE v6 and v8.
> > As a consequence, cursor updates stopped working for my Radeon R9
> > 1002:67b0
> > dual-monitor setup.
> > 
> > Fixes: 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register
> > when necessary")
> > Signed-off-by: Liviu Dudau <liviu@dudau.co.uk>
> 
> Already fixed:
> https://lists.freedesktop.org/archives/amd-gfx/2016-December/003985.html

Sorry, I've only checked the dri-devel list, I've only noticed there is an
amd-gfx one while preparing the patch for sending.

> and queued for fixes:
> https://cgit.freedesktop.org/~agd5f/linux/commit/?h=drm-next-4.10-wip&id=837b2d51a5847584fe64aebbc94ef8b7ae59fd87

Cool, thanks!

Best regards,
Liviu

> 
> Alex
> 
> > ---
> >  drivers/gpu/drm/amd/amdgpu/dce_v6_0.c | 6 +-----
> >  drivers/gpu/drm/amd/amdgpu/dce_v8_0.c | 2 --
> >  2 files changed, 1 insertion(+), 7 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> > b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> > index e564442..b4e4ec6 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v6_0.c
> > @@ -1944,9 +1944,7 @@ static int dce_v6_0_crtc_cursor_set2(struct
> > drm_crtc *crtc,
> > 
> >  	dce_v6_0_lock_cursor(crtc, true);
> > 
> > -	if (width != amdgpu_crtc->cursor_width ||
> > -	    height != amdgpu_crtc->cursor_height ||
> > -	    hot_x != amdgpu_crtc->cursor_hot_x ||
> > +	if (hot_x != amdgpu_crtc->cursor_hot_x ||
> >  	    hot_y != amdgpu_crtc->cursor_hot_y) {
> >  		int x, y;
> > 
> > @@ -1955,8 +1953,6 @@ static int dce_v6_0_crtc_cursor_set2(struct
> > drm_crtc *crtc,
> > 
> >  		dce_v6_0_cursor_move_locked(crtc, x, y);
> > 
> > -		amdgpu_crtc->cursor_width = width;
> > -		amdgpu_crtc->cursor_height = height;
> >  		amdgpu_crtc->cursor_hot_x = hot_x;
> >  		amdgpu_crtc->cursor_hot_y = hot_y;
> >  	}
> > diff --git a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> > b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> > index 6ce7fb4..584abe8 100644
> > --- a/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> > +++ b/drivers/gpu/drm/amd/amdgpu/dce_v8_0.c
> > @@ -2438,8 +2438,6 @@ static int dce_v8_0_crtc_cursor_set2(struct
> > drm_crtc *crtc,
> > 
> >  		dce_v8_0_cursor_move_locked(crtc, x, y);
> > 
> > -		amdgpu_crtc->cursor_width = width;
> > -		amdgpu_crtc->cursor_height = height;
> >  		amdgpu_crtc->cursor_hot_x = hot_x;
> >  		amdgpu_crtc->cursor_hot_y = hot_y;
> >  	}
> > --
> > 2.10.2
>
On Sat, Dec 17, 2016 at 04:35:09PM +0000, 'Liviu Dudau' wrote:
> On Fri, Dec 16, 2016 at 07:16:25PM +0000, Deucher, Alexander wrote:
> > > -----Original Message-----
> > > From: Liviu Dudau [mailto:liviu@dudau.co.uk]
> > > Sent: Friday, December 16, 2016 2:11 PM
> > > To: Daenzer, Michel; Deucher, Alexander
> > > Cc: Koenig, Christian; David Airlie; dri-devel@lists.freedesktop.org; amd-
> > > gfx@lists.freedesktop.org; Liviu Dudau
> > > Subject: [PATCH] drm/amdgpu: Don't save new cursor size before updating
> > > CUR_SIZE register.
> > > 
> > > Commit 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register
> > > when
> > > necessary") did not cleanup correctly the old code for DCE v6 and v8.
> > > As a consequence, cursor updates stopped working for my Radeon R9
> > > 1002:67b0
> > > dual-monitor setup.
> > > 
> > > Fixes: 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register
> > > when necessary")
> > > Signed-off-by: Liviu Dudau <liviu@dudau.co.uk>
> > 
> > Already fixed:
> > https://lists.freedesktop.org/archives/amd-gfx/2016-December/003985.html
> 
> Sorry, I've only checked the dri-devel list, I've only noticed there is an
> amd-gfx one while preparing the patch for sending.

Hm yeah, MAINTAINERS is not updated to include the new list. Alex, can you
pls fix that?
-Daniel
On Sun, Dec 18, 2016 at 8:46 AM, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Sat, Dec 17, 2016 at 04:35:09PM +0000, 'Liviu Dudau' wrote:
>> On Fri, Dec 16, 2016 at 07:16:25PM +0000, Deucher, Alexander wrote:
>> > > -----Original Message-----
>> > > From: Liviu Dudau [mailto:liviu@dudau.co.uk]
>> > > Sent: Friday, December 16, 2016 2:11 PM
>> > > To: Daenzer, Michel; Deucher, Alexander
>> > > Cc: Koenig, Christian; David Airlie; dri-devel@lists.freedesktop.org; amd-
>> > > gfx@lists.freedesktop.org; Liviu Dudau
>> > > Subject: [PATCH] drm/amdgpu: Don't save new cursor size before updating
>> > > CUR_SIZE register.
>> > >
>> > > Commit 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register
>> > > when
>> > > necessary") did not cleanup correctly the old code for DCE v6 and v8.
>> > > As a consequence, cursor updates stopped working for my Radeon R9
>> > > 1002:67b0
>> > > dual-monitor setup.
>> > >
>> > > Fixes: 7c83d7abc999 ("drm/amdgpu: Only update the CUR_SIZE register
>> > > when necessary")
>> > > Signed-off-by: Liviu Dudau <liviu@dudau.co.uk>
>> >
>> > Already fixed:
>> > https://lists.freedesktop.org/archives/amd-gfx/2016-December/003985.html
>>
>> Sorry, I've only checked the dri-devel list, I've only noticed there is an
>> amd-gfx one while preparing the patch for sending.
>
> Hm yeah, MAINTAINERS is not updated to include the new list. Alex, can you
> pls fix that?

Patch on the way.

Alex