]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/amd/pm/ci: Don't disable MCLK DPM on Bonaire 0x6658 (R7 260X)
authorTimur Kristóf <timur.kristof@gmail.com>
Mon, 13 Jul 2026 06:14:43 +0000 (08:14 +0200)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 17 Jul 2026 21:39:44 +0000 (17:39 -0400)
The old radeon driver has a documented workaround in ci_dpm.c
which claims that Bonaire 0x6658 with old memory controller
firmware is unstable with MCLK DPM, so as a precaution I
disabled MCLK DPM on this ASIC in amdgpu.

Note that the old MC firmware is not actually used with
amdgpu, but in theory it's possible that the VBIOS sets
up the ASIC with an old MC firmware that is already running
when amdgpu initializes (in which case amdgpu doesn't
load its own firmware).

What I expected to happen is that the GPU would simply use
its maximum memory clock, and indeed this is what seemed
to happen according to amdgpu_pm_info which reads the
current MCLK value from the SMU.
However, some users reported a huge perf regression
and upon a closer look it seems that the GPU seems to
not actually use the highest MCLK value, despite the SMU
reporting that it does.

Let's not disable MCLK DPM on Bonaire 0x6658 (R7 260X).

Keep MCLK DPM disabled on R9 M380 in the 2015 iMac
because that still hangs if we enable it.

Fixes: 9851f29cb06c ("drm/amd/pm/ci: Disable MCLK DPM on problematic CI ASICs")
Signed-off-by: Timur Kristóf <timur.kristof@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
(cherry picked from commit d34acad064ee7d82bd18f5d87592c422d4d323ac)
Cc: stable@vger.kernel.org
drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c

index 1d6e30269d5679bf7dd503520ac84e712463bba4..4d553be56396f399c92511a3961744fcd80e9efc 100644 (file)
@@ -106,11 +106,8 @@ int hwmgr_early_init(struct pp_hwmgr *hwmgr)
                hwmgr->od_enabled = false;
                switch (hwmgr->chip_id) {
                case CHIP_BONAIRE:
-                       /* R9 M380 in iMac 2015: SMU hangs when enabling MCLK DPM
-                        * R7 260X cards with old MC ucode: MCLK DPM is unstable
-                        */
-                       if (adev->pdev->subsystem_vendor == 0x106B ||
-                           adev->pdev->device == 0x6658) {
+                       /* R9 M380 in iMac 2015: SMU hangs when enabling MCLK DPM */
+                       if (adev->pdev->subsystem_vendor == 0x106B) {
                                dev_info(adev->dev, "disabling MCLK DPM on quirky ASIC");
                                adev->pm.pp_feature &= ~PP_MCLK_DPM_MASK;
                                hwmgr->feature_mask &= ~PP_MCLK_DPM_MASK;