Message ID | 20191128101547.519-2-sudeep.holla@arm.com |
---|---|
State | Accepted |
Commit | c9385887cbbf292ee367f75b400874f00ea34890 |
Headers | show |
Series | None | expand |
On 29-11-19, 11:49, Sudeep Holla wrote: > Hi Viresh, Rafael, > > On Thu, Nov 28, 2019 at 10:15:47AM +0000, Sudeep Holla wrote: > > Since commit ca74b316df96 ("arm: Use common cpu_topology structure and > > functions.") the core cpumask has to be modified during cpu hotplug > > operations. So using them to set up cpufreq policy cpumask may be > > incorrect as it may contain only cpus that are online at that instance. > > > > Instead, we can use the cpumask setup by OPP library that contains all > > the cpus sharing OPP table using dev_pm_opp_get_sharing_cpus. > > > > Cc: Viresh Kumar <viresh.kumar@linaro.org> > > This can go independently via PM tree and I can take 1/2 via SoC tree > (as the file is being moved). The problem will be fixed only after both > lands, but this alone won't break the build. Yes, but it will break cpufreq for sure as shared-cpus won't be set by anyone. > Or if you guys provide > Ack, I can take both together via ARM SoC team. Let me know. I was planning to take them through cpufreq tree, but that fine if you can do that. Acked-by: Viresh Kumar <viresh.kumar@linaro.org> -- viresh
diff --git a/drivers/cpufreq/vexpress-spc-cpufreq.c b/drivers/cpufreq/vexpress-spc-cpufreq.c index 506e3f2bf53a..83c85d3d67e3 100644 --- a/drivers/cpufreq/vexpress-spc-cpufreq.c +++ b/drivers/cpufreq/vexpress-spc-cpufreq.c @@ -434,7 +434,7 @@ static int ve_spc_cpufreq_init(struct cpufreq_policy *policy) if (cur_cluster < MAX_CLUSTERS) { int cpu; - cpumask_copy(policy->cpus, topology_core_cpumask(policy->cpu)); + dev_pm_opp_get_sharing_cpus(cpu_dev, policy->cpus); for_each_cpu(cpu, policy->cpus) per_cpu(physical_cluster, cpu) = cur_cluster;