Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2bfc4cbb authored by Rafael J. Wysocki's avatar Rafael J. Wysocki
Browse files

cpufreq: intel_pstate: Do not walk policy->cpus



intel_pstate_hwp_set() is the only function walking policy->cpus
in intel_pstate.  The rest of the code simply assumes one CPU per
policy, including the initialization code.

Therefore it doesn't make sense for intel_pstate_hwp_set() to
walk policy->cpus as it is guaranteed to have only one bit set
for policy->cpu.

For this reason, rearrange intel_pstate_hwp_set() to take the CPU
number as the argument and drop the loop over policy->cpus from it.

Signed-off-by: default avatarRafael J. Wysocki <rafael.j.wysocki@intel.com>
parent 8ca6ce37
Loading
Loading
Loading
Loading
+60 −64
Original line number Diff line number Diff line
@@ -792,13 +792,11 @@ static struct freq_attr *hwp_cpufreq_attrs[] = {
	NULL,
};

static void intel_pstate_hwp_set(struct cpufreq_policy *policy)
static void intel_pstate_hwp_set(unsigned int cpu)
{
	int min, hw_min, max, hw_max, cpu;
	u64 value, cap;

	for_each_cpu(cpu, policy->cpus) {
	struct cpudata *cpu_data = all_cpu_data[cpu];
	int min, hw_min, max, hw_max;
	u64 value, cap;
	s16 epp;

	rdmsrl_on_cpu(cpu, MSR_HWP_CAPABILITIES, &cap);
@@ -840,7 +838,6 @@ static void intel_pstate_hwp_set(struct cpufreq_policy *policy)
		if (epp < 0)
			goto skip_epp;


		epp = 0;
	} else {
		/* skip setting EPP, when saved value is invalid */
@@ -870,7 +867,6 @@ static void intel_pstate_hwp_set(struct cpufreq_policy *policy)
skip_epp:
	wrmsrl_on_cpu(cpu, MSR_HWP_REQUEST, value);
}
}

static int intel_pstate_hwp_save_state(struct cpufreq_policy *policy)
{
@@ -892,7 +888,7 @@ static int intel_pstate_resume(struct cpufreq_policy *policy)
	mutex_lock(&intel_pstate_limits_lock);

	all_cpu_data[policy->cpu]->epp_policy = 0;
	intel_pstate_hwp_set(policy);
	intel_pstate_hwp_set(policy->cpu);

	mutex_unlock(&intel_pstate_limits_lock);

@@ -2057,7 +2053,7 @@ static int intel_pstate_set_policy(struct cpufreq_policy *policy)
	intel_pstate_set_update_util_hook(policy->cpu);

	if (hwp_active)
		intel_pstate_hwp_set(policy);
		intel_pstate_hwp_set(policy->cpu);

	mutex_unlock(&intel_pstate_limits_lock);