Lines Matching refs:v

20 #define atomic_read(v)		ACCESS_ONCE((v)->counter)  argument
21 #define atomic_set(v, i) (((v)->counter) = i) argument
34 static inline void atomic_##op(int i, atomic_t *v) \
36 __asm__ __volatile__(#asm_op "l %1,%0" : "+m" (*v) : ASM_DI (i));\
42 static inline int atomic_##op##_return(int i, atomic_t *v) \
51 : "+m" (*v), "=&d" (t), "=&d" (tmp) \
52 : "g" (i), "2" (atomic_read(v))); \
59 static inline int atomic_##op##_return(int i, atomic_t * v) \
65 t = (v->counter c_op i); \
84 static inline void atomic_inc(atomic_t *v) in atomic_inc() argument
86 __asm__ __volatile__("addql #1,%0" : "+m" (*v)); in atomic_inc()
89 static inline void atomic_dec(atomic_t *v) in atomic_dec() argument
91 __asm__ __volatile__("subql #1,%0" : "+m" (*v)); in atomic_dec()
94 static inline int atomic_dec_and_test(atomic_t *v) in atomic_dec_and_test() argument
97 __asm__ __volatile__("subql #1,%1; seq %0" : "=d" (c), "+m" (*v)); in atomic_dec_and_test()
101 static inline int atomic_dec_and_test_lt(atomic_t *v) in atomic_dec_and_test_lt() argument
106 : "=d" (c), "=m" (*v) in atomic_dec_and_test_lt()
107 : "m" (*v)); in atomic_dec_and_test_lt()
111 static inline int atomic_inc_and_test(atomic_t *v) in atomic_inc_and_test() argument
114 __asm__ __volatile__("addql #1,%1; seq %0" : "=d" (c), "+m" (*v)); in atomic_inc_and_test()
120 #define atomic_cmpxchg(v, o, n) ((int)cmpxchg(&((v)->counter), (o), (n))) argument
121 #define atomic_xchg(v, new) (xchg(&((v)->counter), new)) argument
125 static inline int atomic_cmpxchg(atomic_t *v, int old, int new) in atomic_cmpxchg() argument
131 prev = atomic_read(v); in atomic_cmpxchg()
133 atomic_set(v, new); in atomic_cmpxchg()
138 static inline int atomic_xchg(atomic_t *v, int new) in atomic_xchg() argument
144 prev = atomic_read(v); in atomic_xchg()
145 atomic_set(v, new); in atomic_xchg()
152 #define atomic_dec_return(v) atomic_sub_return(1, (v)) argument
153 #define atomic_inc_return(v) atomic_add_return(1, (v)) argument
155 static inline int atomic_sub_and_test(int i, atomic_t *v) in atomic_sub_and_test() argument
159 : "=d" (c), "+m" (*v) in atomic_sub_and_test()
164 static inline int atomic_add_negative(int i, atomic_t *v) in atomic_add_negative() argument
168 : "=d" (c), "+m" (*v) in atomic_add_negative()
173 static inline void atomic_clear_mask(unsigned long mask, unsigned long *v) in atomic_clear_mask() argument
175 __asm__ __volatile__("andl %1,%0" : "+m" (*v) : ASM_DI (~(mask))); in atomic_clear_mask()
178 static inline void atomic_set_mask(unsigned long mask, unsigned long *v) in atomic_set_mask() argument
180 __asm__ __volatile__("orl %1,%0" : "+m" (*v) : ASM_DI (mask)); in atomic_set_mask()
183 static __inline__ int __atomic_add_unless(atomic_t *v, int a, int u) in __atomic_add_unless() argument
186 c = atomic_read(v); in __atomic_add_unless()
190 old = atomic_cmpxchg((v), c, c + (a)); in __atomic_add_unless()