[PATCH] drm/amdgpu/vcn:Fixed S3 hung issue

Liu, Leo Leo.Liu at amd.com
Tue Dec 4 16:56:45 UTC 2018


Please re-state the patch subject instead of "Fixed S3 hung issue"

With that fixed, the patch is

Reviewed-by: Leo Liu <leo.liu at amd.com>


On 12/4/18 10:31 AM, Zhu, James wrote:
> Replace vcn_v1_0_stop with vcn_v1_0_set_powergating_state during suspend,
> to keep adev->vcn.cur_state update. It will fix VCN S3 hung issue.
>
> Signed-off-by: James Zhu <James.Zhu at amd.com>
> ---
>   drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> index c1a0350..4f83520 100644
> --- a/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v1_0.c
> @@ -48,6 +48,7 @@ static void vcn_v1_0_set_enc_ring_funcs(struct amdgpu_device *adev);
>   static void vcn_v1_0_set_jpeg_ring_funcs(struct amdgpu_device *adev);
>   static void vcn_v1_0_set_irq_funcs(struct amdgpu_device *adev);
>   static void vcn_v1_0_jpeg_ring_set_patch_ring(struct amdgpu_ring *ring, uint32_t ptr);
> +static int vcn_v1_0_set_powergating_state(void *handle, enum amd_powergating_state state);
>   
>   /**
>    * vcn_v1_0_early_init - set function pointers
> @@ -214,7 +215,7 @@ static int vcn_v1_0_hw_fini(void *handle)
>   	struct amdgpu_ring *ring = &adev->vcn.ring_dec;
>   
>   	if (RREG32_SOC15(VCN, 0, mmUVD_STATUS))
> -		vcn_v1_0_stop(adev);
> +		vcn_v1_0_set_powergating_state(adev, AMD_PG_STATE_GATE);
>   
>   	ring->sched.ready = false;
>   


More information about the amd-gfx mailing list