On Monday, July 13, 2026 10:28:08 AM Central European Summer Time Thorsten
Leemhuis wrote:
> On 7/13/26 08:14, Timur Kristóf wrote:
> > 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
>
> Were those private reports? If not, please consider linking them in the
> trailers using Link: or Closes: tags, as explained in the patch
> submission guidelines (and mandated by Linus, see the quotes and links
> in
> https://www.kernel.org/doc/html/latest/process/handling-regressions.html#on->
> the-importance-of-pointing-to-bug-reports-using-link-closes-tags for
> details).
>
> Ciao, Thorsten
Hi Thorsten,
There is no bug report. I had a conversation on Reddit which brought my
attention to this issue, then I actually plugged in the GPU, tested it and
noticed that there is indeed a problem, and this patch here is the best fix I
could find.
Best regards,
Timur
>
> > 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 <[email protected]>
> > ---
> >
> > drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c | 7 ++-----
> > 1 file changed, 2 insertions(+), 5 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c
> > b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c index
> > 1d6e30269d56..4d553be56396 100644
> > --- a/drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c
> > +++ b/drivers/gpu/drm/amd/pm/powerplay/hwmgr/hwmgr.c
> > @@ -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;