mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-07 03:18:31 +00:00
Modern processors may need to drain the WB before WFI
Since WFI may cause the processor to enter a low-power mode, data may still be in the write buffer. This patch adds a DSB (or DWB) to the cpu_(v6|v7)_do_idle functions before the WFI. Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
This commit is contained in:
parent
73b63efaac
commit
8553cb67d2
2 changed files with 3 additions and 0 deletions
|
@ -71,6 +71,8 @@ ENTRY(cpu_v6_reset)
|
||||||
* IRQs are already disabled.
|
* IRQs are already disabled.
|
||||||
*/
|
*/
|
||||||
ENTRY(cpu_v6_do_idle)
|
ENTRY(cpu_v6_do_idle)
|
||||||
|
mov r1, #0
|
||||||
|
mcr p15, 0, r1, c7, c10, 4 @ DWB - WFI may enter a low-power mode
|
||||||
mcr p15, 0, r1, c7, c0, 4 @ wait for interrupt
|
mcr p15, 0, r1, c7, c0, 4 @ wait for interrupt
|
||||||
mov pc, lr
|
mov pc, lr
|
||||||
|
|
||||||
|
|
|
@ -63,6 +63,7 @@ ENDPROC(cpu_v7_reset)
|
||||||
* IRQs are already disabled.
|
* IRQs are already disabled.
|
||||||
*/
|
*/
|
||||||
ENTRY(cpu_v7_do_idle)
|
ENTRY(cpu_v7_do_idle)
|
||||||
|
dsb @ WFI may enter a low-power mode
|
||||||
wfi
|
wfi
|
||||||
mov pc, lr
|
mov pc, lr
|
||||||
ENDPROC(cpu_v7_do_idle)
|
ENDPROC(cpu_v7_do_idle)
|
||||||
|
|
Loading…
Reference in a new issue