On 13 December 2010 15:12, Catalin Marinas <catalin.marinas@xxxxxxx> wrote: > On 13 December 2010 01:20, Â<ykaoua@xxxxxxxxxxxx> wrote: >> --- /dev/null >> +++ b/arch/arm/mach-msm/hotplug.c > [...] >> +static inline void platform_do_lowpower(unsigned int cpu) >> +{ >> + Â Â Â /* Just enter wfe for now. */ >> + Â Â Â for (;;) { >> + Â Â Â Â Â Â Â asm("wfe"); >> + Â Â Â Â Â Â Â if (pen_release == cpu) { >> + Â Â Â Â Â Â Â Â Â Â Â /* >> + Â Â Â Â Â Â Â Â Â Â Â Â* OK, proper wakeup, we're done >> + Â Â Â Â Â Â Â Â Â Â Â Â*/ >> + Â Â Â Â Â Â Â Â Â Â Â break; >> + Â Â Â Â Â Â Â } >> + Â Â Â Â Â Â Â smp_rmb(); > > Do you need some barrier after wfe? I checked with the hw people and it looks like we don't need a DSB after an WFE (as you have in headsmp.S) since the hardware doesn't speculate the loads beyond the WFE (lower power state). But in the above case you may need some compiler barrier to avoid code reordering. -- Catalin -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html