Lines Matching refs:lock
38 static inline int arch_spin_is_locked(arch_spinlock_t *lock) in arch_spin_is_locked() argument
40 u32 counters = ACCESS_ONCE(lock->lock); in arch_spin_is_locked()
45 static inline int arch_spin_value_unlocked(arch_spinlock_t lock) in arch_spin_value_unlocked() argument
47 return lock.h.serving_now == lock.h.ticket; in arch_spin_value_unlocked()
50 #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) argument
54 static inline int arch_spin_is_contended(arch_spinlock_t *lock) in arch_spin_is_contended() argument
56 u32 counters = ACCESS_ONCE(lock->lock); in arch_spin_is_contended()
62 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
97 : [ticket_ptr] "+" GCC_OFF_SMALL_ASM() (lock->lock), in arch_spin_lock()
98 [serving_now_ptr] "+m" (lock->h.serving_now), in arch_spin_lock()
130 : [ticket_ptr] "+" GCC_OFF_SMALL_ASM() (lock->lock), in arch_spin_lock()
131 [serving_now_ptr] "+m" (lock->h.serving_now), in arch_spin_lock()
140 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
142 unsigned int serving_now = lock->h.serving_now + 1; in arch_spin_unlock()
144 lock->h.serving_now = (u16)serving_now; in arch_spin_unlock()
148 static inline unsigned int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
172 : [ticket_ptr] "+" GCC_OFF_SMALL_ASM() (lock->lock), in arch_spin_trylock()
196 : [ticket_ptr] "+" GCC_OFF_SMALL_ASM() (lock->lock), in arch_spin_trylock()
221 #define arch_read_can_lock(rw) ((rw)->lock >= 0)
227 #define arch_write_can_lock(rw) (!(rw)->lock)
243 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp) in arch_read_lock()
244 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_read_lock()
253 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp) in arch_read_lock()
254 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_read_lock()
274 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp) in arch_read_unlock()
275 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_read_unlock()
283 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp) in arch_read_unlock()
284 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_read_unlock()
304 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp) in arch_write_lock()
305 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_write_lock()
314 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp) in arch_write_lock()
315 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_write_lock()
330 : "=m" (rw->lock) in arch_write_unlock()
331 : "m" (rw->lock) in arch_write_unlock()
354 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp), "=&r" (ret) in arch_read_trylock()
355 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_read_trylock()
371 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp), "=&r" (ret) in arch_read_trylock()
372 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_read_trylock()
398 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp), "=&r" (ret) in arch_write_trylock()
399 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_write_trylock()
411 : "=" GCC_OFF_SMALL_ASM() (rw->lock), "=&r" (tmp), in arch_write_trylock()
413 : GCC_OFF_SMALL_ASM() (rw->lock) in arch_write_trylock()
423 #define arch_read_lock_flags(lock, flags) arch_read_lock(lock) argument
424 #define arch_write_lock_flags(lock, flags) arch_write_lock(lock) argument
426 #define arch_spin_relax(lock) cpu_relax() argument
427 #define arch_read_relax(lock) cpu_relax() argument
428 #define arch_write_relax(lock) cpu_relax() argument