Dynamic EPP allows the kernel to register amd-pstate as part of
a platform profile. It will change EPP modes matching the user's
preference to the platform profile sysfs files as well as power
adapter state.
Raw EPP allows userspace to write integers to
energy_performance_preference.
This is based off superm1/linux-next + [1]
Note: v5 had some feedback to always default dynamic EPP to disabled for
server, but I think that's very confusing if the kconfig or kernel command
line option don't work for server but do for client.
Server effectively be a no-op because the platform profile will start
in performance anyway.
v6: [2]
Link: https://lore.kernel.org/linux-pm/20260326193620.649441-1-mario.limonciello@amd.com/ [1]
Link: https://lore.kernel.org/linux-pm/20260329203811.2590633-1-superm1@kernel.org/ [2]
Mario Limonciello (AMD) (5):
cpufreq/amd-pstate: Add dynamic energy performance preference
cpufreq/amd-pstate: add kernel command line to override dynamic epp
cpufreq/amd-pstate: Add support for platform profile class
cpufreq/amd-pstate: Add support for raw EPP writes
cpufreq/amd-pstate-ut: Add a unit test for raw EPP
.../admin-guide/kernel-parameters.txt | 7 +
Documentation/admin-guide/pm/amd-pstate.rst | 41 ++-
drivers/cpufreq/Kconfig.x86 | 13 +
drivers/cpufreq/amd-pstate-ut.c | 109 +++++++
drivers/cpufreq/amd-pstate.c | 281 ++++++++++++++++--
drivers/cpufreq/amd-pstate.h | 21 +-
6 files changed, 449 insertions(+), 23 deletions(-)
--
2.43.0