Lines Matching refs:v

73 static inline int atomic_read(const atomic_t *v)  in atomic_read()  argument
79 : "=d" (c) : "Q" (v->counter)); in atomic_read()
83 static inline void atomic_set(atomic_t *v, int i) in atomic_set() argument
87 : "=Q" (v->counter) : "d" (i)); in atomic_set()
90 static inline int atomic_add_return(int i, atomic_t *v) in atomic_add_return() argument
92 return __ATOMIC_LOOP(v, i, __ATOMIC_ADD, __ATOMIC_BARRIER) + i; in atomic_add_return()
95 static inline void atomic_add(int i, atomic_t *v) in atomic_add() argument
101 : "+Q" (v->counter) in atomic_add()
107 __ATOMIC_LOOP(v, i, __ATOMIC_ADD, __ATOMIC_NO_BARRIER); in atomic_add()
121 static inline void atomic_clear_mask(unsigned int mask, atomic_t *v) in atomic_clear_mask() argument
123 __ATOMIC_LOOP(v, ~mask, __ATOMIC_AND, __ATOMIC_NO_BARRIER); in atomic_clear_mask()
126 static inline void atomic_set_mask(unsigned int mask, atomic_t *v) in atomic_set_mask() argument
128 __ATOMIC_LOOP(v, mask, __ATOMIC_OR, __ATOMIC_NO_BARRIER); in atomic_set_mask()
131 #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) argument
133 static inline int atomic_cmpxchg(atomic_t *v, int old, int new) in atomic_cmpxchg() argument
137 : "+d" (old), "+Q" (v->counter) in atomic_cmpxchg()
143 static inline int __atomic_add_unless(atomic_t *v, int a, int u) in __atomic_add_unless() argument
146 c = atomic_read(v); in __atomic_add_unless()
150 old = atomic_cmpxchg(v, c, c + a); in __atomic_add_unless()
213 static inline long long atomic64_read(const atomic64_t *v) in atomic64_read() argument
219 : "=d" (c) : "Q" (v->counter)); in atomic64_read()
223 static inline void atomic64_set(atomic64_t *v, long long i) in atomic64_set() argument
227 : "=Q" (v->counter) : "d" (i)); in atomic64_set()
230 static inline long long atomic64_add_return(long long i, atomic64_t *v) in atomic64_add_return() argument
232 return __ATOMIC64_LOOP(v, i, __ATOMIC64_ADD, __ATOMIC64_BARRIER) + i; in atomic64_add_return()
235 static inline void atomic64_add(long long i, atomic64_t *v) in atomic64_add() argument
241 : "+Q" (v->counter) in atomic64_add()
247 __ATOMIC64_LOOP(v, i, __ATOMIC64_ADD, __ATOMIC64_NO_BARRIER); in atomic64_add()
250 static inline void atomic64_clear_mask(unsigned long mask, atomic64_t *v) in atomic64_clear_mask() argument
252 __ATOMIC64_LOOP(v, ~mask, __ATOMIC64_AND, __ATOMIC64_NO_BARRIER); in atomic64_clear_mask()
255 static inline void atomic64_set_mask(unsigned long mask, atomic64_t *v) in atomic64_set_mask() argument
257 __ATOMIC64_LOOP(v, mask, __ATOMIC64_OR, __ATOMIC64_NO_BARRIER); in atomic64_set_mask()
260 #define atomic64_xchg(v, new) (xchg(&((v)->counter), new)) argument
262 static inline long long atomic64_cmpxchg(atomic64_t *v, in atomic64_cmpxchg() argument
267 : "+d" (old), "+Q" (v->counter) in atomic64_cmpxchg()
275 static inline int atomic64_add_unless(atomic64_t *v, long long i, long long u) in atomic64_add_unless() argument
279 c = atomic64_read(v); in atomic64_add_unless()
283 old = atomic64_cmpxchg(v, c, c + i); in atomic64_add_unless()
291 static inline long long atomic64_dec_if_positive(atomic64_t *v) in atomic64_dec_if_positive() argument
295 c = atomic64_read(v); in atomic64_dec_if_positive()
300 old = atomic64_cmpxchg((v), c, dec); in atomic64_dec_if_positive()
318 #define atomic64_inc_not_zero(v) atomic64_add_unless((v), 1, 0) argument