[POWERPC] Fix rmb to order cacheable vs. noncacheable
authorNick Piggin <npiggin@suse.de>
Wed, 21 May 2008 14:10:56 +0000 (00:10 +1000)
committerPaul Mackerras <paulus@samba.org>
Mon, 16 Jun 2008 05:00:20 +0000 (15:00 +1000)
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>
include/asm-powerpc/system.h

index 2b6559a..5235f87 100644 (file)
@@ -34,7 +34,7 @@
  * SMP since it is only used to order updates to system 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 read_barrier_depends()  do { } while(0)