arm64: barriers: allow dsb macro to take option parameter
authorWill Deacon <will.deacon@arm.com>
Thu, 6 Feb 2014 11:30:48 +0000 (11:30 +0000)
committerMark Brown <broonie@linaro.org>
Wed, 21 May 2014 14:58:22 +0000 (15:58 +0100)
The dsb instruction takes an option specifying both the target access
types and shareability domain.

This patch allows such an option to be passed to the dsb macro,
resulting in potentially more efficient code. Currently the option is
ignored until all callers are updated (unlike ARM, the option is
mandated by the assembler).

Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
(cherry picked from commit 4a7ac12eedd190cdf071e61145defa73df1675c0)
Signed-off-by: Mark Brown <broonie@linaro.org>
arch/arm64/include/asm/barrier.h

index d4a63338a53c49a1085c4c72ce7330f207e3b3bf..60ac8661bee39199be957e1d09eb0225a6170b66 100644 (file)
@@ -25,7 +25,7 @@
 #define wfi()          asm volatile("wfi" : : : "memory")
 
 #define isb()          asm volatile("isb" : : : "memory")
-#define dsb()          asm volatile("dsb sy" : : : "memory")
+#define dsb(opt)       asm volatile("dsb sy" : : : "memory")
 
 #define mb()           dsb()
 #define rmb()          asm volatile("dsb ld" : : : "memory")