Lines Matching refs:sem
52 static inline void __down_read(struct rw_semaphore *sem) in __down_read() argument
62 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in __down_read()
63 : "Q" (sem->count), "i" (RWSEM_ACTIVE_READ_BIAS) in __down_read()
66 rwsem_down_read_failed(sem); in __down_read()
72 static inline int __down_read_trylock(struct rw_semaphore *sem) in __down_read_trylock() argument
84 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in __down_read_trylock()
85 : "Q" (sem->count), "i" (RWSEM_ACTIVE_READ_BIAS) in __down_read_trylock()
93 static inline void __down_write_nested(struct rw_semaphore *sem, int subclass) in __down_write_nested() argument
104 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in __down_write_nested()
105 : "Q" (sem->count), "m" (tmp) in __down_write_nested()
108 rwsem_down_write_failed(sem); in __down_write_nested()
111 static inline void __down_write(struct rw_semaphore *sem) in __down_write() argument
113 __down_write_nested(sem, 0); in __down_write()
119 static inline int __down_write_trylock(struct rw_semaphore *sem) in __down_write_trylock() argument
130 : "=&d" (old), "=Q" (sem->count) in __down_write_trylock()
131 : "Q" (sem->count), "d" (RWSEM_ACTIVE_WRITE_BIAS) in __down_write_trylock()
139 static inline void __up_read(struct rw_semaphore *sem) in __up_read() argument
149 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in __up_read()
150 : "Q" (sem->count), "i" (-RWSEM_ACTIVE_READ_BIAS) in __up_read()
154 rwsem_wake(sem); in __up_read()
160 static inline void __up_write(struct rw_semaphore *sem) in __up_write() argument
171 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in __up_write()
172 : "Q" (sem->count), "m" (tmp) in __up_write()
176 rwsem_wake(sem); in __up_write()
182 static inline void __downgrade_write(struct rw_semaphore *sem) in __downgrade_write() argument
193 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in __downgrade_write()
194 : "Q" (sem->count), "m" (tmp) in __downgrade_write()
197 rwsem_downgrade_wake(sem); in __downgrade_write()
203 static inline void rwsem_atomic_add(long delta, struct rw_semaphore *sem) in rwsem_atomic_add() argument
213 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in rwsem_atomic_add()
214 : "Q" (sem->count), "d" (delta) in rwsem_atomic_add()
221 static inline long rwsem_atomic_update(long delta, struct rw_semaphore *sem) in rwsem_atomic_update() argument
231 : "=&d" (old), "=&d" (new), "=Q" (sem->count) in rwsem_atomic_update()
232 : "Q" (sem->count), "d" (delta) in rwsem_atomic_update()