From: Perry Yuan Perry.Yuan@amd.com
[ Upstream commit b185c5053c65b7704ead4537e4d4d9b33dc398dc ]
Fix the wrong lowest perf value reading which is used for new des_perf calculation by governor requested, the incorrect min_perf will get incorrect des_perf to be set , that will cause the system frequency changing unexpectedly.
Reviewed-by: Huang Rui ray.huang@amd.com Acked-by: Viresh Kumar viresh.kumar@linaro.org Signed-off-by: Perry Yuan Perry.Yuan@amd.com Signed-off-by: Su Jinzhou jinzhou.su@amd.com Signed-off-by: Rafael J. Wysocki rafael.j.wysocki@intel.com Signed-off-by: Sasha Levin sashal@kernel.org --- drivers/cpufreq/amd-pstate.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/cpufreq/amd-pstate.c b/drivers/cpufreq/amd-pstate.c index 9ac75c1cde9c..dd0eeb8589a1 100644 --- a/drivers/cpufreq/amd-pstate.c +++ b/drivers/cpufreq/amd-pstate.c @@ -312,7 +312,7 @@ static int amd_pstate_target(struct cpufreq_policy *policy, return -ENODEV;
cap_perf = READ_ONCE(cpudata->highest_perf); - min_perf = READ_ONCE(cpudata->lowest_nonlinear_perf); + min_perf = READ_ONCE(cpudata->lowest_perf); max_perf = cap_perf;
freqs.old = policy->cur;