Lines Matching refs:v

40 static inline raw_spinlock_t *lock_addr(const atomic64_t *v)  in lock_addr()  argument
42 unsigned long addr = (unsigned long) v; in lock_addr()
49 long long atomic64_read(const atomic64_t *v) in atomic64_read() argument
52 raw_spinlock_t *lock = lock_addr(v); in atomic64_read()
56 val = v->counter; in atomic64_read()
62 void atomic64_set(atomic64_t *v, long long i) in atomic64_set() argument
65 raw_spinlock_t *lock = lock_addr(v); in atomic64_set()
68 v->counter = i; in atomic64_set()
74 void atomic64_##op(long long a, atomic64_t *v) \
77 raw_spinlock_t *lock = lock_addr(v); \
80 v->counter c_op a; \
86 long long atomic64_##op##_return(long long a, atomic64_t *v) \
89 raw_spinlock_t *lock = lock_addr(v); \
93 val = (v->counter c_op a); \
110 long long atomic64_dec_if_positive(atomic64_t *v) in atomic64_dec_if_positive() argument
113 raw_spinlock_t *lock = lock_addr(v); in atomic64_dec_if_positive()
117 val = v->counter - 1; in atomic64_dec_if_positive()
119 v->counter = val; in atomic64_dec_if_positive()
125 long long atomic64_cmpxchg(atomic64_t *v, long long o, long long n) in atomic64_cmpxchg() argument
128 raw_spinlock_t *lock = lock_addr(v); in atomic64_cmpxchg()
132 val = v->counter; in atomic64_cmpxchg()
134 v->counter = n; in atomic64_cmpxchg()
140 long long atomic64_xchg(atomic64_t *v, long long new) in atomic64_xchg() argument
143 raw_spinlock_t *lock = lock_addr(v); in atomic64_xchg()
147 val = v->counter; in atomic64_xchg()
148 v->counter = new; in atomic64_xchg()
154 int atomic64_add_unless(atomic64_t *v, long long a, long long u) in atomic64_add_unless() argument
157 raw_spinlock_t *lock = lock_addr(v); in atomic64_add_unless()
161 if (v->counter != u) { in atomic64_add_unless()
162 v->counter += a; in atomic64_add_unless()