summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
diff options
context:
space:
mode:
authorJingwen Chen <Jingwen.Chen2@amd.com>2021-03-05 09:06:34 +0300
committerAlex Deucher <alexander.deucher@amd.com>2021-03-05 23:12:29 +0300
commit3c73683c2394891ef3076718fbdba162040bedf1 (patch)
tree082c148f78033e8daf5a6cb42f5443aa888cb7ef /drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
parent8f211fe8ac7c4f334ef5b38d32228cc7eb2a1643 (diff)
downloadlinux-3c73683c2394891ef3076718fbdba162040bedf1.tar.xz
drm/amd/amdgpu: add fini virt data exchange to ip_suspend
[Why] when try to shutdown guest vm in sriov mode, virt data exchange is not fini. After vram lost, trying to write vram could hang cpu. [How] add fini virt data exchange in ip_suspend Signed-off-by: Jingwen Chen <Jingwen.Chen2@amd.com> Reviewed-by: Jack Zhang <Jack.Zhang1@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_device.c')
-rw-r--r--drivers/gpu/drm/amd/amdgpu/amdgpu_device.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 9269a19332eb..b79210db293a 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -2776,8 +2776,10 @@ int amdgpu_device_ip_suspend(struct amdgpu_device *adev)
{
int r;
- if (amdgpu_sriov_vf(adev))
+ if (amdgpu_sriov_vf(adev)) {
+ amdgpu_virt_fini_data_exchange(adev);
amdgpu_virt_request_full_gpu(adev, false);
+ }
r = amdgpu_device_ip_suspend_phase1(adev);
if (r)