Am 05.12.22 um 09:47 schrieb Shikang Fan:
- There is no need to evict resources from vram to sram for sriov
because GPU is still powered on. And evicet is taking too much time
that would cause full access mode timedout in multi-vf mode.
Well big NAK to this!
The suspend is usually done to migrating the virtual machine to a
different hw instance. Because of this the content of VRAM is usually
destroyed.
Regards,
Christian.
Signed-off-by: Shikang Fan <shikang.fan@xxxxxxx>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 818fa72c670d..55fe425fbe6d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4135,9 +4135,11 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
if (!adev->in_s0ix)
amdgpu_amdkfd_suspend(adev, adev->in_runpm);
- r = amdgpu_device_evict_resources(adev);
- if (r)
- return r;
+ if (!amdgpu_sriov_vf(adev)) {
+ r = amdgpu_device_evict_resources(adev);
+ if (r)
+ return r;
+ }
amdgpu_fence_driver_hw_fini(adev);