Lines Matching refs:ptr

35 static __always_inline unsigned long __percpu_##op(void *ptr,		\
43 "am"#asm_op".w" " %[ret], %[val], %[ptr] \n" \
44 : [ret] "=&r" (ret), [ptr] "+ZB"(*(u32 *)ptr) \
49 "am"#asm_op".d" " %[ret], %[val], %[ptr] \n" \
50 : [ret] "=&r" (ret), [ptr] "+ZB"(*(u64 *)ptr) \
66 static __always_inline unsigned long __percpu_read(void *ptr, int size)
72 __asm__ __volatile__ ("ldx.b %[ret], $r21, %[ptr] \n"
74 : [ptr] "r"(ptr)
78 __asm__ __volatile__ ("ldx.h %[ret], $r21, %[ptr] \n"
80 : [ptr] "r"(ptr)
84 __asm__ __volatile__ ("ldx.w %[ret], $r21, %[ptr] \n"
86 : [ptr] "r"(ptr)
90 __asm__ __volatile__ ("ldx.d %[ret], $r21, %[ptr] \n"
92 : [ptr] "r"(ptr)
103 static __always_inline void __percpu_write(void *ptr, unsigned long val, int size)
107 __asm__ __volatile__("stx.b %[val], $r21, %[ptr] \n"
109 : [val] "r" (val), [ptr] "r" (ptr)
113 __asm__ __volatile__("stx.h %[val], $r21, %[ptr] \n"
115 : [val] "r" (val), [ptr] "r" (ptr)
119 __asm__ __volatile__("stx.w %[val], $r21, %[ptr] \n"
121 : [val] "r" (val), [ptr] "r" (ptr)
125 __asm__ __volatile__("stx.d %[val], $r21, %[ptr] \n"
127 : [val] "r" (val), [ptr] "r" (ptr)
135 static __always_inline unsigned long __percpu_xchg(void *ptr, unsigned long val,
141 return __xchg_small((volatile void *)ptr, val, size);
144 return __xchg_asm("amswap.w", (volatile u32 *)ptr, (u32)val);
147 return __xchg_asm("amswap.d", (volatile u64 *)ptr, (u64)val);
229 #define this_cpu_cmpxchg_1(ptr, o, n) _protect_cmpxchg_local(ptr, o, n)
230 #define this_cpu_cmpxchg_2(ptr, o, n) _protect_cmpxchg_local(ptr, o, n)
231 #define this_cpu_cmpxchg_4(ptr, o, n) _protect_cmpxchg_local(ptr, o, n)
232 #define this_cpu_cmpxchg_8(ptr, o, n) _protect_cmpxchg_local(ptr, o, n)