RE: [PATCH v2 1/5] ARM: omap4: Correct definition of do_wfi() forCONFIG_THUMB2_KERNEL

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

 



> -----Original Message-----
> From: Russell King - ARM Linux [mailto:linux@xxxxxxxxxxxxxxxx]
> Sent: Friday, February 04, 2011 12:38 AM
> To: Santosh Shilimkar
> Cc: Dave Martin; linux-arm-kernel@xxxxxxxxxxxxxxxxxxx; Tony
> Lindgren; Nicolas Pitre; linux-omap@xxxxxxxxxxxxxxx; Jean Pihet-XID
> Subject: Re: [PATCH v2 1/5] ARM: omap4: Correct definition of
> do_wfi() forCONFIG_THUMB2_KERNEL
>
> On Fri, Feb 04, 2011 at 12:09:34AM +0530, Santosh Shilimkar wrote:
> > > -----Original Message-----
> > > From: Dave Martin [mailto:dave.martin@xxxxxxxxxx]
> > > Sent: Thursday, February 03, 2011 11:33 PM
> > > To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
> > > Cc: Dave Martin; Tony Lindgren; Santosh Shilimkar; Jean Pihet;
> > > linux-omap@xxxxxxxxxxxxxxx; Nicolas Pitre
> > > Subject: [PATCH v2 1/5] ARM: omap4: Correct definition of
> do_wfi()
> > > for CONFIG_THUMB2_KERNEL
> > >
> > > For the Thumb-2 case, the "wfi" mnemonic is used, since in this
> > > case the tools will necessarily be new enough to support it.
> > >
> > > Signed-off-by: Dave Martin <dave.martin@xxxxxxxxxx>
> >
> > I guess, we discussed this patch in your previous post.
> > Acked-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx>
> >
> > > ---
> > >  arch/arm/mach-omap2/include/mach/omap4-common.h |    5 +++++
> > >  1 files changed, 5 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-omap2/include/mach/omap4-common.h
> > > b/arch/arm/mach-omap2/include/mach/omap4-common.h
> > > index 5b0270b..68ce058 100644
> > > --- a/arch/arm/mach-omap2/include/mach/omap4-common.h
> > > +++ b/arch/arm/mach-omap2/include/mach/omap4-common.h
> > > @@ -17,8 +17,13 @@
> > >   * wfi used in low power code. Directly opcode is used instead
> > >   * of instruction to avoid mulit-omap build break
> > >   */
> > > +#ifdef CONFIG_THUMB2_KERNEL
> > > +#define do_wfi()			\
> > > +		__asm__ __volatile__ ("wfi" : : : "memory")
> > > +#else
> > >  #define do_wfi()			\
> > >  		__asm__ __volatile__ (".word	0xe320f003" : : :
> > > "memory")
> > > +#endif
>
> We actually have this:
>
> #if __LINUX_ARM_ARCH__ >= 7 ||          \
>         (__LINUX_ARM_ARCH__ == 6 && defined(CONFIG_CPU_32v6K))
> #define sev()   __asm__ __volatile__ ("sev" : : : "memory")
> #define wfe()   __asm__ __volatile__ ("wfe" : : : "memory")
> #define wfi()   __asm__ __volatile__ ("wfi" : : : "memory")
> #endif
>
> in asm/system.h, so maybe it should be using wfe() from asm/system.h
> ?
I assume you mean wfi here.
The problem is, omap2plus build breaks because it builds
CPU_32v6 and CPU_32v7 as well which doesn't support the wfi
instruction. Hence I used opcode directly to keep build
working.

Regards,
Santosh
--
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