[PATCH] drm/amdgpu: Don't save new cursor size before updating CUR_SIZE register.
Deucher, Alexander
Alexander.Deucher at amd.com
Fri Dec 16 19:16:25 UTC 2016
> -----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
and queued for fixes:
https://cgit.freedesktop.org/~agd5f/linux/commit/?h=drm-next-4.10-wip&id=837b2d51a5847584fe64aebbc94ef8b7ae59fd87
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
More information about the dri-devel
mailing list