Apologies for my late reply. I tested the patch series (SI laptop
1002:6606) and the problem remains where the clock speeds don't boost upon
switching to AC. Timur and I investigated this and found 2 problems:

1. It seems that it is necessary after all to recompute clock speeds when
toggling AC/DC. Sending PPSMC_MSG_RunningOnAC on its own has no effect.
Each ASIC family's apply_state_adjust_rules appears to be responsible for
the switch by setting the max_limits, and this function is only called as
part of computing clocks. I'm considering removing the .notify_ac_dc field
from the IP block entirely and just calling .pm_compute_clocks from
amdgpu_pm_acpi_event_handler, but I only know for certain that this works
for my GPU.
2. The ATOM_PP_PLATFORM_CAP_HARDWAREDC flag is enabled for my GPU, causing
PPSMC_MSG_RunningOnAC to never be sent. Either the flag is enabled
erroneously, or we're interpreting its intended usage incorrectly.

Unfortunately we're a bit stumped without either having documentation or a
stack of old laptops and could use some guidance on how to best proceed.
Thankfully the merged series doesn't seem to be causing any regressions at
least. I am currently running this workaround patch on top of the original
5:
https://github.com/luisfonsivevo/linux/commit/d74aa4e6fe4212c0a90467c45646bd138cea9a9d

On Tue, May 19, 2026 at 10:42 AM Timur Kristóf <[email protected]>
wrote:

> Fix various issues with the clocks stuck on SI
> laptop dGPUs:
>
> * vblank mistake when there are no displays connected
> * forgot to notify SMU about DC->AC switch
> * inconsistent values in VBIOS
>
> While we are at it, also implement the DC->AC notification
> for SMU7 as well, which is supposed to work the same way.
>
> Jeremy Klarenbeek (2):
>   drm/amd/pm/si: Fix updating clock limits from power states
>   drm/amd/pm/si: Notify the SMC when switching to AC
>
> Timur Kristóf (3):
>   drm/amd/pm/si: Disregard vblank time when no displays are connected
>   drm/amd/pm: Rename enable_bapm() to notify_ac_dc()
>   drm/amd/pm/smu7: Notify SMU7 of DC->AC switch
>
>  .../gpu/drm/amd/include/kgd_pp_interface.h    |  2 +-
>  drivers/gpu/drm/amd/pm/amdgpu_dpm.c           |  8 +--
>  drivers/gpu/drm/amd/pm/legacy-dpm/kv_dpm.c    |  6 +--
>  drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c    | 50 ++++++++++++++-----
>  .../gpu/drm/amd/pm/powerplay/amd_powerplay.c  | 12 +++++
>  .../drm/amd/pm/powerplay/hwmgr/smu7_hwmgr.c   | 15 ++++++
>  drivers/gpu/drm/amd/pm/powerplay/inc/hwmgr.h  |  1 +
>  7 files changed, 74 insertions(+), 20 deletions(-)
>
> --
> 2.54.0
>
>

Reply via email to