aboutsummaryrefslogtreecommitdiffstats
path: root/arch/metag
diff options
context:
space:
mode:
authorMichael S. Tsirkin <mst@redhat.com>2015-12-21 02:22:18 -0500
committerMichael S. Tsirkin <mst@redhat.com>2016-01-12 13:46:50 -0500
commitabe114d9f0a80f27bc5040cd2287dca80423d13e (patch)
treebdafde450ec21e4c37e618ac7324f35a773212f1 /arch/metag
parent90ff6a17d0e07d689886cba4244674bfd41e7a2d (diff)
metag: reuse asm-generic/barrier.h
On metag dma_rmb, dma_wmb, smp_store_mb, read_barrier_depends, smp_read_barrier_depends, smp_store_release and smp_load_acquire match the asm-generic variants exactly. Drop the local definitions and pull in asm-generic/barrier.h instead. This is in preparation to refactoring this code area. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Acked-by: James Hogan <james.hogan@imgtec.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Diffstat (limited to 'arch/metag')
-rw-r--r--arch/metag/include/asm/barrier.h25
1 files changed, 2 insertions, 23 deletions
diff --git a/arch/metag/include/asm/barrier.h b/arch/metag/include/asm/barrier.h
index 172b7e5efc53..b5b778bb0b33 100644
--- a/arch/metag/include/asm/barrier.h
+++ b/arch/metag/include/asm/barrier.h
@@ -44,9 +44,6 @@ static inline void wr_fence(void)
44#define rmb() barrier() 44#define rmb() barrier()
45#define wmb() mb() 45#define wmb() mb()
46 46
47#define dma_rmb() rmb()
48#define dma_wmb() wmb()
49
50#ifndef CONFIG_SMP 47#ifndef CONFIG_SMP
51#define fence() do { } while (0) 48#define fence() do { } while (0)
52#define smp_mb() barrier() 49#define smp_mb() barrier()
@@ -81,27 +78,9 @@ static inline void fence(void)
81#endif 78#endif
82#endif 79#endif
83 80
84#define read_barrier_depends() do { } while (0)
85#define smp_read_barrier_depends() do { } while (0)
86
87#define smp_store_mb(var, value) do { WRITE_ONCE(var, value); smp_mb(); } while (0)
88
89#define smp_store_release(p, v) \
90do { \
91 compiletime_assert_atomic_type(*p); \
92 smp_mb(); \
93 WRITE_ONCE(*p, v); \
94} while (0)
95
96#define smp_load_acquire(p) \
97({ \
98 typeof(*p) ___p1 = READ_ONCE(*p); \
99 compiletime_assert_atomic_type(*p); \
100 smp_mb(); \
101 ___p1; \
102})
103
104#define smp_mb__before_atomic() barrier() 81#define smp_mb__before_atomic() barrier()
105#define smp_mb__after_atomic() barrier() 82#define smp_mb__after_atomic() barrier()
106 83
84#include <asm-generic/barrier.h>
85
107#endif /* _ASM_METAG_BARRIER_H */ 86#endif /* _ASM_METAG_BARRIER_H */