Commit ada54f35 authored by Douglas RAILLARD's avatar Douglas RAILLARD Committed by Viresh Kumar
Browse files

cpufreq: qcom-hw: invoke frequency-invariance setter function



Add calls to arch_set_freq_scale() in qcom-cpufreq-hw driver to enable
frequency invariance.

Signed-off-by: default avatarDouglas RAILLARD <douglas.raillard@arm.com>
Reviewed-by: default avatarQuentin Perret <quentin.perret@arm.com>
Signed-off-by: default avatarViresh Kumar <viresh.kumar@linaro.org>
parent 0eae1e37
Loading
Loading
Loading
Loading
+9 −1
Original line number Diff line number Diff line
@@ -35,9 +35,12 @@ static int qcom_cpufreq_hw_target_index(struct cpufreq_policy *policy,
					unsigned int index)
{
	void __iomem *perf_state_reg = policy->driver_data;
	unsigned long freq = policy->freq_table[index].frequency;

	writel_relaxed(index, perf_state_reg);

	arch_set_freq_scale(policy->related_cpus, freq,
			    policy->cpuinfo.max_freq);
	return 0;
}

@@ -64,6 +67,7 @@ static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy,
{
	void __iomem *perf_state_reg = policy->driver_data;
	int index;
	unsigned long freq;

	index = policy->cached_resolved_idx;
	if (index < 0)
@@ -71,7 +75,11 @@ static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy,

	writel_relaxed(index, perf_state_reg);

	return policy->freq_table[index].frequency;
	freq = policy->freq_table[index].frequency;
	arch_set_freq_scale(policy->related_cpus, freq,
			    policy->cpuinfo.max_freq);

	return freq;
}

static int qcom_cpufreq_hw_read_lut(struct device *cpu_dev,