summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
diff options
context:
space:
mode:
authorEvan Quan2017-09-08 07:09:50 +0200
committerAlex Deucher2017-09-12 20:30:21 +0200
commitbcd6eab837fc9db67292c1d071ce2d96bb9689be (patch)
tree7720e070aa21a2c8ca356b93f11c34ef37cf4320 /drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
parentdrm/amdgpu: added api for stopping psp ring (v2) (diff)
downloadkernel-qcow2-linux-bcd6eab837fc9db67292c1d071ce2d96bb9689be.tar.gz
kernel-qcow2-linux-bcd6eab837fc9db67292c1d071ce2d96bb9689be.tar.xz
kernel-qcow2-linux-bcd6eab837fc9db67292c1d071ce2d96bb9689be.zip
drm/amdgpu: stop psp ring on suspend
Otherwise, the ring will fail to create on next resume. Signed-off-by: Evan Quan <evan.quan@amd.com> Reviewed-by: Junwei Zhang <Jerry.Zhang@amd.com> Acked-by: Christian König <christian.koenig@amd.com> Reviewed-by: Huang Rui <ray.huang@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
index abd20819ba6b..0d530524ab21 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_psp.c
@@ -455,6 +455,16 @@ static int psp_hw_fini(void *handle)
static int psp_suspend(void *handle)
{
+ int ret;
+ struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+ struct psp_context *psp = &adev->psp;
+
+ ret = psp_ring_stop(psp, PSP_RING_TYPE__KM);
+ if (ret) {
+ DRM_ERROR("PSP ring stop failed\n");
+ return ret;
+ }
+
return 0;
}