All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rosen Penev <rosenp@gmail.com>
To: stable@vger.kernel.org
Cc: "Alex Deucher" <alexander.deucher@amd.com>,
	"Christian König" <christian.koenig@amd.com>,
	"Xinhui Pan" <Xinhui.Pan@amd.com>,
	"David Airlie" <airlied@gmail.com>,
	"Simona Vetter" <simona@ffwll.ch>,
	"Harry Wentland" <harry.wentland@amd.com>,
	"Leo Li" <sunpeng.li@amd.com>,
	"Rodrigo Siqueira" <Rodrigo.Siqueira@amd.com>,
	"Ray Wu" <ray.wu@amd.com>, "Wayne Lin" <wayne.lin@amd.com>,
	"Mario Limonciello" <Mario.Limonciello@amd.com>,
	"Roman Li" <Roman.Li@amd.com>, "Eric Yang" <Eric.Yang2@amd.com>,
	"Tony Cheng" <Tony.Cheng@amd.com>,
	"Mauro Rossi" <issor.oruam@gmail.com>,
	"Timur Kristóf" <timur.kristof@gmail.com>,
	"Alex Hung" <alex.hung@amd.com>,
	amd-gfx@lists.freedesktop.org (open list:RADEON and AMDGPU DRM
	DRIVERS), dri-devel@lists.freedesktop.org (open list:DRM DRIVERS),
	linux-kernel@vger.kernel.org (open list)
Subject: [PATCHv2 for 6.12 02/10] drm/amd/amdgpu: disable ASPM in some situations
Date: Tue, 31 Mar 2026 17:39:00 -0700	[thread overview]
Message-ID: <20260401003908.3438-3-rosenp@gmail.com> (raw)
In-Reply-To: <20260401003908.3438-1-rosenp@gmail.com>

From: Kenneth Feng <kenneth.feng@amd.com>

[ Upstream commit c770ef19673fb1defcbde2ee2b91c3c89bfcf164 ]

disable ASPM with some ASICs on some specific platforms.
required from PCIe controller owner.

Signed-off-by: Kenneth Feng <kenneth.feng@amd.com>
Reviewed-by: Yang Wang <kevinyang.wang@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rosen Penev <rosenp@gmail.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_device.c | 32 ++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
index dbee43c58741..eb3c6bfe2e6c 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_device.c
@@ -84,6 +84,7 @@
 
 #if IS_ENABLED(CONFIG_X86)
 #include <asm/intel-family.h>
+#include <asm/cpu_device_id.h>
 #endif
 
 MODULE_FIRMWARE("amdgpu/vega10_gpu_info.bin");
@@ -1758,6 +1759,35 @@ static bool amdgpu_device_pcie_dynamic_switching_supported(struct amdgpu_device
 	return true;
 }
 
+static bool amdgpu_device_aspm_support_quirk(struct amdgpu_device *adev)
+{
+#if IS_ENABLED(CONFIG_X86)
+	struct cpuinfo_x86 *c = &cpu_data(0);
+
+	if (!(amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(12, 0, 0) ||
+		  amdgpu_ip_version(adev, GC_HWIP, 0) == IP_VERSION(12, 0, 1)))
+		return false;
+
+	if (c->x86 == 6 &&
+		adev->pm.pcie_gen_mask & CAIL_PCIE_LINK_SPEED_SUPPORT_GEN5) {
+		switch (c->x86_model) {
+		case VFM_MODEL(INTEL_ALDERLAKE):
+		case VFM_MODEL(INTEL_ALDERLAKE_L):
+		case VFM_MODEL(INTEL_RAPTORLAKE):
+		case VFM_MODEL(INTEL_RAPTORLAKE_P):
+		case VFM_MODEL(INTEL_RAPTORLAKE_S):
+			return true;
+		default:
+			return false;
+		}
+	} else {
+		return false;
+	}
+#else
+	return false;
+#endif
+}
+
 /**
  * amdgpu_device_should_use_aspm - check if the device should program ASPM
  *
@@ -1782,6 +1812,8 @@ bool amdgpu_device_should_use_aspm(struct amdgpu_device *adev)
 	}
 	if (adev->flags & AMD_IS_APU)
 		return false;
+	if (amdgpu_device_aspm_support_quirk(adev))
+		return false;
 	return pcie_aspm_enabled(adev->pdev);
 }
 
-- 
2.53.0


  parent reply	other threads:[~2026-04-01 18:19 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-01  0:38 [PATCHv2 for 6.12 00/10] drm: amdgpu: backport suspend fixes for CI Rosen Penev
2026-04-01  0:38 ` [PATCHv2 for 6.12 01/10] drm/amd/amdgpu: decouple ASPM with pcie dpm Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/amdgpu: decouple ASPM with pcie dpm" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` Rosen Penev [this message]
2026-04-08 13:07   ` Patch "drm/amd/amdgpu: disable ASPM in some situations" " gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 03/10] drm/amd/display: Disable fastboot on DCE 6 too Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Disable fastboot on DCE 6 too" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 04/10] drm/amd/display: Reject modes with too high pixel clock on DCE6-10 Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Reject modes with too high pixel clock on DCE6-10" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 05/10] drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4 Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Keep PLL0 running on DCE 6.0 and 6.4" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 06/10] drm/amd/display: Fix DCE 6.0 and 6.4 PLL programming Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Fix DCE 6.0 and 6.4 PLL programming." has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 07/10] drm/amd/display: Adjust DCE 8-10 clock, don't overclock by 15% Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Adjust DCE 8-10 clock, don't overclock by 15%" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 08/10] drm/amd/display: Disable scaling on DCE6 for now Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Disable scaling on DCE6 for now" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 09/10] drm/amd: Disable ASPM on SI Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd: Disable ASPM on SI" has been added to the 6.12-stable tree gregkh
2026-04-01  0:39 ` [PATCHv2 for 6.12 10/10] drm/amd/display: Correct logic check error for fastboot Rosen Penev
2026-04-08 13:07   ` Patch "drm/amd/display: Correct logic check error for fastboot" has been added to the 6.12-stable tree gregkh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260401003908.3438-3-rosenp@gmail.com \
    --to=rosenp@gmail.com \
    --cc=Eric.Yang2@amd.com \
    --cc=Mario.Limonciello@amd.com \
    --cc=Rodrigo.Siqueira@amd.com \
    --cc=Roman.Li@amd.com \
    --cc=Tony.Cheng@amd.com \
    --cc=Xinhui.Pan@amd.com \
    --cc=airlied@gmail.com \
    --cc=alex.hung@amd.com \
    --cc=alexander.deucher@amd.com \
    --cc=amd-gfx@lists.freedesktop.org \
    --cc=christian.koenig@amd.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=harry.wentland@amd.com \
    --cc=issor.oruam@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=ray.wu@amd.com \
    --cc=simona@ffwll.ch \
    --cc=stable@vger.kernel.org \
    --cc=sunpeng.li@amd.com \
    --cc=timur.kristof@gmail.com \
    --cc=wayne.lin@amd.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.