linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: EXYNOS: Use wfi macro in platform_do_lowpower
@ 2014-05-22  7:57 Leela Krishna Amudala
  2014-05-22 11:53 ` Daniel Lezcano
  2014-05-22 19:01 ` Daniel Lezcano
  0 siblings, 2 replies; 8+ messages in thread
From: Leela Krishna Amudala @ 2014-05-22  7:57 UTC (permalink / raw)
  To: linux-arm-kernel

This patch is originally based on commit b3377d186572 ("ARM: 7064/1:
vexpress: Use wfi macro in platform_do_lowpower.")

Current Exynos CPU hotplug code includes a hardcoded WFI
instruction, in ARM encoding.  When the kernel is compiled in Thumb-2
mode, this is invalid and causes the machine to hang hard when a CPU
is offlined.

Use wfi macro instead of the hardcoded WFI instruction.

Signed-off-by: Leela Krishna Amudala <leela.krishna@linaro.org>
---
 arch/arm/mach-exynos/hotplug.c |    8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c
index 69fa483..8a134d0 100644
--- a/arch/arm/mach-exynos/hotplug.c
+++ b/arch/arm/mach-exynos/hotplug.c
@@ -46,13 +46,7 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious)
 		if (cpu == 1)
 			exynos_cpu_power_down(cpu);
 
-		/*
-		 * here's the WFI
-		 */
-		asm(".word	0xe320f003\n"
-		    :
-		    :
-		    : "memory", "cc");
+		wfi();
 
 		if (pen_release == cpu_logical_map(cpu)) {
 			/*
-- 
1.7.9.5

^ permalink raw reply related	[flat|nested] 8+ messages in thread
* [PATCH] ARM: EXYNOS: Use wfi macro in platform_do_lowpower
@ 2013-03-08 11:09 Tushar Behera
  2013-04-02  8:29 ` Tushar Behera
  0 siblings, 1 reply; 8+ messages in thread
From: Tushar Behera @ 2013-03-08 11:09 UTC (permalink / raw)
  To: linux-arm-kernel

As per commit b3377d186572 ("ARM: 7064/1: vexpress: Use wfi macro
in platform_do_lowpower."), wfi macro should be used instead
of the hardcoded WFI instruction.

This fixes following oops when the kernel is compiled in Thumb-2 mode
on EXYNOS5. (Tested on EXYNOS5250 based Arndale board)

$ reboot
Disabling non-boot CPUs ...
IRQ153 no longer affine to CPU1
CPU1: shutdown
Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP THUMB2
Modules linked in:
CPU: 1    Not tainted  (3.9.0-rc1-00015-gce76372 #1)
PC is at 0xc065858e
LR is at exynos_cpu_die+0x53/0xc0

Signed-off-by: Tushar Behera <tushar.behera@linaro.org>
---
 arch/arm/mach-exynos/hotplug.c |    8 +-------
 1 files changed, 1 insertions(+), 7 deletions(-)

diff --git a/arch/arm/mach-exynos/hotplug.c b/arch/arm/mach-exynos/hotplug.c
index c3f825b..d9712fe 100644
--- a/arch/arm/mach-exynos/hotplug.c
+++ b/arch/arm/mach-exynos/hotplug.c
@@ -99,13 +99,7 @@ static inline void platform_do_lowpower(unsigned int cpu, int *spurious)
 		if (cpu == 1)
 			__raw_writel(0, S5P_ARM_CORE1_CONFIGURATION);
 
-		/*
-		 * here's the WFI
-		 */
-		asm(".word	0xe320f003\n"
-		    :
-		    :
-		    : "memory", "cc");
+		wfi();
 
 		if (pen_release == cpu_logical_map(cpu)) {
 			/*
-- 
1.7.4.1

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2014-05-27 15:33 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-22  7:57 [PATCH] ARM: EXYNOS: Use wfi macro in platform_do_lowpower Leela Krishna Amudala
2014-05-22 11:53 ` Daniel Lezcano
2014-05-22 17:55   ` Nicolas Pitre
2014-05-22 19:01 ` Daniel Lezcano
2014-05-23  6:13   ` Leela Krishna Amudala
2014-05-27 15:33     ` Kukjin Kim
  -- strict thread matches above, loose matches on Subject: below --
2013-03-08 11:09 Tushar Behera
2013-04-02  8:29 ` Tushar Behera

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).