On 10/8/25 10:31 AM, Alex Deucher wrote:
On Thu, Oct 2, 2025 at 1:51 PM Mario Limonciello
<[email protected]> wrote:

[Why]
The shutdown() callback uses amdgpu_ip_suspend() which doesn't notify
drm clients during shutdown.  This could lead to hangs.

[How]
Change amdgpu_pci_shutdown() to call the same sequence as suspend/resume.

Signed-off-by: Mario Limonciello <[email protected]>
---
  drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c 
b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index 4905efa63ddc..e377fbb43e96 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -2558,7 +2558,8 @@ amdgpu_pci_shutdown(struct pci_dev *pdev)
          */
         if (!amdgpu_passthrough(adev))
                 adev->mp1_state = PP_MP1_STATE_UNLOAD;
-       amdgpu_device_ip_suspend(adev);
+       amdgpu_device_prepare(dev);
+       amdgpu_device_suspend(dev, true);

I think we did this before, but users complained that it took longer
to shut down their systems.

That's presumably from the evictions. I think that it should be improved because we now have:

drm/amd: Avoid evicting resources at S5


Alex

         adev->mp1_state = PP_MP1_STATE_NONE;
  }

--
2.51.0


Reply via email to