Commit 8553cb67 authored by Catalin Marinas's avatar Catalin Marinas
Browse files

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: default avatarCatalin Marinas <catalin.marinas@arm.com>



parent 73b63efa
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -71,6 +71,8 @@ ENTRY(cpu_v6_reset)
 *	IRQs are already disabled.
 */
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
	mov	pc, lr

+1 −0
Original line number Diff line number Diff line
@@ -63,6 +63,7 @@ ENDPROC(cpu_v7_reset)
 *	IRQs are already disabled.
 */
ENTRY(cpu_v7_do_idle)
	dsb					@ WFI may enter a low-power mode
	wfi
	mov	pc, lr
ENDPROC(cpu_v7_do_idle)