[PATCH] ARM: zynq: wfi exit on same cpu is valid

Daniel Lezcano daniel.lezcano at linaro.org
Tue Jun 4 07:58:31 EDT 2013


On 06/04/2013 01:39 PM, Amit Kucheria wrote:
> On Mon, Jun 3, 2013 at 6:13 PM, Daniel Lezcano
> <daniel.lezcano at linaro.org> wrote:
>> On 06/03/2013 11:51 AM, Michal Simek wrote:
>>> Hi,
>>>
>>> On 06/03/2013 10:14 AM, Daniel Lezcano wrote:
>>>> On 05/31/2013 12:44 PM, Sanjay Singh Rawat wrote:
>>>>> The current code considers every wakeup as spurious, which is not
>>>>> correct. Handle the same way as other arm platforms are doing.
>>>>>
>>>>> Signed-off-by: Sanjay Singh Rawat <sanjay.rawat at linaro.org>
>>>> Reviewed-by: Daniel Lezcano <daniel.lezcano at linaro.org>
>>>>
>>>>
>>>>> ---
>>>>>  arch/arm/mach-zynq/hotplug.c |    7 +++++++
>>>>>  1 file changed, 7 insertions(+)
>>>>>
>>>>> diff --git a/arch/arm/mach-zynq/hotplug.c b/arch/arm/mach-zynq/hotplug.c
>>>>> index c89672b..a1ab22c 100644
>>>>> --- a/arch/arm/mach-zynq/hotplug.c
>>>>> +++ b/arch/arm/mach-zynq/hotplug.c
>>>>> @@ -67,6 +67,13 @@ static inline void zynq_platform_do_lowpower(unsigned int cpu, int *spurious)
>>>>>             dsb();
>>>>>             wfi();
>>>>>
>>>>> +           if (pen_release == cpu_logical_map(cpu)) {
>>>>> +                   /*
>>>>> +                    * OK, proper wakeup, we're done
>>>>> +                    */
>>>>> +                   break;
>>>>> +           }
>>>>> +
>>> what pen_release stands for?
>>> I have looked at it and others platform are also using it in platsmp
>>> code which is not zynq case.
>>> How is it supposed to work and how this variable should be used?
>>
>> This variable is used to serialize the secondary cpus boot process.
> 
> I'm curious why it is called pen_release. :) Is there some historical
> link to some HW lines?

I tried to figure out the same but I did not found any information on
that. I assumed the name could be referring to a simplified mutual
exclusion algorithm from the 'Dining philosophers problem' [1] where the
fork is a pen.

But maybe I am totally wrong :)

[1] http://en.wikipedia.org/wiki/Dining_philosophers_problem



-- 
 <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs

Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
<http://twitter.com/#!/linaroorg> Twitter |
<http://www.linaro.org/linaro-blog/> Blog




More information about the linux-arm-kernel mailing list