40 lines
1.4 KiB
Diff
40 lines
1.4 KiB
Diff
From 509a6a82d6558983a84407e77aa398501b5c814a Mon Sep 17 00:00:00 2001
|
|
From: Mario Limonciello <mario.limonciello@amd.com>
|
|
Date: Wed, 26 Feb 2025 01:49:34 -0600
|
|
Subject: cpufreq/amd-pstate: Drop actions in amd_pstate_epp_cpu_offline()
|
|
|
|
When the CPU goes offline there is no need to change the CPPC request
|
|
because the CPU will go into the deepest C-state it supports already.
|
|
|
|
Actually changing the CPPC request when it goes offline messes up the
|
|
cached values and can lead to the wrong values being restored when
|
|
it comes back.
|
|
|
|
Instead drop the actions and if the CPU comes back online let
|
|
amd_pstate_epp_set_policy() restore it to expected values.
|
|
|
|
Reviewed-by: Dhananjay Ugwekar <dhananjay.ugwekar@amd.com>
|
|
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
|
|
---
|
|
drivers/cpufreq/amd-pstate.c | 9 +--------
|
|
1 file changed, 1 insertion(+), 8 deletions(-)
|
|
|
|
--- a/drivers/cpufreq/amd-pstate.c
|
|
+++ b/drivers/cpufreq/amd-pstate.c
|
|
@@ -1574,14 +1574,7 @@ static int amd_pstate_epp_cpu_online(str
|
|
|
|
static int amd_pstate_epp_cpu_offline(struct cpufreq_policy *policy)
|
|
{
|
|
- struct amd_cpudata *cpudata = policy->driver_data;
|
|
- union perf_cached perf = READ_ONCE(cpudata->perf);
|
|
-
|
|
- if (cpudata->suspended)
|
|
- return 0;
|
|
-
|
|
- return amd_pstate_update_perf(policy, perf.lowest_perf, 0, perf.lowest_perf,
|
|
- AMD_CPPC_EPP_BALANCE_POWERSAVE, false);
|
|
+ return 0;
|
|
}
|
|
|
|
static int amd_pstate_epp_suspend(struct cpufreq_policy *policy)
|