[PATCH] drm/amdgpu: Ignore first evction failure during suspend
xinhui pan
xinhui.pan at amd.com
Fri Sep 8 03:39:52 UTC 2023
Some BOs might be pinned. So the first eviction's failure will abort the
suspend sequence. These pinned BOs will be unpined afterwards during
suspend.
Actaully it has evicted most BOs, so that should stil work fine in sriov
full access mode.
Fixes: 47ea20762bb7 ("drm/amdgpu: Add an extra evict_resource call during device_suspend.")
Signed-off-by: xinhui pan <xinhui.pan at amd.com>
---
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index 5c0e2b766026..39af526cdbbe 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -4148,10 +4148,11 @@ int amdgpu_device_suspend(struct drm_device *dev, bool fbcon)
adev->in_suspend = true;
- /* Evict the majority of BOs before grabbing the full access */
- r = amdgpu_device_evict_resources(adev);
- if (r)
- return r;
+ /* Try to evict the majority of BOs before grabbing the full access
+ * Ignore the ret val at first place as we will unpin some BOs if any
+ * afterwards.
+ */
+ (void)amdgpu_device_evict_resources(adev);
if (amdgpu_sriov_vf(adev)) {
amdgpu_virt_fini_data_exchange(adev);
--
2.34.1
More information about the amd-gfx
mailing list