[PATCH] drm/amdgpu: Move kfd suspend before evict resource
xinhui pan
xinhui.pan at amd.com
Thu Sep 21 03:32:42 UTC 2023
Like amdgpu_device_reset_sriov does, kfd suspend should be called at the
beginning to make sure kfd BO is idle. Otherwise the extra
amdgpu_device_evict_resources fails or amdgpu_virt_request_full_gpu
timeout.
Signed-off-by: xinhui pan <xinhui.pan at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index a084c3c58a32..ef7c7f2b3260 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4148,6 +4148,9 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
adev->in_suspend = true;
+ if (!adev->in_s0ix)
+ amdgpu_amdkfd_suspend(adev, adev->in_runpm);
+
/* Evict the majority of BOs before grabbing the full access */
r = amdgpu_device_evict_resources(adev);
if (r)
@@ -4174,9 +4177,6 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
amdgpu_device_ip_suspend_phase1(adev);
- if (!adev->in_s0ix)
- amdgpu_amdkfd_suspend(adev, adev->in_runpm);
-
r = amdgpu_device_evict_resources(adev);
if (r)
return r;
--
2.34.1
More information about the amd-gfx
mailing list