Lines Matching refs:p
91 #define __smp_load_acquire(p) \ argument
93 typeof(*p) ___p1 = READ_ONCE(*p); \
94 compiletime_assert_atomic_type(*p); \
99 #define __smp_store_release(p, v) \ argument
101 compiletime_assert_atomic_type(*p); \
103 WRITE_ONCE(*p, v); \
106 #define __smp_store_mb(p, v) \ argument
108 union { typeof(p) __val; char __c[1]; } __u = \
109 { .__val = (__force typeof(p)) (v) }; \
111 switch (sizeof(p)) { \
113 *(volatile __u8 *)&p = *(__u8 *)__u.__c; \
117 *(volatile __u16 *)&p = *(__u16 *)__u.__c; \
123 : [mem] "+ZB" (*(u32 *)&p), [tmp] "=&r" (__tmp) \
130 : [mem] "+ZB" (*(u64 *)&p), [tmp] "=&r" (__tmp) \