mirror of
https://github.com/raspberrypi/linux.git
synced 2025-12-06 10:00:17 +00:00
cpufreq: tegra186: Share policy per cluster
This functionally brings tegra186 in line with tegra210 and tegra194, sharing a cpufreq policy between all cores in a cluster. Reviewed-by: Sumit Gupta <sumitg@nvidia.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Aaron Kling <webgeek1234@gmail.com> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
committed by
Viresh Kumar
parent
4a1e3bf61f
commit
be4ae8c194
@@ -73,11 +73,18 @@ static int tegra186_cpufreq_init(struct cpufreq_policy *policy)
|
|||||||
{
|
{
|
||||||
struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
|
struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
|
||||||
unsigned int cluster = data->cpus[policy->cpu].bpmp_cluster_id;
|
unsigned int cluster = data->cpus[policy->cpu].bpmp_cluster_id;
|
||||||
|
u32 cpu;
|
||||||
|
|
||||||
policy->freq_table = data->clusters[cluster].table;
|
policy->freq_table = data->clusters[cluster].table;
|
||||||
policy->cpuinfo.transition_latency = 300 * 1000;
|
policy->cpuinfo.transition_latency = 300 * 1000;
|
||||||
policy->driver_data = NULL;
|
policy->driver_data = NULL;
|
||||||
|
|
||||||
|
/* set same policy for all cpus in a cluster */
|
||||||
|
for (cpu = 0; cpu < ARRAY_SIZE(tegra186_cpus); cpu++) {
|
||||||
|
if (data->cpus[cpu].bpmp_cluster_id == cluster)
|
||||||
|
cpumask_set_cpu(cpu, policy->cpus);
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user