[PATCH v2 1/5] ARM: omap4: Correct definition of do_wfi() for CONFIG_THUMB2_KERNEL
From: Russell King - ARM Linux <hidden>
Date: 2011-02-03 19:07:58
Also in:
linux-omap
On Fri, Feb 04, 2011 at 12:09:34AM +0530, Santosh Shilimkar wrote:
quoted
-----Original Message----- From: Dave Martin [mailto:dave.martin at linaro.org] Sent: Thursday, February 03, 2011 11:33 PM To: linux-arm-kernel at lists.infradead.org Cc: Dave Martin; Tony Lindgren; Santosh Shilimkar; Jean Pihet; linux-omap at vger.kernel.org; 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 <redacted>I guess, we discussed this patch in your previous post. Acked-by: Santosh Shilimkar <redacted>quoted
--- 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.hb/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 ?