Lines Matching refs:v
33 #define atomic_read(v) READ_ONCE((v)->counter) argument
42 #define atomic_set(v, i) WRITE_ONCE((v)->counter, (i)) argument
45 static __inline__ void atomic_##op(int i, atomic_t * v) \
57 : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (v->counter) \
69 : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (v->counter) \
76 v->counter c_op i; \
82 static __inline__ int atomic_##op##_return(int i, atomic_t * v) \
100 "+" GCC_OFF_SMALL_ASM() (v->counter) \
113 "+" GCC_OFF_SMALL_ASM() (v->counter) \
122 result = v->counter; \
124 v->counter = result; \
156 static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) in atomic_sub_if_positive() argument
178 "+" GCC_OFF_SMALL_ASM() (v->counter) in atomic_sub_if_positive()
179 : "Ir" (i), GCC_OFF_SMALL_ASM() (v->counter) in atomic_sub_if_positive()
197 "+" GCC_OFF_SMALL_ASM() (v->counter) in atomic_sub_if_positive()
203 result = v->counter; in atomic_sub_if_positive()
206 v->counter = result; in atomic_sub_if_positive()
215 #define atomic_cmpxchg(v, o, n) (cmpxchg(&((v)->counter), (o), (n))) argument
216 #define atomic_xchg(v, new) (xchg(&((v)->counter), (new))) argument
227 static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) in __atomic_add_unless() argument
230 c = atomic_read(v); in __atomic_add_unless()
234 old = atomic_cmpxchg((v), c, c + (a)); in __atomic_add_unless()
242 #define atomic_dec_return(v) atomic_sub_return(1, (v)) argument
243 #define atomic_inc_return(v) atomic_add_return(1, (v)) argument
254 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0) argument
264 #define atomic_inc_and_test(v) (atomic_inc_return(v) == 0) argument
274 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0) argument
280 #define atomic_dec_if_positive(v) atomic_sub_if_positive(1, v) argument
288 #define atomic_inc(v) atomic_add(1, (v)) argument
296 #define atomic_dec(v) atomic_sub(1, (v)) argument
307 #define atomic_add_negative(i, v) (atomic_add_return(i, (v)) < 0) argument
318 #define atomic64_read(v) READ_ONCE((v)->counter) argument
325 #define atomic64_set(v, i) WRITE_ONCE((v)->counter, (i)) argument
328 static __inline__ void atomic64_##op(long i, atomic64_t * v) \
340 : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (v->counter) \
352 : "=&r" (temp), "+" GCC_OFF_SMALL_ASM() (v->counter) \
359 v->counter c_op i; \
365 static __inline__ long atomic64_##op##_return(long i, atomic64_t * v) \
383 "+" GCC_OFF_SMALL_ASM() (v->counter) \
396 "=" GCC_OFF_SMALL_ASM() (v->counter) \
397 : "Ir" (i), GCC_OFF_SMALL_ASM() (v->counter) \
406 result = v->counter; \
408 v->counter = result; \
440 static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) in atomic64_sub_if_positive() argument
462 "=" GCC_OFF_SMALL_ASM() (v->counter) in atomic64_sub_if_positive()
463 : "Ir" (i), GCC_OFF_SMALL_ASM() (v->counter) in atomic64_sub_if_positive()
481 "+" GCC_OFF_SMALL_ASM() (v->counter) in atomic64_sub_if_positive()
487 result = v->counter; in atomic64_sub_if_positive()
490 v->counter = result; in atomic64_sub_if_positive()
499 #define atomic64_cmpxchg(v, o, n) \ argument
500 ((__typeof__((v)->counter))cmpxchg(&((v)->counter), (o), (n)))
501 #define atomic64_xchg(v, new) (xchg(&((v)->counter), (new))) argument
512 static __inline__ int atomic64_add_unless(atomic64_t *v, long a, long u) in atomic64_add_unless() argument
515 c = atomic64_read(v); in atomic64_add_unless()
519 old = atomic64_cmpxchg((v), c, c + (a)); in atomic64_add_unless()
527 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) argument
529 #define atomic64_dec_return(v) atomic64_sub_return(1, (v)) argument
530 #define atomic64_inc_return(v) atomic64_add_return(1, (v)) argument
541 #define atomic64_sub_and_test(i, v) (atomic64_sub_return((i), (v)) == 0) argument
551 #define atomic64_inc_and_test(v) (atomic64_inc_return(v) == 0) argument
561 #define atomic64_dec_and_test(v) (atomic64_sub_return(1, (v)) == 0) argument
567 #define atomic64_dec_if_positive(v) atomic64_sub_if_positive(1, v) argument
575 #define atomic64_inc(v) atomic64_add(1, (v)) argument
583 #define atomic64_dec(v) atomic64_sub(1, (v)) argument
594 #define atomic64_add_negative(i, v) (atomic64_add_return(i, (v)) < 0) argument