[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 2b6559a6d113d6e883887ff6766be4989ed54dcb..5235f875b932ad247dd5b9eff1e1d76105a995aa 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)