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

Commit 7650b281 authored by Venkatesh Pallipadi's avatar Venkatesh Pallipadi Committed by Dave Jones
Browse files

[CPUFREQ][6/8] acpi-cpufreq: Eliminate get of current freq on notification



Only change the frequency if the state previously set is different
from what we are trying to set. We don't really have to get the current
frequency at this point.

Signed-off-by: default avatarDenis Sadykov <denis.m.sadykov@intel.com>
Signed-off-by: default avatarVenkatesh Pallipadi <venkatesh.pallipadi@intel.com>
Signed-off-by: default avatarAlexey Starikovskiy <alexey.y.starikovskiy@intel.com>
Signed-off-by: default avatarDave Jones <davej@redhat.com>
parent 64be7eed
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -324,11 +324,8 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy,
	online_policy_cpus = policy->cpus;
#endif

	cmd.val = get_cur_val(online_policy_cpus);
	freqs.old = extract_freq(cmd.val, data);
	freqs.new = data->freq_table[next_state].frequency;
	next_perf_state = data->freq_table[next_state].index;
	if (freqs.new == freqs.old) {
	if (perf->state == next_perf_state) {
		if (unlikely(data->resume)) {
			dprintk("Called after resume, resetting to P%d\n",
				next_perf_state);
@@ -366,6 +363,8 @@ static int acpi_cpufreq_target(struct cpufreq_policy *policy,
	else
		cpu_set(policy->cpu, cmd.mask);

	freqs.old = data->freq_table[perf->state].frequency;
	freqs.new = data->freq_table[next_perf_state].frequency;
	for_each_cpu_mask(i, cmd.mask) {
		freqs.cpu = i;
		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
@@ -613,6 +612,7 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
		policy->cur = acpi_cpufreq_guess_freq(data, policy->cpu);
		break;
	case ACPI_ADR_SPACE_FIXED_HARDWARE:
		acpi_cpufreq_driver.get = get_cur_freq_on_cpu;
		get_cur_freq_on_cpu(cpu);
		break;
	default:
@@ -687,7 +687,6 @@ static struct freq_attr *acpi_cpufreq_attr[] = {
static struct cpufreq_driver acpi_cpufreq_driver = {
	.verify = acpi_cpufreq_verify,
	.target = acpi_cpufreq_target,
	.get = get_cur_freq_on_cpu,
	.init = acpi_cpufreq_cpu_init,
	.exit = acpi_cpufreq_cpu_exit,
	.resume = acpi_cpufreq_resume,