Lines Matching +full:sync +full:- +full:read
38 * The insw/outsw/insl/outsl macros don't do byte-swapping.
40 * are arrays of bytes, and byte-swapping is not appropriate in
41 * that case. - paulus
83 * The *_ns versions below don't do byte-swapping.
100 * Enforce In-order Execution of I/O:
109 static inline void sync(void) in sync() function
111 __asm__ __volatile__ ("sync" : : : "memory"); in sync()
119 /* Enforce in-order execution of data I/O.
120 * No distinction between read/write on PPC; use eieio for all three.
126 #define mb() sync()
130 * Non ordered and non-swapping "raw" accessors
162 * Read operations have additional twi & isync to make sure the read
171 "sync; lbz%U1%X1 %0,%1;\n" in in_8()
179 __asm__ __volatile__("sync;\n" in out_8()
189 __asm__ __volatile__("sync; lhbrx %0,0,%1;\n" in in_le16()
200 __asm__ __volatile__("sync; lhz%U1%X1 %0,%1;\n" in in_be16()
208 __asm__ __volatile__("sync; sthbrx %1,0,%2" : "=m" (*addr) : in out_le16()
214 __asm__ __volatile__("sync; sth%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); in out_be16()
221 __asm__ __volatile__("sync; lwbrx %0,0,%1;\n" in in_le32()
232 __asm__ __volatile__("sync; lwz%U1%X1 %0,%1;\n" in in_be32()
240 __asm__ __volatile__("sync; stwbrx %1,0,%2" : "=m" (*addr) : in out_le32()
246 __asm__ __volatile__("sync; stw%U0%X0 %1,%0" : "=m" (*addr) : "r" (val)); in out_be32()
251 * also be used to set a multiple-bit bit pattern using a mask, by
323 #include <asm-generic/io.h>