浏览代码

[POWERPC] Fix rmb to order cacheable vs. noncacheable

lwsync is explicitly defined not to have any effect on the ordering of
accesses to device memory, so it cannot be used for rmb(). sync appears
to be the only barrier which fits the bill.

Signed-off-by: Nick Piggin <npiggin@suse.de>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Nick Piggin 17 年之前
父节点
当前提交
598056d5af
共有 1 个文件被更改,包括 1 次插入1 次删除
  1. 1 1
      include/asm-powerpc/system.h

+ 1 - 1
include/asm-powerpc/system.h

@@ -34,7 +34,7 @@
  * SMP since it is only used to order updates to system memory.
  * SMP since it is only used to order updates to system memory.
  */
  */
 #define mb()   __asm__ __volatile__ ("sync" : : : "memory")
 #define mb()   __asm__ __volatile__ ("sync" : : : "memory")
-#define rmb()  __asm__ __volatile__ (__stringify(LWSYNC) : : : "memory")
+#define rmb()  __asm__ __volatile__ ("sync" : : : "memory")
 #define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
 #define wmb()  __asm__ __volatile__ ("sync" : : : "memory")
 #define read_barrier_depends()  do { } while(0)
 #define read_barrier_depends()  do { } while(0)