浏览代码

keystone2: add wfi in to the core_spin loop

When core A turning of core B, via tetris DPSC it places the core
B DPSC into transitional state. The core B has to execute wfi instruction
to move its DPSC to the OFF state. This patch add such instruction.

Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Reviewed-by: Tom Rini <trini@konsulko.com>
Vitaly Andrianov 10 年之前
父节点
当前提交
17c5bda2a9
共有 1 个文件被更改,包括 7 次插入2 次删除
  1. 7 2
      arch/arm/mach-keystone/cmd_mon.c

+ 7 - 2
arch/arm/mach-keystone/cmd_mon.c

@@ -55,8 +55,13 @@ U_BOOT_CMD(mon_install, 2, 0, do_mon_install,
 
 static void core_spin(void)
 {
-	while (1)
-		; /* forever */;
+	while (1) {
+		asm volatile (
+			"dsb\n"
+			"isb\n"
+			"wfi\n"
+		);
+	}
 }
 
 int mon_power_on(int core_id, void *ep)