Lines Matching refs:tail
54 u32 tail; in encode_tail() local
56 tail = (cpu + 1) << _Q_TAIL_CPU_OFFSET; in encode_tail()
57 tail |= idx << _Q_TAIL_IDX_OFFSET; /* assume < 4 */ in encode_tail()
59 return tail; in encode_tail()
62 static inline __pure struct mcs_spinlock *decode_tail(u32 tail, in decode_tail() argument
65 int cpu = (tail >> _Q_TAIL_CPU_OFFSET) - 1; in decode_tail()
66 int idx = (tail & _Q_TAIL_IDX_MASK) >> _Q_TAIL_IDX_OFFSET; in decode_tail()
114 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail() argument
120 return (u32)xchg_relaxed(&lock->tail, in xchg_tail()
121 tail >> _Q_TAIL_OFFSET) << _Q_TAIL_OFFSET; in xchg_tail()
158 static __always_inline u32 xchg_tail(struct qspinlock *lock, u32 tail) in xchg_tail() argument
164 new = (old & _Q_LOCKED_PENDING_MASK) | tail; in xchg_tail()