Lines Matching refs:cnts
40 u32 cnts; in queued_read_trylock() local
42 cnts = atomic_read(&lock->cnts); in queued_read_trylock()
43 if (likely(!(cnts & _QW_WMASK))) { in queued_read_trylock()
44 cnts = (u32)atomic_add_return_acquire(_QR_BIAS, &lock->cnts); in queued_read_trylock()
45 if (likely(!(cnts & _QW_WMASK))) in queued_read_trylock()
47 atomic_sub(_QR_BIAS, &lock->cnts); in queued_read_trylock()
59 u32 cnts; in queued_write_trylock() local
61 cnts = atomic_read(&lock->cnts); in queued_write_trylock()
62 if (unlikely(cnts)) in queued_write_trylock()
65 return likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, in queued_write_trylock()
74 u32 cnts; in queued_read_lock() local
76 cnts = atomic_add_return_acquire(_QR_BIAS, &lock->cnts); in queued_read_lock()
77 if (likely(!(cnts & _QW_WMASK))) in queued_read_lock()
90 u32 cnts = 0; in queued_write_lock() local
92 if (likely(atomic_try_cmpxchg_acquire(&lock->cnts, &cnts, _QW_LOCKED))) in queued_write_lock()
107 (void)atomic_sub_return_release(_QR_BIAS, &lock->cnts); in queued_read_unlock()