ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards with L220
commit62de72363dc42c800c1673f9d128a95829c9804d
authorCatalin Marinas <catalin.marinas@arm.com>
Thu, 1 Jul 2010 12:21:47 +0000 (1 13:21 +0100)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 2 Aug 2010 17:29:55 +0000 (2 10:29 -0700)
treea4b06e23e55e96b42d5a82134e9d30f1a990b275
parent84a31e648dc5c2677f150ab0fadfb516a8d9abf4
ARM: 6201/1: RealView: Do not use outer_sync() on ARM11MPCore boards with L220

commit 2503a5ecd86c002506001eba432c524ea009fe7f upstream.

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.

Tested-by: Linus Walleij <linus.walleij@stericsson.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/arm/mach-realview/Kconfig
arch/arm/mach-realview/include/mach/barriers.h [new file with mode: 0644]