]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cpufreq/amd-pstate: Drop Kconfig option for dynamic EPP
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 12 May 2026 22:19:47 +0000 (17:19 -0500)
committerMario Limonciello (AMD) <superm1@kernel.org>
Thu, 14 May 2026 13:47:48 +0000 (08:47 -0500)
There are some performance issues being identified by dynamic EPP
and we don't want to have distributions turning it on by default
exposing them to users at this time.

Drop the kconfig option, and require an explicit opt in from kernel
command line or runtime sysfs option to turn it on.

Reported-by: Viktor Jägersküpper <viktor_jaegerskuepper@freenet.de>
Closes: https://lore.kernel.org/linux-pm/14a87c99-785c-4b16-bfce-35ecbf053448@freenet.de/
Reported-by: Stuart Meckle <stuartmeckle@gmail.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=221473
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Reviewed-by: K Prateek Nayak <kprateek.nayak@amd.com>
Link: https://lore.kernel.org/r/20260512221947.1652988-1-mario.limonciello@amd.com
(fix sysfs file path)
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
Documentation/admin-guide/pm/amd-pstate.rst
drivers/cpufreq/Kconfig.x86
drivers/cpufreq/amd-pstate.c

index f8e7050fc7623efdc7732d1ca9c375c0bede6a77..a95e2ebce0057025d8091e36af4350a72c3463e3 100644 (file)
@@ -358,9 +358,9 @@ Dynamic energy performance profile
 The amd-pstate driver supports dynamically selecting the energy performance
 profile based on whether the machine is running on AC or DC power.
 
-Whether this behavior is enabled by default depends on the kernel
-config option `CONFIG_X86_AMD_PSTATE_DYNAMIC_EPP`. This behavior can also be overridden
-at runtime by the sysfs file ``/sys/devices/system/cpu/cpufreq/policyX/dynamic_epp``.
+Whether this behavior is enabled by default depends on the kernel command line option
+``amd_dynamic_epp`` is set. This behavior can also be overridden
+at runtime by the sysfs file ``/sys/devices/system/cpu/amd_pstate/dynamic_epp``.
 
 When set to enabled, the driver will select a different energy performance
 profile when the machine is running on battery or AC power. The driver will
@@ -485,9 +485,8 @@ kernel parameter ``amd_prefcore=disable``.
 ``amd_dynamic_epp``
 
 When AMD pstate is in auto mode, dynamic EPP will control whether the kernel
-autonomously changes the EPP mode. The default is configured by
-``CONFIG_X86_AMD_PSTATE_DYNAMIC_EPP`` but can be explicitly enabled with
-``amd_dynamic_epp=enable`` or disabled with ``amd_dynamic_epp=disable``.
+autonomously changes the EPP mode. The default is disabled. It can be enabled
+with the kernel parameter ``amd_dynamic_epp=enable``.
 
 User Space Interface in ``sysfs`` - General
 ===========================================
index 027e6ea2e0384a9669b4d938607ebcd29185f7b0..a9093cd5e5d1bf44543272b341448b80a8f25aa1 100644 (file)
@@ -70,18 +70,6 @@ config X86_AMD_PSTATE_DEFAULT_MODE
          For details, take a look at:
          <file:Documentation/admin-guide/pm/amd-pstate.rst>.
 
-config X86_AMD_PSTATE_DYNAMIC_EPP
-       bool "AMD Processor P-State dynamic EPP support"
-       depends on X86_AMD_PSTATE
-       default n
-       help
-         Allow the kernel to dynamically change the energy performance
-         value from events like ACPI platform profile and AC adapter plug
-         events.
-
-         This feature can also be changed at runtime, this configuration
-         option only sets the kernel default value behavior.
-
 config X86_AMD_PSTATE_UT
        tristate "selftest for AMD Processor P-State driver"
        depends on X86 && ACPI_PROCESSOR
index 9eb9c3f4e809a7056247b78b2a03ec146dc6aa3b..62b5d995281d2984a41e228c14a1c51437efbd48 100644 (file)
@@ -87,11 +87,7 @@ static struct cpufreq_driver amd_pstate_driver;
 static struct cpufreq_driver amd_pstate_epp_driver;
 static int cppc_state = AMD_PSTATE_UNDEFINED;
 static bool amd_pstate_prefcore = true;
-#ifdef CONFIG_X86_AMD_PSTATE_DYNAMIC_EPP
-static bool dynamic_epp = CONFIG_X86_AMD_PSTATE_DYNAMIC_EPP;
-#else
 static bool dynamic_epp;
-#endif
 static struct quirk_entry *quirks;
 
 /*