Re: [PATCH] cpufreq: tegra186: Share policy per cluster

From: Viresh Kumar
Date: Mon Mar 10 2025 - 00:46:04 EST


On 16-02-25, 10:08, Aaron Kling wrote:
> This functionally brings tegra186 in line with tegra210 and tegra194,
> sharing a cpufreq policy between all cores in a cluster.
>
> Signed-off-by: Aaron Kling <webgeek1234@xxxxxxxxx>
> ---
> drivers/cpufreq/tegra186-cpufreq.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
> diff --git a/drivers/cpufreq/tegra186-cpufreq.c b/drivers/cpufreq/tegra186-cpufreq.c
> index c7761eb99f3cc..c832a1270e688 100644
> --- a/drivers/cpufreq/tegra186-cpufreq.c
> +++ b/drivers/cpufreq/tegra186-cpufreq.c
> @@ -73,11 +73,18 @@ static int tegra186_cpufreq_init(struct cpufreq_policy *policy)
> {
> struct tegra186_cpufreq_data *data = cpufreq_get_driver_data();
> unsigned int cluster = data->cpus[policy->cpu].bpmp_cluster_id;
> + u32 cpu;
>
> policy->freq_table = data->clusters[cluster].table;
> policy->cpuinfo.transition_latency = 300 * 1000;
> policy->driver_data = NULL;
>
> + /* set same policy for all cpus in a cluster */
> + for (cpu = 0; cpu < (sizeof(tegra186_cpus)/sizeof(struct tegra186_cpufreq_cpu)); cpu++) {

Can't you use ARRAY_SIZE here ?

> + if (data->cpus[cpu].bpmp_cluster_id == cluster)
> + cpumask_set_cpu(cpu, policy->cpus);
> + }
> +
> return 0;

--
viresh