Lines Matching refs:val
125 atomic_t val; member
192 atomic_add(-_Q_PENDING_VAL + _Q_LOCKED_VAL, &lock->val); in clear_pending_set_locked()
207 u32 old, new, val = atomic_read(&lock->val); in xchg_tail() local
210 new = (val & _Q_LOCKED_PENDING_MASK) | tail; in xchg_tail()
211 old = atomic_cmpxchg(&lock->val, val, new); in xchg_tail()
212 if (old == val) in xchg_tail()
215 val = old; in xchg_tail()
281 void queued_spin_lock_slowpath(struct qspinlock *lock, u32 val) in queued_spin_lock_slowpath() argument
300 if (val == _Q_PENDING_VAL) { in queued_spin_lock_slowpath()
301 while ((val = atomic_read(&lock->val)) == _Q_PENDING_VAL) in queued_spin_lock_slowpath()
315 if (val & ~_Q_LOCKED_MASK) in queued_spin_lock_slowpath()
319 if (val == new) in queued_spin_lock_slowpath()
322 old = atomic_cmpxchg(&lock->val, val, new); in queued_spin_lock_slowpath()
323 if (old == val) in queued_spin_lock_slowpath()
326 val = old; in queued_spin_lock_slowpath()
345 while ((val = smp_load_acquire(&lock->val.counter)) & _Q_LOCKED_MASK) in queued_spin_lock_slowpath()
411 while ((val = smp_load_acquire(&lock->val.counter)) & _Q_LOCKED_PENDING_MASK) in queued_spin_lock_slowpath()
425 if (val != tail) { in queued_spin_lock_slowpath()
429 old = atomic_cmpxchg(&lock->val, val, _Q_LOCKED_VAL); in queued_spin_lock_slowpath()
430 if (old == val) in queued_spin_lock_slowpath()
433 val = old; in queued_spin_lock_slowpath()