Lines Matching +full:n +full:- +full:1
1 /* SPDX-License-Identifier: GPL-2.0 */
17 #define arch_spin_is_locked(x) ((x)->lock != 0)
27 lock->lock = 0; in arch_spin_unlock()
35 "1: ldl_l %0,%1\n" in arch_spin_lock()
36 " bne %0,2f\n" in arch_spin_lock()
37 " lda %0,1\n" in arch_spin_lock()
38 " stl_c %0,%1\n" in arch_spin_lock()
39 " beq %0,2f\n" in arch_spin_lock()
40 " mb\n" in arch_spin_lock()
41 ".subsection 2\n" in arch_spin_lock()
42 "2: ldl %0,%1\n" in arch_spin_lock()
43 " bne %0,2b\n" in arch_spin_lock()
44 " br 1b\n" in arch_spin_lock()
46 : "=&r" (tmp), "=m" (lock->lock) in arch_spin_lock()
47 : "m"(lock->lock) : "memory"); in arch_spin_lock()
52 return !test_and_set_bit(0, &lock->lock); in arch_spin_trylock()
62 "1: ldl_l %1,%0\n" in arch_read_lock()
63 " blbs %1,6f\n" in arch_read_lock()
64 " subl %1,2,%1\n" in arch_read_lock()
65 " stl_c %1,%0\n" in arch_read_lock()
66 " beq %1,6f\n" in arch_read_lock()
67 " mb\n" in arch_read_lock()
68 ".subsection 2\n" in arch_read_lock()
69 "6: ldl %1,%0\n" in arch_read_lock()
70 " blbs %1,6b\n" in arch_read_lock()
71 " br 1b\n" in arch_read_lock()
82 "1: ldl_l %1,%0\n" in arch_write_lock()
83 " bne %1,6f\n" in arch_write_lock()
84 " lda %1,1\n" in arch_write_lock()
85 " stl_c %1,%0\n" in arch_write_lock()
86 " beq %1,6f\n" in arch_write_lock()
87 " mb\n" in arch_write_lock()
88 ".subsection 2\n" in arch_write_lock()
89 "6: ldl %1,%0\n" in arch_write_lock()
90 " bne %1,6b\n" in arch_write_lock()
91 " br 1b\n" in arch_write_lock()
103 "1: ldl_l %1,%0\n" in arch_read_trylock()
104 " lda %2,0\n" in arch_read_trylock()
105 " blbs %1,2f\n" in arch_read_trylock()
106 " subl %1,2,%2\n" in arch_read_trylock()
107 " stl_c %2,%0\n" in arch_read_trylock()
108 " beq %2,6f\n" in arch_read_trylock()
109 "2: mb\n" in arch_read_trylock()
110 ".subsection 2\n" in arch_read_trylock()
111 "6: br 1b\n" in arch_read_trylock()
125 "1: ldl_l %1,%0\n" in arch_write_trylock()
126 " lda %2,0\n" in arch_write_trylock()
127 " bne %1,2f\n" in arch_write_trylock()
128 " lda %2,1\n" in arch_write_trylock()
129 " stl_c %2,%0\n" in arch_write_trylock()
130 " beq %2,6f\n" in arch_write_trylock()
131 "2: mb\n" in arch_write_trylock()
132 ".subsection 2\n" in arch_write_trylock()
133 "6: br 1b\n" in arch_write_trylock()
145 " mb\n" in arch_read_unlock()
146 "1: ldl_l %1,%0\n" in arch_read_unlock()
147 " addl %1,2,%1\n" in arch_read_unlock()
148 " stl_c %1,%0\n" in arch_read_unlock()
149 " beq %1,6f\n" in arch_read_unlock()
150 ".subsection 2\n" in arch_read_unlock()
151 "6: br 1b\n" in arch_read_unlock()
160 lock->lock = 0; in arch_write_unlock()