Re: [PATCH] drm/radeon: Always call radeon_suspend_kms() in radeon_pci_shutdown()

From: Christian König
Date: Mon Jun 07 2021 - 08:30:29 EST


Am 07.06.21 um 14:27 schrieb Tiezhu Yang:
radeon_suspend_kms() puts the hw in the suspend state (all asics),
it should always call radeon_suspend_kms() in radeon_pci_shutdown(),
this is a normal cleanup process to avoid more operations on radeon,
just remove #ifdef CONFIG_PPC64 and the related comments.

Well NAK.

Alex knows more about the details but suspending should not be part of the pci shotdown process at all.

We just add that here to enforce a GPU reset on PPC64 boards for some reason.

Regards,
Christian.


Co-developed-by: Jianmin Lv <lvjianmin@xxxxxxxxxxx>
Signed-off-by: Jianmin Lv <lvjianmin@xxxxxxxxxxx>
Signed-off-by: Tiezhu Yang <yangtiezhu@xxxxxxxxxxx>
---
drivers/gpu/drm/radeon/radeon_drv.c | 9 ---------
1 file changed, 9 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index efeb115..0b1f43d 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -386,16 +386,7 @@ radeon_pci_shutdown(struct pci_dev *pdev)
if (radeon_device_is_virtual())
radeon_pci_remove(pdev);
-#ifdef CONFIG_PPC64
- /*
- * Some adapters need to be suspended before a
- * shutdown occurs in order to prevent an error
- * during kexec.
- * Make this power specific becauase it breaks
- * some non-power boards.
- */
radeon_suspend_kms(pci_get_drvdata(pdev), true, true, false);
-#endif
}
static int radeon_pmops_suspend(struct device *dev)