Lines Matching refs:rw
80 static inline void __arch_read_lock(arch_rwlock_t *rw) in __arch_read_lock() argument
83 lp = rw; in __arch_read_lock()
100 static inline void __arch_read_unlock(arch_rwlock_t *rw) in __arch_read_unlock() argument
103 lp = rw; in __arch_read_unlock()
120 static inline void arch_write_lock(arch_rwlock_t *rw) in arch_write_lock() argument
123 lp = rw; in arch_write_lock()
143 static inline int arch_write_trylock(arch_rwlock_t *rw) in arch_write_trylock() argument
149 : "r" (&rw->lock) in arch_write_trylock()
153 val = rw->lock & ~0xff; in arch_write_trylock()
155 ((volatile u8*)&rw->lock)[3] = 0; in arch_write_trylock()
157 *(volatile u32*)&rw->lock = ~0U; in arch_write_trylock()
163 static inline int __arch_read_trylock(arch_rwlock_t *rw) in __arch_read_trylock() argument
167 lp = rw; in __arch_read_trylock()
188 #define arch_read_lock_flags(rw, flags) arch_read_lock(rw) argument
189 #define arch_write_lock_flags(rw, flags) arch_write_lock(rw) argument
195 #define arch_read_can_lock(rw) (!((rw)->lock & 0xff)) argument
196 #define arch_write_can_lock(rw) (!(rw)->lock) argument