[PATCH] drm/amdgpu: disable ASPM for legacy products that don't support ASPM

Richard Gong richard.gong at amd.com
Fri Apr 8 15:44:47 UTC 2022


Active State Power Management (ASPM) feature is enabled since kernel 5.14.
However there are some legacy products (WX3200 and RX640 are examples) that
do not support ASPM. Use them as video/display output and system would hang
during suspend/resume.

Add extra check to disable ASPM for old products that don't have
ASPM support.

Signed-off-by: Richard Gong <richard.gong at amd.com>
Link: https://gitlab.freedesktop.org/drm/amd/-/issues/1885
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
index bb1c025d9001..8987107f41ee 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c
@@ -2012,6 +2012,10 @@ static int amdgpu_pci_probe(struct pci_dev *pdev,
 	if (amdgpu_aspm == -1 && !pcie_aspm_enabled(pdev))
 		amdgpu_aspm = 0;
 
+	/* disable ASPM for the legacy products that don't support ASPM */
+	if ((flags & AMD_ASIC_MASK) == CHIP_POLARIS12)
+		amdgpu_aspm = 0;
+
 	if (amdgpu_virtual_display ||
 	    amdgpu_device_asic_has_dc_support(flags & AMD_ASIC_MASK))
 		supports_atomic = true;
-- 
2.25.1



More information about the amd-gfx mailing list