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

From: Sumit Gupta
Date: Fri Mar 07 2025 - 10:18:23 EST




On 03/03/25 21:18, Thierry Reding wrote:
On Mon, Mar 03, 2025 at 03:33:06PM +0530, Viresh Kumar wrote:
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++) {
+ if (data->cpus[cpu].bpmp_cluster_id == cluster)
+ cpumask_set_cpu(cpu, policy->cpus);
+ }
+
return 0;
}

Thierry / Jonathan,

Any inputs on this ?

Sumit,

does this look reasonable?

Thanks,
Thierry

Looks good to me.

Reviewed-by: Sumit Gupta <sumitg@xxxxxxxxxx>


Best Regards,
Sumit Gupta