Message ID | 1434623578-31509-1-git-send-email-dongsheng.wang@freescale.com |
---|---|
State | Accepted |
Delegated to: | York Sun |
Headers | show |
Hi Alison & Jason, Could you ACK this patch? Regards, -Dongsheng > -----Original Message----- > From: Dongsheng Wang [mailto:dongsheng.wang@freescale.com] > Sent: Thursday, June 18, 2015 6:33 PM > To: Sun York-R58495 > Cc: Jin Zhengxiong-R64188; Wang Huan-B18965; Zhao Chenhui-B35336; Zhang Zhuoyu- > B46552; u-boot@lists.denx.de; Wang Dongsheng-B40534 > Subject: [PATCH] arm/layerscape: Fix non-boot cpus cannot correctly fall in spin > table > > From: Wang Dongsheng <dongsheng.wang@freescale.com> > > Bootrom will put cpus into WFE state when boot cpu release cpus, so > target cpu cannot correctly go to spin state. > > Add 'sev' to wakeup non-boot cpu that hold on bootrom space, let target > cpu can fall into u-boot spin table. > > Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> > > diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c > index 75f0d8c..1f82893 100644 > --- a/arch/arm/cpu/armv7/ls102xa/cpu.c > +++ b/arch/arm/cpu/armv7/ls102xa/cpu.c > @@ -344,5 +344,13 @@ void smp_kick_all_cpus(void) > struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); > > out_be32(&gur->brrl, 0x2); > + > + /* > + * LS1 STANDBYWFE is not captured outside the ARM module in the soc. > + * So add a delay to wait bootrom execute WFE. > + */ > + udelay(1); > + > + asm volatile("sev"); > } > #endif > -- > 2.1.0.27.g96db324
On 07/14/2015 12:09 AM, Wang Dongsheng-B40534 wrote: > Hi Alison & Jason, > > Could you ACK this patch? > > Regards, > -Dongsheng > >> -----Original Message----- >> From: Dongsheng Wang [mailto:dongsheng.wang@freescale.com] >> Sent: Thursday, June 18, 2015 6:33 PM >> To: Sun York-R58495 >> Cc: Jin Zhengxiong-R64188; Wang Huan-B18965; Zhao Chenhui-B35336; Zhang Zhuoyu- >> B46552; u-boot@lists.denx.de; Wang Dongsheng-B40534 >> Subject: [PATCH] arm/layerscape: Fix non-boot cpus cannot correctly fall in spin >> table >> >> From: Wang Dongsheng <dongsheng.wang@freescale.com> >> >> Bootrom will put cpus into WFE state when boot cpu release cpus, so >> target cpu cannot correctly go to spin state. >> >> Add 'sev' to wakeup non-boot cpu that hold on bootrom space, let target >> cpu can fall into u-boot spin table. >> >> Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> Dongsheng, Do we still use spin table if we have PSCI? York
> -----Original Message----- > From: Sun York-R58495 > Sent: Thursday, July 16, 2015 2:06 AM > To: Wang Dongsheng-B40534 > Cc: Jin Zhengxiong-R64188; Wang Huan-B18965; Zhao Chenhui-B35336; Zhang Zhuoyu- > B46552; u-boot@lists.denx.de > Subject: Re: [PATCH] arm/layerscape: Fix non-boot cpus cannot correctly fall in > spin table > > On 07/14/2015 12:09 AM, Wang Dongsheng-B40534 wrote: > > Hi Alison & Jason, > > > > Could you ACK this patch? > > > > Regards, > > -Dongsheng > > > >> -----Original Message----- > >> From: Dongsheng Wang [mailto:dongsheng.wang@freescale.com] > >> Sent: Thursday, June 18, 2015 6:33 PM > >> To: Sun York-R58495 > >> Cc: Jin Zhengxiong-R64188; Wang Huan-B18965; Zhao Chenhui-B35336; > >> Zhang Zhuoyu- B46552; u-boot@lists.denx.de; Wang Dongsheng-B40534 > >> Subject: [PATCH] arm/layerscape: Fix non-boot cpus cannot correctly > >> fall in spin table > >> > >> From: Wang Dongsheng <dongsheng.wang@freescale.com> > >> > >> Bootrom will put cpus into WFE state when boot cpu release cpus, so > >> target cpu cannot correctly go to spin state. > >> > >> Add 'sev' to wakeup non-boot cpu that hold on bootrom space, let > >> target cpu can fall into u-boot spin table. > >> > >> Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> > > Dongsheng, > > Do we still use spin table if we have PSCI? > For ARMv7 we would like to use PSCI, just compatible with spin table. Regards, -Dongsheng
On 06/18/2015 03:32 AM, Dongsheng Wang wrote: > From: Wang Dongsheng <dongsheng.wang@freescale.com> > > Bootrom will put cpus into WFE state when boot cpu release cpus, so > target cpu cannot correctly go to spin state. > > Add 'sev' to wakeup non-boot cpu that hold on bootrom space, let target > cpu can fall into u-boot spin table. > > Signed-off-by: Wang Dongsheng <dongsheng.wang@freescale.com> > Applied to u-boot-fsl-qoriq master after fixing subject. Thanks. York
diff --git a/arch/arm/cpu/armv7/ls102xa/cpu.c b/arch/arm/cpu/armv7/ls102xa/cpu.c index 75f0d8c..1f82893 100644 --- a/arch/arm/cpu/armv7/ls102xa/cpu.c +++ b/arch/arm/cpu/armv7/ls102xa/cpu.c @@ -344,5 +344,13 @@ void smp_kick_all_cpus(void) struct ccsr_gur __iomem *gur = (void *)(CONFIG_SYS_FSL_GUTS_ADDR); out_be32(&gur->brrl, 0x2); + + /* + * LS1 STANDBYWFE is not captured outside the ARM module in the soc. + * So add a delay to wait bootrom execute WFE. + */ + udelay(1); + + asm volatile("sev"); } #endif