Lines Matching refs:val
30 static inline u32 arch_spin_current(u32 val) in arch_spin_current() argument
32 return val >> __ARCH_SPIN_CURRENT_SHIFT; in arch_spin_current()
39 static inline u32 arch_spin_next(u32 val) in arch_spin_next() argument
41 return val & __ARCH_SPIN_NEXT_MASK; in arch_spin_next()
47 u32 val = lock->lock; in arch_spin_is_locked() local
48 return arch_spin_current(val) != arch_spin_next(val); in arch_spin_is_locked()
60 void arch_spin_lock_slow(arch_spinlock_t *lock, u32 val);
68 u32 val = __insn_fetchadd4(&lock->lock, 1); in arch_spin_lock() local
69 u32 ticket = val & (__ARCH_SPIN_NEXT_MASK | __ARCH_SPIN_NEXT_OVERFLOW); in arch_spin_lock()
70 if (unlikely(arch_spin_current(val) != ticket)) in arch_spin_lock()
90 static inline int arch_write_val_locked(int val) in arch_write_val_locked() argument
92 return val < 0; /* Optimize "val & __WRITE_LOCK_BIT". */ in arch_write_val_locked()
117 u32 val = __insn_fetchaddgez4(&rw->lock, 1); in arch_read_lock() local
118 if (unlikely(arch_write_val_locked(val))) in arch_read_lock()
122 extern void __write_lock_failed(arch_rwlock_t *rw, u32 val);
126 u32 val = __insn_fetchor4(&rw->lock, __WRITE_LOCK_BIT); in arch_write_lock() local
127 if (unlikely(val != 0)) in arch_write_lock()
128 __write_lock_failed(rw, val); in arch_write_lock()
150 u32 val = __insn_fetchor4(&rw->lock, __WRITE_LOCK_BIT); in arch_write_trylock() local
151 if (likely(val == 0)) in arch_write_trylock()
153 if (!arch_write_val_locked(val)) in arch_write_trylock()