Re: [PATCH] cpufreq: Add Kryo CPU scaling driver

From: Viresh Kumar
Date: Tue May 22 2018 - 04:43:58 EST


On 22-05-18, 10:59, ilialin@xxxxxxxxxxxxxx wrote:
> OK, I think I found out the way. Would this be correct?
> -----------------------------------------------------------------------------------------------
> extern struct cpu_topology cpu_topology[NR_CPUS];
>
> static struct device *qcom_cpufreq_kryo_get_cluster_lead(int cluster)
> {
> unsigned cpu;
>
> for_each_possible_cpu(cpu) {
> if ((cluster == cpu_topology[cpu].cluster_id) &&
> (0 == cpu_topology[cpu].core_id))
> return get_cpu_device(cpu);
> }
>
> return NULL;
> }

Okay, this is what you should do IMHO.

for_each_possible_cpu(cpu) {
cpu_dev = xxx..
ret = dev_pm_opp_set_supported_hw(cpu_dev, xxx, xxx);
if (ret && ret != -EBUSY)
error-out.
}

This would require a trivial patch for the OPP core to not throw an
error message with -EBUSY. I can do that separately.

--
viresh