Re: [PATCH] Remove CPU_32v6K dependencies in asm/spinlock.h

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux