|
@@ -44,9 +44,6 @@ static inline void wr_fence(void)
|
|
#define rmb() barrier()
|
|
#define rmb() barrier()
|
|
#define wmb() mb()
|
|
#define wmb() mb()
|
|
|
|
|
|
-#define dma_rmb() rmb()
|
|
|
|
-#define dma_wmb() wmb()
|
|
|
|
-
|
|
|
|
#ifndef CONFIG_SMP
|
|
#ifndef CONFIG_SMP
|
|
#define fence() do { } while (0)
|
|
#define fence() do { } while (0)
|
|
#define smp_mb() barrier()
|
|
#define smp_mb() barrier()
|
|
@@ -81,27 +78,9 @@ static inline void fence(void)
|
|
#endif
|
|
#endif
|
|
#endif
|
|
#endif
|
|
|
|
|
|
-#define read_barrier_depends() do { } while (0)
|
|
|
|
-#define smp_read_barrier_depends() do { } while (0)
|
|
|
|
-
|
|
|
|
-#define smp_store_mb(var, value) do { WRITE_ONCE(var, value); smp_mb(); } while (0)
|
|
|
|
-
|
|
|
|
-#define smp_store_release(p, v) \
|
|
|
|
-do { \
|
|
|
|
- compiletime_assert_atomic_type(*p); \
|
|
|
|
- smp_mb(); \
|
|
|
|
- WRITE_ONCE(*p, v); \
|
|
|
|
-} while (0)
|
|
|
|
-
|
|
|
|
-#define smp_load_acquire(p) \
|
|
|
|
-({ \
|
|
|
|
- typeof(*p) ___p1 = READ_ONCE(*p); \
|
|
|
|
- compiletime_assert_atomic_type(*p); \
|
|
|
|
- smp_mb(); \
|
|
|
|
- ___p1; \
|
|
|
|
-})
|
|
|
|
-
|
|
|
|
#define smp_mb__before_atomic() barrier()
|
|
#define smp_mb__before_atomic() barrier()
|
|
#define smp_mb__after_atomic() barrier()
|
|
#define smp_mb__after_atomic() barrier()
|
|
|
|
|
|
|
|
+#include <asm-generic/barrier.h>
|
|
|
|
+
|
|
#endif /* _ASM_METAG_BARRIER_H */
|
|
#endif /* _ASM_METAG_BARRIER_H */
|