Skip to content

Commit 0b1bb98

Browse files
webgeek1234vireshk
authored andcommitted
cpufreq: tegra186: Set target frequency for all cpus in policy
The original commit set all cores in a cluster to a shared policy, but did not update set_target to apply a frequency change to all cores for the policy. This caused most cores to remain stuck at their boot frequency. Fixes: be4ae8c ("cpufreq: tegra186: Share policy per cluster") Signed-off-by: Aaron Kling <webgeek1234@gmail.com> Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
1 parent 24287f9 commit 0b1bb98

1 file changed

Lines changed: 6 additions & 2 deletions

File tree

drivers/cpufreq/tegra186-cpufreq.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -93,10 +93,14 @@ static int tegra186_cpufreq_set_target(struct cpufreq_policy *policy,
9393
{
9494
struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
9595
struct cpufreq_frequency_table *tbl = policy->freq_table + index;
96-
unsigned int edvd_offset = data->cpus[policy->cpu].edvd_offset;
96+
unsigned int edvd_offset;
9797
u32 edvd_val = tbl->driver_data;
98+
u32 cpu;
9899

99-
writel(edvd_val, data->regs + edvd_offset);
100+
for_each_cpu(cpu, policy->cpus) {
101+
edvd_offset = data->cpus[cpu].edvd_offset;
102+
writel(edvd_val, data->regs + edvd_offset);
103+
}
100104

101105
return 0;
102106
}

0 commit comments

Comments
 (0)