Mario, someone used Claude to dig into the issue and here's what it has to say:
--------------------------------------------------------------- **Why it works on Windows:** AMD's Windows drivers explicitly re-initialize the SMU CPPC handshake in their resume path. The Linux `amd_pmc` and `amd-pstate` drivers do not. --- ## How an upstream provider can fix this ### Kernel fix (correct layer — `amd-pstate` / `amd_pmc`) `drivers/cpufreq/amd-pstate.c` — The driver needs a `.resume()` callback (or a `syscore_ops.resume` hook) that re-writes the CPPC `desired_perf` register for every online CPU. In active mode this means re-issuing the CPPC performance request that was in effect before suspend, forcing the SMU to re-accept OS-side CPPC control. `drivers/platform/x86/amd/pmc/pmc.c` — The `amd_pmc` driver orchestrates the s2idle handshake. On the exit path (`amd_pmc_resume_handler`) it could call a notifier that lets `amd-pstate` re-initialize CPPC, ensuring the SMU is back under kernel control before user processes resume. --------------------------------------------------------------- Is this doable/plausible? -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2088733 Title: low CPU frequency after wake up AMD Ryzen To manage notifications about this bug go to: https://bugs.launchpad.net/linux/+bug/2088733/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
