Lines Matching refs:lock
14 #define arch_spin_is_locked(lock) (*((volatile unsigned char *)(lock)) != 0) argument
16 #define arch_spin_unlock_wait(lock) \ argument
17 do { while (arch_spin_is_locked(lock)) cpu_relax(); } while (0)
19 static inline void arch_spin_lock(arch_spinlock_t *lock) in arch_spin_lock() argument
35 : "r" (lock) in arch_spin_lock()
39 static inline int arch_spin_trylock(arch_spinlock_t *lock) in arch_spin_trylock() argument
44 : "r" (lock) in arch_spin_trylock()
49 static inline void arch_spin_unlock(arch_spinlock_t *lock) in arch_spin_unlock() argument
51 __asm__ __volatile__("stb %%g0, [%0]" : : "r" (lock) : "memory"); in arch_spin_unlock()
93 #define arch_read_lock(lock) \ argument
96 __arch_read_lock(lock); \
113 #define arch_read_unlock(lock) \ argument
116 __arch_read_unlock(lock); \
131 *(volatile __u32 *)&lp->lock = ~0U; in arch_write_lock()
134 static void inline arch_write_unlock(arch_rwlock_t *lock) in arch_write_unlock() argument
139 : "r" (lock) in arch_write_unlock()
149 : "r" (&rw->lock) in arch_write_trylock()
153 val = rw->lock & ~0xff; in arch_write_trylock()
155 ((volatile u8*)&rw->lock)[3] = 0; in arch_write_trylock()
157 *(volatile u32*)&rw->lock = ~0U; in arch_write_trylock()
178 #define arch_read_trylock(lock) \ argument
182 res = __arch_read_trylock(lock); \
187 #define arch_spin_lock_flags(lock, flags) arch_spin_lock(lock) argument
191 #define arch_spin_relax(lock) cpu_relax() argument
192 #define arch_read_relax(lock) cpu_relax() argument
193 #define arch_write_relax(lock) cpu_relax() argument
195 #define arch_read_can_lock(rw) (!((rw)->lock & 0xff))
196 #define arch_write_can_lock(rw) (!(rw)->lock)