summaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-realview/include/mach/barriers.h
diff options
context:
space:
mode:
authorCatalin Marinas <catalin.marinas@arm.com>2010-07-01 14:21:47 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2010-07-02 11:10:09 +0200
commit2503a5ecd86c002506001eba432c524ea009fe7f (patch)
tree02f4646b29de1194154db5bd387298c222ffaf59 /arch/arm/mach-realview/include/mach/barriers.h
parentMerge branch 'imx-for-2.6.35' of git://git.pengutronix.de/git/imx/linux-2.6 (diff)
downloadlinux-2503a5ecd86c002506001eba432c524ea009fe7f.tar.xz
linux-2503a5ecd86c002506001eba432c524ea009fe7f.zip
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: 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>
Diffstat (limited to 'arch/arm/mach-realview/include/mach/barriers.h')
-rw-r--r--arch/arm/mach-realview/include/mach/barriers.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-realview/include/mach/barriers.h b/arch/arm/mach-realview/include/mach/barriers.h
new file mode 100644
index 000000000000..0c5d749d7b5f
--- /dev/null
+++ b/arch/arm/mach-realview/include/mach/barriers.h
@@ -0,0 +1,8 @@
+/*
+ * 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()