Commit 32e2b55e authored by Olof Johansson's avatar Olof Johansson
Browse files

[POWERPC] pasemi: Move cpus to hold loop before restart



Use smp_send_stop() to move all cpus besides the one executing reboot
into a hold loop, to keep them from being in powersavings mode at the
time of reboot.

Signed-off-by: default avatarOlof Johansson <olof@lixom.net>
parent 8b32bc03
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -43,6 +43,10 @@

#include "pasemi.h"

#if !defined(CONFIG_SMP)
static void smp_send_stop(void) {}
#endif

/* SDC reset register, must be pre-mapped at reset time */
static void __iomem *reset_reg;

@@ -60,6 +64,9 @@ static int num_mce_regs;

static void pas_restart(char *cmd)
{
	/* Need to put others cpu in hold loop so they're not sleeping */
	smp_send_stop();
	udelay(10000);
	printk("Restarting...\n");
	while (1)
		out_le32(reset_reg, 0x6000000);