|
@@ -30,13 +30,13 @@ static inline void cpu_enter_lowpower(void)
|
|
|
* Turn off coherency
|
|
|
*/
|
|
|
" mrc p15, 0, %0, c1, c0, 1\n"
|
|
|
- " bic %0, %0, #0x20\n"
|
|
|
+ " bic %0, %0, %2\n"
|
|
|
" mcr p15, 0, %0, c1, c0, 1\n"
|
|
|
" mrc p15, 0, %0, c1, c0, 0\n"
|
|
|
" bic %0, %0, #0x04\n"
|
|
|
" mcr p15, 0, %0, c1, c0, 0\n"
|
|
|
: "=&r" (v)
|
|
|
- : "r" (0)
|
|
|
+ : "r" (0), "Ir" (CR_C)
|
|
|
: "cc");
|
|
|
}
|
|
|
|
|
@@ -46,13 +46,13 @@ static inline void cpu_leave_lowpower(void)
|
|
|
|
|
|
asm volatile(
|
|
|
"mrc p15, 0, %0, c1, c0, 0\n"
|
|
|
- " orr %0, %0, #0x04\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, #0x20\n"
|
|
|
" mcr p15, 0, %0, c1, c0, 1\n"
|
|
|
: "=&r" (v)
|
|
|
- :
|
|
|
+ : "Ir" (CR_C)
|
|
|
: "cc");
|
|
|
}
|
|
|
|