Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 2503a5ec authored by Catalin Marinas's avatar Catalin Marinas Committed by Russell King
Browse files

ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards with L220



RealView boards with certain revisions of the L220 cache controller (ARM11*
processors only) may have issues (hardware deadlock) with the recent changes to
the mb() barrier implementation (DSB followed by an L2 cache sync). The patch
redefines the RealView ARM11MPCore mandatory barriers without the outer_sync()
call.

Cc: <stable@kernel.org>
Tested-by: default avatarLinus Walleij <linus.walleij@stericsson.com>
Signed-off-by: default avatarCatalin Marinas <catalin.marinas@arm.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 00952d8f
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -18,6 +18,7 @@ config REALVIEW_EB_ARM11MP
	bool "Support ARM11MPCore tile"
	depends on MACH_REALVIEW_EB
	select CPU_V6
	select ARCH_HAS_BARRIERS if SMP
	help
	  Enable support for the ARM11MPCore tile on the Realview platform.

@@ -35,6 +36,7 @@ config MACH_REALVIEW_PB11MP
	select CPU_V6
	select ARM_GIC
	select HAVE_PATA_PLATFORM
	select ARCH_HAS_BARRIERS if SMP
	help
	  Include support for the ARM(R) RealView MPCore Platform Baseboard.
	  PB11MPCore is a platform with an on-board ARM11MPCore and has
+8 −0
Original line number Diff line number Diff line
/*
 * Barriers redefined for RealView ARM11MPCore platforms with L220 cache
 * controller to work around hardware errata causing the outer_sync()
 * operation to deadlock the system.
 */
#define mb()		dsb()
#define rmb()		dmb()
#define wmb()		mb()