Lines Matching refs:sfx
21 #define __XCHG_CASE(w, sfx, name, sz, mb, nop_lse, acq, acq_lse, rel, cl) \
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) \
66 __arch_xchg##sfx(unsigned long x, volatile void *ptr, int size) \
70 return __xchg_case##sfx##_8(x, ptr); \
72 return __xchg_case##sfx##_16(x, ptr); \
74 return __xchg_case##sfx##_32(x, ptr); \
76 return __xchg_case##sfx##_64(x, ptr); \
91 #define __xchg_wrapper(sfx, ptr, x) \
95 __arch_xchg##sfx((unsigned long)(x), (ptr), sizeof(*(ptr))); \
146 #define __CMPXCHG_GEN(sfx) \
147 static __always_inline unsigned long __cmpxchg##sfx(volatile void *ptr, \
154 return __cmpxchg_case##sfx##_8(ptr, old, new); \
156 return __cmpxchg_case##sfx##_16(ptr, old, new); \
158 return __cmpxchg_case##sfx##_32(ptr, old, new); \
160 return __cmpxchg_case##sfx##_64(ptr, old, new); \
175 #define __cmpxchg_wrapper(sfx, ptr, o, n) \
179 __cmpxchg##sfx((ptr), (unsigned long)(o), \
211 #define __CMPWAIT_CASE(w, sfx, sz) \
220 " ldxr" #sfx "\t%" #w "[tmp], %[v]\n" \
236 #define __CMPWAIT_GEN(sfx) \
237 static __always_inline void __cmpwait##sfx(volatile void *ptr, \
243 return __cmpwait_case##sfx##_8(ptr, (u8)val); \
245 return __cmpwait_case##sfx##_16(ptr, (u16)val); \
247 return __cmpwait_case##sfx##_32(ptr, val); \
249 return __cmpwait_case##sfx##_64(ptr, val); \