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