Lines Matching refs:val
32 static inline u32 arch_spin_current(u32 val) in arch_spin_current() argument
34 return val >> __ARCH_SPIN_CURRENT_SHIFT; in arch_spin_current()
41 static inline u32 arch_spin_next(u32 val) in arch_spin_next() argument
43 return val & __ARCH_SPIN_NEXT_MASK; in arch_spin_next()
50 u32 val = READ_ONCE(lock->lock); in arch_spin_is_locked() local
51 return arch_spin_current(val) != arch_spin_next(val); in arch_spin_is_locked()
63 void arch_spin_lock_slow(arch_spinlock_t *lock, u32 val);
71 u32 val = __insn_fetchadd4(&lock->lock, 1); in arch_spin_lock() local
72 u32 ticket = val & (__ARCH_SPIN_NEXT_MASK | __ARCH_SPIN_NEXT_OVERFLOW); in arch_spin_lock()
73 if (unlikely(arch_spin_current(val) != ticket)) in arch_spin_lock()
93 static inline int arch_write_val_locked(int val) in arch_write_val_locked() argument
95 return val < 0; /* Optimize "val & __WRITE_LOCK_BIT". */ in arch_write_val_locked()
120 u32 val = __insn_fetchaddgez4(&rw->lock, 1); in arch_read_lock() local
121 if (unlikely(arch_write_val_locked(val))) in arch_read_lock()
125 extern void __write_lock_failed(arch_rwlock_t *rw, u32 val);
129 u32 val = __insn_fetchor4(&rw->lock, __WRITE_LOCK_BIT); in arch_write_lock() local
130 if (unlikely(val != 0)) in arch_write_lock()
131 __write_lock_failed(rw, val); in arch_write_lock()
153 u32 val = __insn_fetchor4(&rw->lock, __WRITE_LOCK_BIT); in arch_write_trylock() local
154 if (likely(val == 0)) in arch_write_trylock()
156 if (!arch_write_val_locked(val)) in arch_write_trylock()