[GIT PULL] omap changes for v2.6.39 merge window
linus.walleij at linaro.org
Mon Apr 4 16:08:50 EDT 2011
2011/4/4 Marc Zyngier <Marc.Zyngier at arm.com>:
> On Mon, 2011-04-04 at 14:31 +0100, Russell King - ARM Linux wrote:
>> If ARM are going to architect a set of timers into the hardware, let's
>> make sure that all such hardware has them so we can dig ourselves out
>> of this crappy mess that we find ourselves in today.
> As far as I know, A15 always has a set of generic timers.
> It may be that they are not available (frequency not programmed into the
> CNTFREQ register), or that someone decided to use a better alternative
> (for some particular interpretation of "better").
I guess this thing is inside that A15 core?
First, what happens the day any vendors start making SoCs on this is
they turn the A15 core off whenever it is not used, loosing all state
including this timer, I believe.
This forces them all to add some totally different clocksource, event and
wakeup in some always-on voltage domain and rate that higher than
the A15 timer(s). They will then implement sched_clock() and
clocksource on that instead and only use A15 for localtimers.
(Leading to the proliferation of board/SoC timer hacks discussed
so much recently...)
The only way to reuse that poor thing in practice is if you engineer
a separate power domain with stuff that is supposed to be always-on
in the A15 macro (including these timers) so vendors must implement
this so as not to loose its state. Is this the case?
Else, in effect it will only be used as clocksource and sched_clock()
with these Versatile boards where the power is always on anyway.
Second, have you taken into account the effect of changing the
frequency of the A15 core, which is something every vendor also
does, as you know Colin Cross already has a patch pending
for that on the TWD localtimer which has not yet reached
the kernel. (Or is A15 fixed frequency? Forgive my ignorance...)
(And third it will also eventually need to hook into the timer-based
delay framework that I think Nokia is working on to be really
useful, else all delays become unpredictable.)
More information about the linux-arm-kernel