drop buggy patch
This commit is contained in:
parent
fb44366f3a
commit
ce0cb160c6
@ -1,138 +0,0 @@
|
||||
From ce0dd337e839cfa3033b9035a37de98e28abde1c Mon Sep 17 00:00:00 2001
|
||||
From: Mario Limonciello <mario.limonciello@amd.com>
|
||||
Date: Mon, 9 Dec 2024 12:52:48 -0600
|
||||
Subject: cpufreq/amd-pstate: Drop boost_state variable
|
||||
|
||||
Currently boost_state is cached for every processor in cpudata structure
|
||||
and driver boost state is set for every processor.
|
||||
|
||||
Both of these aren't necessary as the driver only needs to set once and
|
||||
the policy stores whether boost is enabled.
|
||||
|
||||
Move the driver boost setting to registration and adjust all references
|
||||
to cached value to pull from the policy instead.
|
||||
|
||||
Reviewed-by: Gautham R. Shenoy <gautham.shenoy@amd.com>
|
||||
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
|
||||
---
|
||||
drivers/cpufreq/amd-pstate.c | 26 +++++++++++++-------------
|
||||
drivers/cpufreq/amd-pstate.h | 1 -
|
||||
2 files changed, 13 insertions(+), 14 deletions(-)
|
||||
|
||||
--- a/drivers/cpufreq/amd-pstate.c
|
||||
+++ b/drivers/cpufreq/amd-pstate.c
|
||||
@@ -345,9 +345,10 @@ static int shmem_set_epp(struct amd_cpud
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int amd_pstate_set_energy_pref_index(struct amd_cpudata *cpudata,
|
||||
- int pref_index)
|
||||
+static int amd_pstate_set_energy_pref_index(struct cpufreq_policy *policy,
|
||||
+ int pref_index)
|
||||
{
|
||||
+ struct amd_cpudata *cpudata = policy->driver_data;
|
||||
int epp;
|
||||
|
||||
if (!pref_index)
|
||||
@@ -365,7 +366,7 @@ static int amd_pstate_set_energy_pref_in
|
||||
epp,
|
||||
AMD_CPPC_MIN_PERF(cpudata->cppc_req_cached),
|
||||
AMD_CPPC_MAX_PERF(cpudata->cppc_req_cached),
|
||||
- cpudata->boost_state);
|
||||
+ policy->boost_enabled);
|
||||
}
|
||||
|
||||
return amd_pstate_set_epp(cpudata, epp);
|
||||
@@ -776,7 +777,6 @@ static int amd_pstate_set_boost(struct c
|
||||
guard(mutex)(&amd_pstate_driver_lock);
|
||||
|
||||
ret = amd_pstate_cpu_boost_update(policy, state);
|
||||
- WRITE_ONCE(cpudata->boost_state, !ret ? state : false);
|
||||
policy->boost_enabled = !ret ? state : false;
|
||||
refresh_frequency_limits(policy);
|
||||
|
||||
@@ -798,9 +798,6 @@ static int amd_pstate_init_boost_support
|
||||
goto exit_err;
|
||||
}
|
||||
|
||||
- /* at least one CPU supports CPB, even if others fail later on to set up */
|
||||
- current_pstate_driver->boost_enabled = true;
|
||||
-
|
||||
ret = rdmsrl_on_cpu(cpudata->cpu, MSR_K7_HWCR, &boost_val);
|
||||
if (ret) {
|
||||
pr_err_once("failed to read initial CPU boost state!\n");
|
||||
@@ -1206,7 +1203,6 @@ static ssize_t show_energy_performance_a
|
||||
static ssize_t store_energy_performance_preference(
|
||||
struct cpufreq_policy *policy, const char *buf, size_t count)
|
||||
{
|
||||
- struct amd_cpudata *cpudata = policy->driver_data;
|
||||
char str_preference[21];
|
||||
ssize_t ret;
|
||||
|
||||
@@ -1220,7 +1216,7 @@ static ssize_t store_energy_performance_
|
||||
|
||||
guard(mutex)(&amd_pstate_limits_lock);
|
||||
|
||||
- ret = amd_pstate_set_energy_pref_index(cpudata, ret);
|
||||
+ ret = amd_pstate_set_energy_pref_index(policy, ret);
|
||||
|
||||
return ret ? ret : count;
|
||||
}
|
||||
@@ -1295,6 +1291,9 @@ static int amd_pstate_register_driver(in
|
||||
return ret;
|
||||
}
|
||||
|
||||
+ /* at least one CPU supports CPB */
|
||||
+ current_pstate_driver->boost_enabled = cpu_feature_enabled(X86_FEATURE_CPB);
|
||||
+
|
||||
ret = cpufreq_register_driver(current_pstate_driver);
|
||||
if (ret) {
|
||||
amd_pstate_driver_cleanup();
|
||||
@@ -1636,8 +1635,9 @@ static int amd_pstate_epp_set_policy(str
|
||||
return 0;
|
||||
}
|
||||
|
||||
-static int amd_pstate_epp_reenable(struct amd_cpudata *cpudata)
|
||||
+static int amd_pstate_epp_reenable(struct cpufreq_policy *policy)
|
||||
{
|
||||
+ struct amd_cpudata *cpudata = policy->driver_data;
|
||||
u64 max_perf;
|
||||
int ret;
|
||||
|
||||
@@ -1651,7 +1651,7 @@ static int amd_pstate_epp_reenable(struc
|
||||
trace_amd_pstate_epp_perf(cpudata->cpu, cpudata->highest_perf,
|
||||
cpudata->epp_cached,
|
||||
AMD_CPPC_MIN_PERF(cpudata->cppc_req_cached),
|
||||
- max_perf, cpudata->boost_state);
|
||||
+ max_perf, policy->boost_enabled);
|
||||
}
|
||||
|
||||
return amd_pstate_update_perf(cpudata, 0, 0, max_perf, cpudata->epp_cached, false);
|
||||
@@ -1664,7 +1664,7 @@ static int amd_pstate_epp_cpu_online(str
|
||||
|
||||
pr_debug("AMD CPU Core %d going online\n", cpudata->cpu);
|
||||
|
||||
- ret = amd_pstate_epp_reenable(cpudata);
|
||||
+ ret = amd_pstate_epp_reenable(policy);
|
||||
if (ret)
|
||||
return ret;
|
||||
cpudata->suspended = false;
|
||||
@@ -1722,7 +1722,7 @@ static int amd_pstate_epp_resume(struct
|
||||
guard(mutex)(&amd_pstate_limits_lock);
|
||||
|
||||
/* enable amd pstate from suspend state*/
|
||||
- amd_pstate_epp_reenable(cpudata);
|
||||
+ amd_pstate_epp_reenable(policy);
|
||||
|
||||
cpudata->suspended = false;
|
||||
}
|
||||
--- a/drivers/cpufreq/amd-pstate.h
|
||||
+++ b/drivers/cpufreq/amd-pstate.h
|
||||
@@ -98,7 +98,6 @@ struct amd_cpudata {
|
||||
u64 cppc_cap1_cached;
|
||||
bool suspended;
|
||||
s16 epp_default;
|
||||
- bool boost_state;
|
||||
};
|
||||
|
||||
/*
|
1
debian/patches/series
vendored
1
debian/patches/series
vendored
@ -209,7 +209,6 @@ patchset-pf/amd-pstate/0041-cpufreq-amd-pstate-Always-write-EPP-value-when-updat
|
||||
patchset-pf/amd-pstate/0042-cpufreq-amd-pstate-Check-if-CPPC-request-has-changed.patch
|
||||
patchset-pf/amd-pstate/0043-cpufreq-amd-pstate-Drop-ret-variable-from-amd_pstate.patch
|
||||
patchset-pf/amd-pstate/0044-cpufreq-amd-pstate-Set-different-default-EPP-policy-.patch
|
||||
patchset-pf/amd-pstate/0045-cpufreq-amd-pstate-Drop-boost_state-variable.patch
|
||||
|
||||
patchset-pf/amd-rapl/0001-perf-x86-rapl-Move-the-pmu-allocation-out-of-CPU-hot.patch
|
||||
patchset-pf/amd-rapl/0002-perf-x86-rapl-Clean-up-cpumask-and-hotplug.patch
|
||||
|
Loading…
Reference in New Issue
Block a user