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

'Liviu Dudau' liviu at dudau.co.uk
Sat Dec 17 16:35:09 UTC 2016


On Fri, Dec 16, 2016 at 07:16:25PM +0000, Deucher, Alexander wrote:
> > -----Original Message-----
> > From: Liviu Dudau [mailto:liviu at dudau.co.uk]
> > Sent: Friday, December 16, 2016 2:11 PM
> > To: Daenzer, Michel; Deucher, Alexander
> > Cc: Koenig, Christian; David Airlie; dri-devel at lists.freedesktop.org; amd-
> > gfx at 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 at 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
> 

-- 
-------------------
   .oooO
   (   )
    \ (  Oooo.
     \_) (   )
          ) /
         (_/

 One small step
   for me ...


More information about the amd-gfx mailing list