Lines Matching full:v
42 #define atomic64_add(i, v) atomic64_add_return((i), (v)) argument
43 #define atomic64_sub(i, v) atomic64_sub_return((i), (v)) argument
44 #define atomic64_inc_return(v) atomic64_add_return(1, (v)) argument
45 #define atomic64_add_negative(i, v) (atomic64_add_return((i), (v)) < 0) argument
46 #define atomic64_add_and_test(i, v) (atomic64_add_return((i), (v)) == 0) argument
47 #define atomic64_sub_and_test(i, v) (atomic64_sub_return((i), (v)) == 0) argument
48 #define atomic64_dec_and_test(v) (atomic64_sub_return(1, (v)) == 0) argument
49 #define atomic64_inc_and_test(v) (atomic64_add_return(1, (v)) == 0) argument
50 #define atomic64_dec_return(v) atomic64_sub_return(1, (v)) argument
51 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) argument
54 atomic64_fetch_add(int64_t i, atomic64_t *v) in atomic64_fetch_add() argument
56 return (atomic_fetchadd_64(&v->counter, i)); in atomic64_fetch_add()
60 atomic64_add_return(int64_t i, atomic64_t *v) in atomic64_add_return() argument
62 return i + atomic_fetchadd_64(&v->counter, i); in atomic64_add_return()
66 atomic64_sub_return(int64_t i, atomic64_t *v) in atomic64_sub_return() argument
68 return atomic_fetchadd_64(&v->counter, -i) - i; in atomic64_sub_return()
72 atomic64_set(atomic64_t *v, int64_t i) in atomic64_set() argument
74 atomic_store_rel_64(&v->counter, i); in atomic64_set()
78 atomic64_read(atomic64_t *v) in atomic64_read() argument
80 return READ_ONCE(v->counter); in atomic64_read()
84 atomic64_inc(atomic64_t *v) in atomic64_inc() argument
86 return atomic_fetchadd_64(&v->counter, 1) + 1; in atomic64_inc()
90 atomic64_dec(atomic64_t *v) in atomic64_dec() argument
92 return atomic_fetchadd_64(&v->counter, -1) - 1; in atomic64_dec()
96 atomic64_add_unless(atomic64_t *v, int64_t a, int64_t u) in atomic64_add_unless() argument
98 int64_t c = atomic64_read(v); in atomic64_add_unless()
103 if (likely(atomic_fcmpset_64(&v->counter, &c, c + a))) in atomic64_add_unless()
110 atomic64_fetch_add_unless(atomic64_t *v, int64_t a, int64_t u) in atomic64_fetch_add_unless() argument
112 int64_t c = atomic64_read(v); in atomic64_fetch_add_unless()
117 if (likely(atomic_fcmpset_64(&v->counter, &c, c + a))) in atomic64_fetch_add_unless()
124 atomic64_xchg(atomic64_t *v, int64_t i) in atomic64_xchg() argument
127 return (atomic_swap_64(&v->counter, i)); in atomic64_xchg()
129 int64_t ret = atomic64_read(v); in atomic64_xchg()
131 while (!atomic_fcmpset_64(&v->counter, &ret, i)) in atomic64_xchg()
138 atomic64_cmpxchg(atomic64_t *v, int64_t old, int64_t new) in atomic64_cmpxchg() argument
143 if (atomic_fcmpset_64(&v->counter, &ret, new)) in atomic64_cmpxchg()