summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/hotplug.c
diff options
context:
space:
mode:
authorAnson Huang <b20788@freescale.com>2013-08-15 16:18:22 -0400
committerNitin Garg <nitin.garg@freescale.com>2014-04-16 08:01:16 -0500
commite829afa3467e64ae09bd9170db05b626361d7f85 (patch)
tree98eefc9cd727ec89066a5ef8b2e5805daaf78769 /arch/arm/mach-imx/hotplug.c
parent0e136ef3213744320aab4adce10c51d34957bff2 (diff)
ENGR00275403 ARM: imx: Support CPU hotplug
When doing secondary cores enable/disable, the enable bit and reset bit in SRC should be written together. Without this, CPU hotplug can NOT pass stress test, and with this, it can passed over 500k iterations CPU hotplug test with many threads running in background, at least three boards are tested. When trying hotplug a secondary core, it should stay in idle forever before it is disabled from SRC. Signed-off-by: Anson Huang <b20788@freescale.com>
Diffstat (limited to 'arch/arm/mach-imx/hotplug.c')
-rw-r--r--arch/arm/mach-imx/hotplug.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/arm/mach-imx/hotplug.c b/arch/arm/mach-imx/hotplug.c
index 3daf1ed90579..a40919b92255 100644
--- a/arch/arm/mach-imx/hotplug.c
+++ b/arch/arm/mach-imx/hotplug.c
@@ -1,5 +1,5 @@
/*
- * Copyright 2011 Freescale Semiconductor, Inc.
+ * Copyright 2011, 2013 Freescale Semiconductor, Inc.
* Copyright 2011 Linaro Ltd.
*
* The code contained herein is licensed under the GNU General Public
@@ -52,7 +52,8 @@ void imx_cpu_die(unsigned int cpu)
* the register being cleared to kill the cpu.
*/
imx_set_cpu_arg(cpu, ~0);
- cpu_do_idle();
+ for (;;)
+ cpu_do_idle();
}
int imx_cpu_kill(unsigned int cpu)