[PATCH] cpufreq: cppc: Enable boost by default when supported

From: Pengjie Zhang

Date: Wed Oct 14 2026 - 21:58:49 EST


The CPPC driver leaves boost disabled by default, even when Highest
Performance exceeds Nominal Performance. Userspace must explicitly
enable boost before governors can use the full advertised performance
range.

For user convenience, enable boost by default when at least one possible
CPU reports support. Check the performance capabilities before registering
the driver so that the cpufreq core enables boost for each policy that
supports it.

Signed-off-by: Pengjie Zhang <zhangpengjie2@xxxxxxxxxx>
---
drivers/cpufreq/cppc_cpufreq.c | 20 ++++++++++++++++++++
1 file changed, 20 insertions(+)

diff --git a/drivers/cpufreq/cppc_cpufreq.c b/drivers/cpufreq/cppc_cpufreq.c
index 80893844353c..0a4255a36f60 100644
--- a/drivers/cpufreq/cppc_cpufreq.c
+++ b/drivers/cpufreq/cppc_cpufreq.c
@@ -1052,6 +1052,25 @@ static struct cpufreq_driver cppc_cpufreq_driver = {
.name = "cppc_cpufreq",
};

+static void __init cppc_cpufreq_default_boost_init(void)
+{
+ struct cppc_perf_caps caps;
+ bool enable = false;
+ int cpu;
+
+ for_each_possible_cpu(cpu) {
+ if (cppc_get_perf_caps(cpu, &caps))
+ continue;
+
+ if (caps.highest_perf > caps.nominal_perf) {
+ enable = true;
+ break;
+ }
+ }
+
+ cppc_cpufreq_driver.boost_enabled = enable;
+}
+
static int __init cppc_cpufreq_init(void)
{
int ret;
@@ -1061,6 +1080,7 @@ static int __init cppc_cpufreq_init(void)

cppc_freq_invariance_init();
populate_efficiency_class();
+ cppc_cpufreq_default_boost_init();

ret = cpufreq_register_driver(&cppc_cpufreq_driver);
if (ret)
--
2.33.0