]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cpufreq/amd-pstate: Pass the policy to amd_pstate_update()
authorK Prateek Nayak <kprateek.nayak@amd.com>
Mon, 16 Mar 2026 08:18:48 +0000 (08:18 +0000)
committerMario Limonciello (AMD) <superm1@kernel.org>
Thu, 2 Apr 2026 16:30:24 +0000 (11:30 -0500)
All callers of amd_pstate_update() already have a reference to the
cpufreq_policy object.

Pass the entire policy object and grab the cpudata using
"policy->driver_data" instead of passing the cpudata and unnecessarily
grabbing another read-side reference to the cpufreq policy object when
it is already available in the caller.

No functional changes intended.

Reviewed-by: Mario Limonciello (AMD) <superm1@kernel.org>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: K Prateek Nayak <kprateek.nayak@amd.com>
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
Link: https://lore.kernel.org/r/20260316081849.19368-2-kprateek.nayak@amd.com
Signed-off-by: Mario Limonciello (AMD) <superm1@kernel.org>
drivers/cpufreq/amd-pstate.c

index ca593c2091115bd4c848c5b31decf8d770b0a65f..2ea4d27fe020c2aee5b397eedfe10f71a424d254 100644 (file)
@@ -643,15 +643,12 @@ static inline bool amd_pstate_sample(struct amd_cpudata *cpudata)
        return true;
 }
 
-static void amd_pstate_update(struct amd_cpudata *cpudata, u8 min_perf,
+static void amd_pstate_update(struct cpufreq_policy *policy, u8 min_perf,
                              u8 des_perf, u8 max_perf, bool fast_switch, int gov_flags)
 {
-       struct cpufreq_policy *policy __free(put_cpufreq_policy) = cpufreq_cpu_get(cpudata->cpu);
+       struct amd_cpudata *cpudata = policy->driver_data;
        union perf_cached perf = READ_ONCE(cpudata->perf);
 
-       if (!policy)
-               return;
-
        /* limit the max perf when core performance boost feature is disabled */
        if (!cpudata->boost_supported)
                max_perf = min_t(u8, perf.nominal_perf, max_perf);
@@ -766,7 +763,7 @@ static int amd_pstate_update_freq(struct cpufreq_policy *policy,
        if (!fast_switch)
                cpufreq_freq_transition_begin(policy, &freqs);
 
-       amd_pstate_update(cpudata, perf.min_limit_perf, des_perf,
+       amd_pstate_update(policy, perf.min_limit_perf, des_perf,
                          perf.max_limit_perf, fast_switch,
                          policy->governor->flags);
 
@@ -828,7 +825,7 @@ static void amd_pstate_adjust_perf(unsigned int cpu,
        if (max_perf < min_perf)
                max_perf = min_perf;
 
-       amd_pstate_update(cpudata, min_perf, des_perf, max_perf, true,
+       amd_pstate_update(policy, min_perf, des_perf, max_perf, true,
                        policy->governor->flags);
 }