linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2] drm/radeon: Fix EEH during kexec
@ 2019-07-31 22:10 KyleMahlkuch
  2019-08-01 18:48 ` Alex Deucher
  0 siblings, 1 reply; 2+ messages in thread
From: KyleMahlkuch @ 2019-07-31 22:10 UTC (permalink / raw)
  Cc: alexander.deucher, christian.koenig, David1.Zhou, amd-gfx,
	linux-kernel, KyleMahlkuch

During kexec some adapters hit an EEH since they are not properly
shut down in the radeon_pci_shutdown() function. Adding
radeon_suspend_kms() fixes this issue.

Signed-off-by: Kyle Mahlkuch <Kyle.Mahlkuch at ibm.com>
---
 drivers/gpu/drm/radeon/radeon_drv.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
index a6cbe11..15d7beb 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.c
+++ b/drivers/gpu/drm/radeon/radeon_drv.c
@@ -349,11 +349,19 @@ static int radeon_pci_probe(struct pci_dev *pdev,
 static void
 radeon_pci_shutdown(struct pci_dev *pdev)
 {
+	struct drm_device *ddev = pci_get_drvdata(pdev);
+
 	/* if we are running in a VM, make sure the device
 	 * torn down properly on reboot/shutdown
 	 */
 	if (radeon_device_is_virtual())
 		radeon_pci_remove(pdev);
+
+	/* Some adapters need to be suspended before a
+	* shutdown occurs in order to prevent an error
+	* during kexec.
+	*/
+	radeon_suspend_kms(ddev, true, true, false);
 }
 
 static int radeon_pmops_suspend(struct device *dev)
-- 
1.8.3.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH v2] drm/radeon: Fix EEH during kexec
  2019-07-31 22:10 [PATCH v2] drm/radeon: Fix EEH during kexec KyleMahlkuch
@ 2019-08-01 18:48 ` Alex Deucher
  0 siblings, 0 replies; 2+ messages in thread
From: Alex Deucher @ 2019-08-01 18:48 UTC (permalink / raw)
  To: KyleMahlkuch
  Cc: Chunming Zhou, LKML, amd-gfx list, Deucher, Alexander, Christian Koenig

On Thu, Aug 1, 2019 at 2:01 PM KyleMahlkuch <kmahlkuc@linux.vnet.ibm.com> wrote:
>
> During kexec some adapters hit an EEH since they are not properly
> shut down in the radeon_pci_shutdown() function. Adding
> radeon_suspend_kms() fixes this issue.
>
> Signed-off-by: Kyle Mahlkuch <Kyle.Mahlkuch at ibm.com>

Applied.  thanks!

Alex

> ---
>  drivers/gpu/drm/radeon/radeon_drv.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c
> index a6cbe11..15d7beb 100644
> --- a/drivers/gpu/drm/radeon/radeon_drv.c
> +++ b/drivers/gpu/drm/radeon/radeon_drv.c
> @@ -349,11 +349,19 @@ static int radeon_pci_probe(struct pci_dev *pdev,
>  static void
>  radeon_pci_shutdown(struct pci_dev *pdev)
>  {
> +       struct drm_device *ddev = pci_get_drvdata(pdev);
> +
>         /* if we are running in a VM, make sure the device
>          * torn down properly on reboot/shutdown
>          */
>         if (radeon_device_is_virtual())
>                 radeon_pci_remove(pdev);
> +
> +       /* Some adapters need to be suspended before a
> +       * shutdown occurs in order to prevent an error
> +       * during kexec.
> +       */
> +       radeon_suspend_kms(ddev, true, true, false);
>  }
>
>  static int radeon_pmops_suspend(struct device *dev)
> --
> 1.8.3.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2019-08-01 18:48 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-31 22:10 [PATCH v2] drm/radeon: Fix EEH during kexec KyleMahlkuch
2019-08-01 18:48 ` Alex Deucher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).