[PATCH] ARM: ux500: send cpufreq notification for all cpus
Vincent Guittot
vincent.guittot at linaro.org
Wed Aug 24 05:26:07 EDT 2011
On 24 August 2011 10:26, Santosh <santosh.shilimkar at ti.com> wrote:
> On Wednesday 24 August 2011 12:14 PM, Vincent Guittot wrote:
>>
>> The same clock is used for all cpus so we must notify the frequency change
>> for each one in order to update the configuration of all twd clockevents.
>>
>> Signed-off-by: Vincent Guittot<vincent.guittot at linaro.org>
>> ---
>> drivers/cpufreq/db8500-cpufreq.c | 7 ++++---
>> 1 files changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/drivers/cpufreq/db8500-cpufreq.c
>> b/drivers/cpufreq/db8500-cpufreq.c
>> index 0d8dd1c..4cb5785 100644
>> --- a/drivers/cpufreq/db8500-cpufreq.c
>> +++ b/drivers/cpufreq/db8500-cpufreq.c
>> @@ -76,13 +76,13 @@ static int db8500_cpufreq_target(struct cpufreq_policy
>> *policy,
>>
>> freqs.old = policy->cur;
>> freqs.new = freq_table[idx].frequency;
>> - freqs.cpu = policy->cpu;
>>
>> if (freqs.old == freqs.new)
>> return 0;
>>
>> /* pre-change notification */
>> - cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
>> + for_each_online_cpu(freqs.cpu)
>> + cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
>
> Blind notfier on all online CPU's will race. Take a example whete CPU
> is marked online but not yet registered to CPUFREQ. I have seen such a
> race in OMAP and fixed that using the policy->cpus field.
>
You're right, I'm going to use policy->cpus instead
> Regards
> Santosh
>
>
More information about the linux-arm-kernel
mailing list