On Mon, Jan 17, 2011 at 12:12:55PM +0000, Catalin Marinas wrote: > On 17 January 2011 10:53, Russell King - ARM Linux > <linux@xxxxxxxxxxxxxxxx> wrote: > > On Mon, Jan 17, 2011 at 10:37:39AM +0000, Russell King - ARM Linux wrote: > >> 3. Do we always need a dsb prior to a sev? Maybe the SPEAR patches need > >> another review to determine how they're using sev()? > > > > FYI, this is how the SPEAR patches use sev(): > > > > | +static void __init wakeup_secondary(void) > > | +{ > > | + /* nobody is to be released from the pen yet */ > > | + pen_release = -1; > > | + > > | + /* > > | + * Write the address of secondary startup into the system-wide > > | + * location (presently it is in SRAM). The BootMonitor waits > > | + * for this register to become non-zero. > > | + * We must also send an sev to wake it up > > | + */ > > | + __raw_writel(BSYM(virt_to_phys(spear13xx_secondary_startup)), > > | + __io_address(SPEAR13XX_SYS_LOCATION)); > > | + > > | + mb(); > > | + > > | + /* > > | + * Send a 'sev' to wake the secondary core from WFE. > > | + */ > > | + sev(); > > | +} > > > > so the dsb() is inside mb(), before the outer sync call. > > BTW, don't we need some cache flushing for the pen_release? Which is why I referred to "updated patch" - that's something which all implementations suffered from until recently. -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html