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

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
...@@ -35,9 +35,12 @@ static int qcom_cpufreq_hw_target_index(struct cpufreq_policy *policy, ...@@ -35,9 +35,12 @@ static int qcom_cpufreq_hw_target_index(struct cpufreq_policy *policy,
unsigned int index) unsigned int index)
{ {
void __iomem *perf_state_reg = policy->driver_data; void __iomem *perf_state_reg = policy->driver_data;
unsigned long freq = policy->freq_table[index].frequency;
writel_relaxed(index, perf_state_reg); writel_relaxed(index, perf_state_reg);
arch_set_freq_scale(policy->related_cpus, freq,
policy->cpuinfo.max_freq);
return 0; return 0;
} }
...@@ -64,6 +67,7 @@ static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy, ...@@ -64,6 +67,7 @@ static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy,
{ {
void __iomem *perf_state_reg = policy->driver_data; void __iomem *perf_state_reg = policy->driver_data;
int index; int index;
unsigned long freq;
index = policy->cached_resolved_idx; index = policy->cached_resolved_idx;
if (index < 0) if (index < 0)
...@@ -71,7 +75,11 @@ static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy, ...@@ -71,7 +75,11 @@ static unsigned int qcom_cpufreq_hw_fast_switch(struct cpufreq_policy *policy,
writel_relaxed(index, perf_state_reg); 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, static int qcom_cpufreq_hw_read_lut(struct device *cpu_dev,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment