arm64: barriers: wire up new barrier options
authorWill Deacon <will.deacon@arm.com>
Fri, 2 May 2014 15:24:11 +0000 (16:24 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Fri, 9 May 2014 16:03:41 +0000 (17:03 +0100)
Now that all callers of the barrier macros are updated to pass the
mandatory options, update the macros so the option is actually used.

Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/include/asm/barrier.h

index 5d69edd..71a42d6 100644 (file)
 #define wfi()          asm volatile("wfi" : : : "memory")
 
 #define isb()          asm volatile("isb" : : : "memory")
-#define dmb(opt)       asm volatile("dmb sy" : : : "memory")
-#define dsb(opt)       asm volatile("dsb sy" : : : "memory")
+#define dmb(opt)       asm volatile("dmb " #opt : : : "memory")
+#define dsb(opt)       asm volatile("dsb " #opt : : : "memory")
 
 #define mb()           dsb(sy)
-#define rmb()          asm volatile("dsb ld" : : : "memory")
-#define wmb()          asm volatile("dsb st" : : : "memory")
+#define rmb()          dsb(ld)
+#define wmb()          dsb(st)
 
 #ifndef CONFIG_SMP
 #define smp_mb()       barrier()
@@ -54,9 +54,9 @@ do {                                                                  \
 
 #else
 
-#define smp_mb()       asm volatile("dmb ish" : : : "memory")
-#define smp_rmb()      asm volatile("dmb ishld" : : : "memory")
-#define smp_wmb()      asm volatile("dmb ishst" : : : "memory")
+#define smp_mb()       dmb(ish)
+#define smp_rmb()      dmb(ishld)
+#define smp_wmb()      dmb(ishst)
 
 #define smp_store_release(p, v)                                                \
 do {                                                                   \