From: James Zhu Date: Wed, 19 May 2021 15:26:32 +0000 (-0400) Subject: drm/amdgpu/vcn2.0: add cancel_delayed_work_sync before power gate X-Git-Tag: v5.4.124~145 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f0780e96a6e2897114feaa699b93a9b67906f567;p=thirdparty%2Fkernel%2Fstable.git drm/amdgpu/vcn2.0: add cancel_delayed_work_sync before power gate commit 0c6013377b4027e69d8f3e63b6bf556b6cb87802 upstream. Add cancel_delayed_work_sync before set power gating state to avoid race condition issue when power gating. Signed-off-by: James Zhu Reviewed-by: Leo Liu Acked-by: Christian König Signed-off-by: Alex Deucher Cc: stable@vger.kernel.org Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c index cd2cbe760e883..82327ee96f953 100644 --- a/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c +++ b/drivers/gpu/drm/amd/amdgpu/vcn_v2_0.c @@ -293,6 +293,8 @@ static int vcn_v2_0_hw_fini(void *handle) struct amdgpu_ring *ring = &adev->vcn.inst->ring_dec; int i; + cancel_delayed_work_sync(&adev->vcn.idle_work); + if ((adev->pg_flags & AMD_PG_SUPPORT_VCN_DPG) || (adev->vcn.cur_state != AMD_PG_STATE_GATE && RREG32_SOC15(VCN, 0, mmUVD_STATUS)))