Lines Matching refs:v

41 #define	atomic_add(i, v)		atomic_add_return((i), (v))  argument
42 #define atomic_sub(i, v) atomic_sub_return((i), (v)) argument
43 #define atomic_inc_return(v) atomic_add_return(1, (v)) argument
44 #define atomic_add_negative(i, v) (atomic_add_return((i), (v)) < 0) argument
45 #define atomic_sub_and_test(i, v) (atomic_sub_return((i), (v)) == 0) argument
46 #define atomic_dec_and_test(v) (atomic_sub_return(1, (v)) == 0) argument
47 #define atomic_inc_and_test(v) (atomic_add_return(1, (v)) == 0) argument
48 #define atomic_dec_return(v) atomic_sub_return(1, (v)) argument
50 #define atomic64_add(i, v) atomic_add_return_long((i), (v)) argument
51 #define atomic64_sub(i, v) atomic_sub_return_long((i), (v)) argument
53 #define atomic_xchg(p, v) atomic_swap_int(&((p)->counter), v) argument
54 #define atomic64_xchg(p, v) atomic_swap_long(&((p)->counter), v) argument
62 atomic_add_return(int i, atomic_t *v) in atomic_add_return() argument
64 return i + atomic_fetchadd_int(&v->counter, i); in atomic_add_return()
68 atomic_add_return_long(int64_t i, atomic64_t *v) in atomic_add_return_long() argument
70 return i + atomic_fetchadd_long(&v->counter, i); in atomic_add_return_long()
74 atomic_sub_return(int i, atomic_t *v) in atomic_sub_return() argument
76 return atomic_fetchadd_int(&v->counter, -i) - i; in atomic_sub_return()
80 atomic_sub_return_long(int64_t i, atomic64_t *v) in atomic_sub_return_long() argument
82 return atomic_fetchadd_long(&v->counter, -i) - i; in atomic_sub_return_long()
86 atomic_set(atomic_t *v, int i) in atomic_set() argument
88 atomic_store_rel_int(&v->counter, i); in atomic_set()
92 atomic64_set(atomic64_t *v, long i) in atomic64_set() argument
94 atomic_store_rel_long(&v->counter, i); in atomic64_set()
98 atomic_read(const atomic_t *v) in atomic_read() argument
100 return READ_ONCE(v->counter); in atomic_read()
104 atomic64_read(atomic64_t *v) in atomic64_read() argument
106 return atomic_load_acq_long(&v->counter); in atomic64_read()
110 atomic_inc(atomic_t *v) in atomic_inc() argument
112 return atomic_fetchadd_int(&v->counter, 1) + 1; in atomic_inc()
116 atomic_dec(atomic_t *v) in atomic_dec() argument
118 return atomic_fetchadd_int(&v->counter, -1) - 1; in atomic_dec()
121 static inline int atomic_cmpxchg(atomic_t *v, int old, int new) in atomic_cmpxchg() argument
123 return atomic_cmpxchg_int(&v->counter, old, new); in atomic_cmpxchg()
126 static inline int atomic_add_unless(atomic_t *v, int add, int unless) in atomic_add_unless() argument
129 c = atomic_read(v); in atomic_add_unless()
133 old = atomic_cmpxchg_int(&v->counter, c, c + add); in atomic_add_unless()
141 #define atomic_inc_not_zero(v) atomic_add_unless((v), 1, 0) argument
155 atomic_andnot(int i, atomic_t *v) in atomic_andnot() argument
158 atomic_clear_int(&v->counter, i); in atomic_andnot()
198 atomic_set_release(atomic_t *v, int i) in atomic_set_release() argument
200 atomic_store_rel_int(&v->counter, i); in atomic_set_release()
205 atomic_fetch_xor(int i, atomic_t *v) in atomic_fetch_xor() argument
207 int val = READ_ONCE(v->counter); in atomic_fetch_xor()
209 while (atomic_cmpxchg_int(&v->counter, val, val ^ i) == 0) { in atomic_fetch_xor()
216 atomic_dec_if_positive(atomic_t *v) in atomic_dec_if_positive() argument
221 old = atomic_read(v); in atomic_dec_if_positive()
226 if (likely(atomic_fcmpset_int(&v->counter, &old, retval))) in atomic_dec_if_positive()