]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blobdiff - arch/x86/include/asm/barrier.h
arch: Add lightweight memory barriers dma_rmb() and dma_wmb()
[mirror_ubuntu-zesty-kernel.git] / arch / x86 / include / asm / barrier.h
index 5238000285c16f9400975f82a15d52922ffddf4a..2ab1eb33106eec42eff90d27b98cb698b5c4c835 100644 (file)
 #define wmb()  asm volatile("sfence" ::: "memory")
 #endif
 
-#ifdef CONFIG_SMP
-#define smp_mb()       mb()
 #ifdef CONFIG_X86_PPRO_FENCE
-# define smp_rmb()     rmb()
+#define dma_rmb()      rmb()
 #else
-# define smp_rmb()     barrier()
+#define dma_rmb()      barrier()
 #endif
+#define dma_wmb()      barrier()
+
+#ifdef CONFIG_SMP
+#define smp_mb()       mb()
+#define smp_rmb()      dma_rmb()
 #define smp_wmb()      barrier()
 #define set_mb(var, value) do { (void)xchg(&var, value); } while (0)
 #else /* !SMP */