RE: [PATCH 3/5] ARM: twd: Add context save restore support

Santosh Shilimkar
2011-01-25T11:40:41Z

> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux@arm.linux.org.uk]
> Sent: Tuesday, January 25, 2011 5:00 PM
> To: Colin Cross
> Cc: Santosh Shilimkar; catalin.marinas@arm.com;
> linus.ml.walleij@gmail.com; linux-omap@vger.kernel.org; linux-arm-
> kernel@lists.infradead.org
> Subject: Re: [PATCH 3/5] ARM: twd: Add context save restore support
>
> On Mon, Jan 24, 2011 at 11:39:13PM -0800, Colin Cross wrote:
> > This doesn't work for oneshot timers if the TWD_TIMER_CONTROL
> register
> > gets reset by cpu idle between twd_set_mode and
> twd_set_next_event.
> > Shadowing ctrl in a percpu variable and rewriting it during every
> call
> > to twd_set_next_event does work, but that's not much different,
> and a
> > little less efficient, than just saving and restoring the control
> and
> > load registers in idle. It does have the advantage that platforms
> > don't need any extra calls.
>
> BTW, do you think the patch is, nevertheless, an improvement and
> something
> we should do? If so, please can I have your ack for it?
>
As I was suspecting the one shot mode wouldn't work it. Collin
just confirmed it.
To make it fully work it needs control register save restore.
And that can be managed within TWD library so that every platform
doesn't have to bother of calling it from their idle code.

Do you prefer that as a separate patch or I can post a new version
in which can add your fix + per cpu control register shadowing ?

Regards,
Santosh