ARM: imx: reset core along with enable/disable operation
authorShawn Guo <shawn.guo@linaro.org>
Wed, 9 Oct 2013 07:54:31 +0000 (15:54 +0800)
committerShawn Guo <shawn.guo@linaro.org>
Mon, 21 Oct 2013 01:37:32 +0000 (09:37 +0800)
From hotplug stress test result, resetting core during enable/disable
operation can improve cpu hotplug stability.  So let's set
SRC reset bit in imx_enable_cpu() for the core when its enable bit is
accessed.

Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
arch/arm/mach-imx/src.c

index 10a6b1a..4754373 100644 (file)
@@ -91,6 +91,7 @@ void imx_enable_cpu(int cpu, bool enable)
        spin_lock(&scr_lock);
        val = readl_relaxed(src_base + SRC_SCR);
        val = enable ? val | mask : val & ~mask;
+       val |= 1 << (BP_SRC_SCR_CORE1_RST + cpu - 1);
        writel_relaxed(val, src_base + SRC_SCR);
        spin_unlock(&scr_lock);
 }