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