]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amdgpu: Disable PCIe dynamic speed switching on Ryzen Pinnacle Ridge
authorMario Limonciello <mario.limonciello@amd.com>
Thu, 9 Jul 2026 03:15:20 +0000 (22:15 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 17 Jul 2026 21:40:31 +0000 (17:40 -0400)
AMD Ryzen Pinnacle Ridge (Zen+, family 0x17 model 0x08) CPUs have
PCI controllers that don't support PCIe dynamic speed switching,
causing system freezes during GPU initialization when enabled.

Disable dynamic speed switching when this CPU is detected.

Assisted-by: Claude:sonnet
Fixes: 466a7d115326 ("drm/amd: Use the first non-dGPU PCI device for BW limits")
Closes: https://gitlab.freedesktop.org/drm/amd/-/work_items/5436
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Link: https://patch.msgid.link/20260709031520.841611-1-mario.limonciello@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit 9ceb4e034a327a04155f32f1cd1a5031dfa5fe02)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/amdgpu/amdgpu_device.c

index 53335ca96b1d614a3aca04597714293fc48dea8b..e5f26e5892bac758e0bf870d292066fb974bdc93 100644 (file)
@@ -1323,6 +1323,15 @@ static bool amdgpu_device_pcie_dynamic_switching_supported(struct amdgpu_device
 
        if (c->x86_vendor == X86_VENDOR_INTEL)
                return false;
+
+       /*
+        * AMD Ryzen Pinnacle Ridge (Zen+, family 0x17 model 0x08) CPUs don't
+        * support PCIe dynamic speed switching.
+        * https://gitlab.freedesktop.org/drm/amd/-/work_items/5436
+        */
+       if (c->x86_vendor == X86_VENDOR_AMD && c->x86 == 0x17 &&
+           c->x86_model == 0x08)
+               return false;
 #endif
        return true;
 }