[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