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.

Alex

>         adev->mp1_state = PP_MP1_STATE_NONE;
>  }
>
> --
> 2.51.0
>

Reply via email to