Lines Matching refs:ptr
29 __arch_xchg(unsigned long x, volatile void *ptr, int size) in __arch_xchg() argument
40 prefetchw((const void *)ptr); in __arch_xchg()
52 : "r" (x), "r" (ptr) in __arch_xchg()
62 : "r" (x), "r" (ptr) in __arch_xchg()
73 : "r" (x), "r" (ptr) in __arch_xchg()
82 ret = *(volatile unsigned char *)ptr; in __arch_xchg()
83 *(volatile unsigned char *)ptr = x; in __arch_xchg()
89 ret = *(volatile unsigned long *)ptr; in __arch_xchg()
90 *(volatile unsigned long *)ptr = x; in __arch_xchg()
98 : "r" (x), "r" (ptr) in __arch_xchg()
105 : "r" (x), "r" (ptr) in __arch_xchg()
111 __bad_xchg(ptr, size), ret = 0; in __arch_xchg()
118 #define arch_xchg_relaxed(ptr, x) ({ \ argument
119 (__typeof__(*(ptr)))__arch_xchg((unsigned long)(x), (ptr), \
120 sizeof(*(ptr))); \
138 #define arch_cmpxchg_local(ptr, o, n) ({ \ argument
139 (__typeof(*ptr))__generic_cmpxchg_local((ptr), \
142 sizeof(*(ptr))); \
145 #define arch_cmpxchg64_local(ptr, o, n) __generic_cmpxchg64_local((ptr), (o), (n)) argument
151 extern void __bad_cmpxchg(volatile void *ptr, int size);
157 static inline unsigned long __cmpxchg(volatile void *ptr, unsigned long old, in __cmpxchg() argument
162 prefetchw((const void *)ptr); in __cmpxchg()
174 : "r" (ptr), "Ir" (old), "r" (new) in __cmpxchg()
186 : "r" (ptr), "Ir" (old), "r" (new) in __cmpxchg()
199 : "r" (ptr), "Ir" (old), "r" (new) in __cmpxchg()
204 __bad_cmpxchg(ptr, size); in __cmpxchg()
211 #define arch_cmpxchg_relaxed(ptr,o,n) ({ \ argument
212 (__typeof__(*(ptr)))__cmpxchg((ptr), \
215 sizeof(*(ptr))); \
218 static inline unsigned long __cmpxchg_local(volatile void *ptr, in __cmpxchg_local() argument
228 ret = __generic_cmpxchg_local(ptr, old, new, size); in __cmpxchg_local()
232 ret = __cmpxchg(ptr, old, new, size); in __cmpxchg_local()
238 #define arch_cmpxchg_local(ptr, o, n) ({ \ argument
239 (__typeof(*ptr))__cmpxchg_local((ptr), \
242 sizeof(*(ptr))); \
245 static inline unsigned long long __cmpxchg64(unsigned long long *ptr, in __cmpxchg64() argument
252 prefetchw(ptr); in __cmpxchg64()
263 : "=&r" (res), "=&r" (oldval), "+Qo" (*ptr) in __cmpxchg64()
264 : "r" (ptr), "r" (old), "r" (new) in __cmpxchg64()
270 #define arch_cmpxchg64_relaxed(ptr, o, n) ({ \ argument
271 (__typeof__(*(ptr)))__cmpxchg64((ptr), \
276 #define arch_cmpxchg64_local(ptr, o, n) arch_cmpxchg64_relaxed((ptr), (o), (n)) argument