Re: [PATCH RFC] ARM: vexpress: Use assembler mnemonic for WFI inplatform_do_lowpower.

From: Nick Bowler
Date: Fri Aug 19 2011 - 15:26:48 EST


On 2011-08-19 19:15 +0100, Jamie Iles wrote:
> On Fri, Aug 19, 2011 at 02:03:24PM -0400, Nick Bowler wrote:
[...]
> > - /*
> > - * here's the WFI
> > - */
> > - asm(".word 0xe320f003\n"
> > + asm("wfi\n"
> > :
> > :
> > : "memory", "cc");
>
> There's a wfi() macro defined in arch/arm/include/asm/system.h that
> could be used here.

Indeed, thanks for pointing that out.

I'm a little wary, however: the wfi macro does not include the "cc"
clobber that this code has currently, and I don't know what the
implications of removing it are. There appears to be no current
users of the wfi macro.

Taking a closer look, there appear to be five platforms that have a
hardcoded WFI just like the above (including the "cc" clobber):
exynos4, realview, shmobile, tegra and vexpress. omap defines its
own do_wfi macro, *without* the "cc" clobber.

Nevertheless, using the macro seems to work just fine, so I can
certainly re-spin the patch with that instead.

--
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/