> Is this doable/plausible? Unfortunately; that is filled with hallucinations. Let me tear it apart.
> **Why it works on Windows:** AMD's Windows drivers explicitly re-initialize > the SMU CPPC handshake AMD doesn't have a CPPC driver for Windows, it uses infrastructure built-into the OS. > ## How an upstream provider can fix this If you have Claude code and you think this is viable, use Claude code to make a patch? > `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. There is already a resume hook, please see amd_pstate_resume() that updates the correct register (MSR_AMD_CPPC_REQ). > 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. You mean like the code already does? https://github.com/torvalds/linux/blob/v7.2-rc3/drivers/cpufreq/amd- pstate.c#L2108 > `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. That's not how s2idle resume works. amd_pmc suspend is unrolled through acpi_s2idle_restore_early_lps0() -> lps0_s2idle_devops_head. Then acpi_s2idle_restore() is called and all devices resumed. amd- pstate already happens in the latter. -- 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
