|
@@ -42,22 +42,6 @@ static inline void cpu_enter_lowpower(void)
|
|
|
: "cc");
|
|
|
}
|
|
|
|
|
|
-static inline void cpu_leave_lowpower(void)
|
|
|
-{
|
|
|
- unsigned int v;
|
|
|
-
|
|
|
- asm volatile(
|
|
|
- "mrc p15, 0, %0, c1, c0, 0\n"
|
|
|
- " orr %0, %0, %1\n"
|
|
|
- " mcr p15, 0, %0, c1, c0, 0\n"
|
|
|
- " mrc p15, 0, %0, c1, c0, 1\n"
|
|
|
- " orr %0, %0, %2\n"
|
|
|
- " mcr p15, 0, %0, c1, c0, 1\n"
|
|
|
- : "=&r" (v)
|
|
|
- : "Ir" (CR_C), "Ir" (0x40)
|
|
|
- : "cc");
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* platform-specific code to shutdown a CPU
|
|
|
*
|
|
@@ -67,11 +51,10 @@ void platform_cpu_die(unsigned int cpu)
|
|
|
{
|
|
|
cpu_enter_lowpower();
|
|
|
imx_enable_cpu(cpu, false);
|
|
|
- cpu_do_idle();
|
|
|
- cpu_leave_lowpower();
|
|
|
|
|
|
- /* We should never return from idle */
|
|
|
- panic("cpu %d unexpectedly exit from shutdown\n", cpu);
|
|
|
+ /* spin here until hardware takes it down */
|
|
|
+ while (1)
|
|
|
+ ;
|
|
|
}
|
|
|
|
|
|
int platform_cpu_disable(unsigned int cpu)
|