Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

drm/amdgpu: fix the UVD suspend sequence order

Fixes suspend issues with UVD.

Signed-off-by: Leo Liu <leo.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Cc: stable@vger.kernel.org

authored by

Leo Liu and committed by
Alex Deucher
2bd188d0 5146419e

+6 -6
+2 -2
drivers/gpu/drm/amd/amdgpu/uvd_v4_2.c
··· 224 224 int r; 225 225 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 226 226 227 - r = uvd_v4_2_hw_fini(adev); 227 + r = amdgpu_uvd_suspend(adev); 228 228 if (r) 229 229 return r; 230 230 231 - r = amdgpu_uvd_suspend(adev); 231 + r = uvd_v4_2_hw_fini(adev); 232 232 if (r) 233 233 return r; 234 234
+2 -2
drivers/gpu/drm/amd/amdgpu/uvd_v5_0.c
··· 220 220 int r; 221 221 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 222 222 223 - r = uvd_v5_0_hw_fini(adev); 223 + r = amdgpu_uvd_suspend(adev); 224 224 if (r) 225 225 return r; 226 226 227 - r = amdgpu_uvd_suspend(adev); 227 + r = uvd_v5_0_hw_fini(adev); 228 228 if (r) 229 229 return r; 230 230
+2 -2
drivers/gpu/drm/amd/amdgpu/uvd_v6_0.c
··· 214 214 int r; 215 215 struct amdgpu_device *adev = (struct amdgpu_device *)handle; 216 216 217 - r = uvd_v6_0_hw_fini(adev); 217 + r = amdgpu_uvd_suspend(adev); 218 218 if (r) 219 219 return r; 220 220 221 - r = amdgpu_uvd_suspend(adev); 221 + r = uvd_v6_0_hw_fini(adev); 222 222 if (r) 223 223 return r; 224 224