[RFC] ARM Generic Timer + Interaction with WFI on Cortex-A15

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Tue Nov 26 05:10:41 EST 2013


Hi Marc,

On Tue, Nov 26, 2013 at 06:42:03AM +0000, Marc C wrote:
> Hello Lorenzo,
> 
> > It is an A15 oddity and we should not care, given that this behaviour
> > is platform specific and likely to fail in most common A15
> > implementations.
> 
> I'm supporting a platform where this "oddity" is actually a relied-upon
> feature. Our ARMv7-compliant MPCore implements the ARM Generic Timer per
> spec. Our implementation isn't a constituent of a big.LITTLE
> arrangement, and we'll never completely power-off all cores (we just use
> WFI).

So what's the problem then ? Just avoid adding CPUIDLE_FLAG_TIMER_STOP
to the C-state flags and you are all set, or I am missing something here ?

> According to the documentation that currently exists, it seems that the
> behavior of the ARM Generic Timer on cores like the A15 is really just
> an attribute of that specific implementation. As you've alluded to,
> there may be other implementations that are also usable when the CPUs
> enter WFI. That said, do you object to having an optional boolean
> property in the arch_timer DT binding [1] which allows users to override
> the C3STOP flag? The default behavior would be as is currently
> implemented, and for the odd machines we can add the new property to the DT.

Yes I do object. Timer binding is global in the DT and do not want to
override the flag for all local timers when, as I mentioned, A15 behaviour is
just an exception. If you really need that, please write an idle driver that
does not enter broadcast mode on C-state entry (see above).

Thanks,
Lorenzo




More information about the linux-arm-kernel mailing list