Lines Matching refs:rw

88 static inline void arch_read_lock(arch_rwlock_t *rw)  in arch_read_lock()  argument
112 : [rwlock] "r" (&(rw->counter)), in arch_read_lock()
120 static inline int arch_read_trylock(arch_rwlock_t *rw) in arch_read_trylock() argument
138 : [rwlock] "r" (&(rw->counter)), in arch_read_trylock()
147 static inline void arch_write_lock(arch_rwlock_t *rw) in arch_write_lock() argument
173 : [rwlock] "r" (&(rw->counter)), in arch_write_lock()
182 static inline int arch_write_trylock(arch_rwlock_t *rw) in arch_write_trylock() argument
200 : [rwlock] "r" (&(rw->counter)), in arch_write_trylock()
210 static inline void arch_read_unlock(arch_rwlock_t *rw) in arch_read_unlock() argument
226 : [rwlock] "r" (&(rw->counter)) in arch_read_unlock()
232 static inline void arch_write_unlock(arch_rwlock_t *rw) in arch_write_unlock() argument
236 rw->counter = __ARCH_RW_LOCK_UNLOCKED__; in arch_write_unlock()
340 static inline void arch_read_lock(arch_rwlock_t *rw) in arch_read_lock() argument
369 : [rwlock] "r" (&(rw->counter)), in arch_read_lock()
377 static inline int arch_read_trylock(arch_rwlock_t *rw) in arch_read_trylock() argument
398 : [rwlock] "r" (&(rw->counter)), in arch_read_trylock()
407 static inline void arch_write_lock(arch_rwlock_t *rw) in arch_write_lock() argument
438 : [rwlock] "r" (&(rw->counter)), in arch_write_lock()
447 static inline int arch_write_trylock(arch_rwlock_t *rw) in arch_write_trylock() argument
468 : [rwlock] "r" (&(rw->counter)), in arch_write_trylock()
478 static inline void arch_read_unlock(arch_rwlock_t *rw) in arch_read_unlock() argument
494 : [rwlock] "r" (&(rw->counter)) in arch_read_unlock()
500 static inline void arch_write_unlock(arch_rwlock_t *rw) in arch_write_unlock() argument
515 : [rwlock] "r" (&(rw->counter)), in arch_write_unlock()
610 static inline int arch_read_trylock(arch_rwlock_t *rw) in arch_read_trylock() argument
614 arch_spin_lock(&(rw->lock_mutex)); in arch_read_trylock()
620 if (rw->counter > 0) { in arch_read_trylock()
621 rw->counter--; in arch_read_trylock()
625 arch_spin_unlock(&(rw->lock_mutex)); in arch_read_trylock()
632 static inline int arch_write_trylock(arch_rwlock_t *rw) in arch_write_trylock() argument
636 arch_spin_lock(&(rw->lock_mutex)); in arch_write_trylock()
644 if (rw->counter == __ARCH_RW_LOCK_UNLOCKED__) { in arch_write_trylock()
645 rw->counter = 0; in arch_write_trylock()
648 arch_spin_unlock(&(rw->lock_mutex)); in arch_write_trylock()
653 static inline void arch_read_lock(arch_rwlock_t *rw) in arch_read_lock() argument
655 while (!arch_read_trylock(rw)) in arch_read_lock()
659 static inline void arch_write_lock(arch_rwlock_t *rw) in arch_write_lock() argument
661 while (!arch_write_trylock(rw)) in arch_write_lock()
665 static inline void arch_read_unlock(arch_rwlock_t *rw) in arch_read_unlock() argument
667 arch_spin_lock(&(rw->lock_mutex)); in arch_read_unlock()
668 rw->counter++; in arch_read_unlock()
669 arch_spin_unlock(&(rw->lock_mutex)); in arch_read_unlock()
672 static inline void arch_write_unlock(arch_rwlock_t *rw) in arch_write_unlock() argument
674 arch_spin_lock(&(rw->lock_mutex)); in arch_write_unlock()
675 rw->counter = __ARCH_RW_LOCK_UNLOCKED__; in arch_write_unlock()
676 arch_spin_unlock(&(rw->lock_mutex)); in arch_write_unlock()