AMD Posts New "AMD-PSTATE" CPUFreq Driver Leveraging CPPC For Better Perf-Per-Watt
The new AMD-PSTATE driver is akin to Intel's P-State driver long used by Intel CPUs as better catering to their hardware than the generic ACPI CPUFreq driver. AMD-PSTATE leverages ACPI Collaborative Processor Performance Controls (CPPC) for making more informed performance state decisions.
ACPI CPPC has been supported since Zen 2 processors but the initial AMD-PSTATE driver is limited to just Zen 3 processors. AMD says they will extend their coverage with time, which would mean going back to supporting Zen 2 processors too.
It was back in July 2019 that AMD originally posted "amd_cpufreq" as a CPPC-based driver right as they were launching the Zen 2 processors. However, that patch set was abandoned and never made it to mainline. Over the past two years I routinely asked AMD about the CPPC Linux support to which they commented on the lack of resources, but great to see this new AMD CPUFreq driver finally materializing.
It's not entirely unexpected though. Last month I wrote about AMD and Valve working on a new CPU performance scaling design. In that prior article basically laid out that it would likely be the long-awaited CPPC-based approach and now this new driver patch series is delivering on just that.
Further pointing to the Valve / Steam Deck connection is that the initial AMD P-State patches are tested on AMD Cezanne APUs. AMD posted a few tests with their patch series showing nice gains out of this AMD-PSTATE driver compared to ACPI CPUFreq.
The code was posted today across 19 patches. Needless to say, I am currently building a new kernel with these patches and will be delivering a number of AMD Ryzen 5000 series and EPYC 7003 series benchmarks over the coming days looking at the performance and power efficiency of this new driver. Benchmarks across mobile, desktop, and servers with Zen 3 starting now. It's a long time with more than two years since the original AMD CPPC patches were posted, but great to see it come about and this time around hopefully has sufficient momentum to get worked on punctually and mainlined for benefiting the Steam Deck and the growing number of AMD Linux users at large. Stay tuned!