Lines Matching refs:sfx
21 #define __XCHG_CASE(w, sfx, name, sz, mb, nop_lse, acq, acq_lse, rel, cl) \ argument
30 "1: ld" #acq "xr" #sfx "\t%" #w "0, %2\n" \
31 " st" #rel "xr" #sfx "\t%w1, %" #w "3, %2\n" \
35 " swp" #acq_lse #rel #sfx "\t%" #w "3, %" #w "0, %2\n" \
64 #define __XCHG_GEN(sfx) \ argument
65 static __always_inline unsigned long __xchg##sfx(unsigned long x, \
71 return __xchg_case##sfx##_8(x, ptr); \
73 return __xchg_case##sfx##_16(x, ptr); \
75 return __xchg_case##sfx##_32(x, ptr); \
77 return __xchg_case##sfx##_64(x, ptr); \
92 #define __xchg_wrapper(sfx, ptr, x) \ argument
96 __xchg##sfx((unsigned long)(x), (ptr), sizeof(*(ptr))); \
150 #define __CMPXCHG_GEN(sfx) \ argument
151 static __always_inline unsigned long __cmpxchg##sfx(volatile void *ptr, \
158 return __cmpxchg_case##sfx##_8(ptr, old, new); \
160 return __cmpxchg_case##sfx##_16(ptr, old, new); \
162 return __cmpxchg_case##sfx##_32(ptr, old, new); \
164 return __cmpxchg_case##sfx##_64(ptr, old, new); \
179 #define __cmpxchg_wrapper(sfx, ptr, o, n) \ argument
183 __cmpxchg##sfx((ptr), (unsigned long)(o), \
232 #define __CMPWAIT_CASE(w, sfx, sz) \ argument
241 " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \
257 #define __CMPWAIT_GEN(sfx) \ argument
258 static __always_inline void __cmpwait##sfx(volatile void *ptr, \
264 return __cmpwait_case##sfx##_8(ptr, (u8)val); \
266 return __cmpwait_case##sfx##_16(ptr, (u16)val); \
268 return __cmpwait_case##sfx##_32(ptr, val); \
270 return __cmpwait_case##sfx##_64(ptr, val); \