cpufreq: intel_pstate: Replace three global.turbo_disabled checks
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Mon, 25 Mar 2024 17:05:06 +0000 (18:05 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 2 Apr 2024 10:57:17 +0000 (12:57 +0200)
Replace the global.turbo_disabled in __intel_pstate_update_max_freq() with
a global.no_turbo one to make store_no_turbo() actually update the maximum
CPU frequency on the trubo preference changes, which needs to be consistent
with arch_set_max_freq_ratio() called from there.

For more consistency, replace the global.turbo_disabled checks in
__intel_pstate_cpu_init() and intel_cpufreq_adjust_perf() with
global.no_turbo checks either.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Acked-by: Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com>
drivers/cpufreq/intel_pstate.c

index 3a707e34acd8a9e63b17d1d8513bd63c1a6a0425..f1d6de05bcab4efd2526d79eee2fce01112f666f 100644 (file)
@@ -1153,7 +1153,7 @@ static void intel_pstate_update_policies(void)
 static void __intel_pstate_update_max_freq(struct cpudata *cpudata,
                                           struct cpufreq_policy *policy)
 {
-       policy->cpuinfo.max_freq = global.turbo_disabled ?
+       policy->cpuinfo.max_freq = READ_ONCE(global.no_turbo) ?
                        cpudata->pstate.max_freq : cpudata->pstate.turbo_freq;
        refresh_frequency_limits(policy);
 }
@@ -2704,7 +2704,7 @@ static int __intel_pstate_cpu_init(struct cpufreq_policy *policy)
 
        /* cpuinfo and default policy values */
        policy->cpuinfo.min_freq = cpu->pstate.min_freq;
-       policy->cpuinfo.max_freq = global.turbo_disabled ?
+       policy->cpuinfo.max_freq = READ_ONCE(global.no_turbo) ?
                        cpu->pstate.max_freq : cpu->pstate.turbo_freq;
 
        policy->min = policy->cpuinfo.min_freq;
@@ -2907,8 +2907,9 @@ static void intel_cpufreq_adjust_perf(unsigned int cpunum,
        int old_pstate = cpu->pstate.current_pstate;
        int cap_pstate, min_pstate, max_pstate, target_pstate;
 
-       cap_pstate = global.turbo_disabled ? HWP_GUARANTEED_PERF(hwp_cap) :
-                                            HWP_HIGHEST_PERF(hwp_cap);
+       cap_pstate = READ_ONCE(global.no_turbo) ?
+                                       HWP_GUARANTEED_PERF(hwp_cap) :
+                                       HWP_HIGHEST_PERF(hwp_cap);
 
        /* Optimization: Avoid unnecessary divisions. */