Skip to content

Commit

Permalink
ARM: 6870/1: The mandatory barrier rmb() must be a dsb() in for devic…
Browse files Browse the repository at this point in the history
…e accesses

Since mandatory barriers may be used (explicitly or implicitly via readl
etc.) to ensure the ordering between Device and Normal memory accesses,
a DMB is not enough. This patch converts it to a DSB.

Cc: Colin Cross <ccross@android.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
  • Loading branch information
Catalin Marinas authored and Russell King committed May 12, 2011
1 parent 2af68df commit a904f5f
Show file tree
Hide file tree
Showing 3 changed files with 3 additions and 3 deletions.
2 changes: 1 addition & 1 deletion arch/arm/include/asm/system.h
Original file line number Diff line number Diff line change
Expand Up @@ -159,7 +159,7 @@ extern unsigned int user_debug;
#include <mach/barriers.h>
#elif defined(CONFIG_ARM_DMA_MEM_BUFFERABLE) || defined(CONFIG_SMP)
#define mb() do { dsb(); outer_sync(); } while (0)
#define rmb() dmb()
#define rmb() dsb()
#define wmb() mb()
#else
#include <asm/memory.h>
Expand Down
2 changes: 1 addition & 1 deletion arch/arm/mach-realview/include/mach/barriers.h
Original file line number Diff line number Diff line change
Expand Up @@ -4,5 +4,5 @@
* operation to deadlock the system.
*/
#define mb() dsb()
#define rmb() dmb()
#define rmb() dsb()
#define wmb() mb()
2 changes: 1 addition & 1 deletion arch/arm/mach-tegra/include/mach/barriers.h
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@

#include <asm/outercache.h>

#define rmb() dmb()
#define rmb() dsb()
#define wmb() do { dsb(); outer_sync(); } while (0)
#define mb() wmb()

Expand Down

0 comments on commit a904f5f

Please sign in to comment.