]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
cpufreq/amd-pstate: Move max_perf limiting in amd_pstate_update
authorDhananjay Ugwekar <dhananjay.ugwekar@amd.com>
Tue, 15 Apr 2025 08:23:09 +0000 (08:23 +0000)
committerMario Limonciello <mario.limonciello@amd.com>
Mon, 21 Apr 2025 20:40:49 +0000 (15:40 -0500)
Move up the max_perf limiting, so that we clamp the des_perf with the
updated max_perf.

Signed-off-by: Dhananjay Ugwekar <dhananjay.ugwekar@amd.com>
Link: https://lore.kernel.org/r/20250415082308.3341-1-dhananjay.ugwekar@amd.com
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
drivers/cpufreq/amd-pstate.c

index b961f3a3b58059691ad169ed265b08fddf9f60d0..12b2736bf62a0c74e4a6d782e503e7e7bff2ade2 100644 (file)
@@ -554,6 +554,10 @@ static void amd_pstate_update(struct amd_cpudata *cpudata, u8 min_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);
+
        des_perf = clamp_t(u8, des_perf, min_perf, max_perf);
 
        policy->cur = perf_to_freq(perf, cpudata->nominal_freq, des_perf);
@@ -563,10 +567,6 @@ static void amd_pstate_update(struct amd_cpudata *cpudata, u8 min_perf,
                des_perf = 0;
        }
 
-       /* 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);
-
        if (trace_amd_pstate_perf_enabled() && amd_pstate_sample(cpudata)) {
                trace_amd_pstate_perf(min_perf, des_perf, max_perf, cpudata->freq,
                        cpudata->cur.mperf, cpudata->cur.aperf, cpudata->cur.tsc,