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 > >
