aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRalf Baechle <ralf@linux-mips.org>2005-04-14 11:28:28 -0400
committerRalf Baechle <ralf@linux-mips.org>2005-10-29 14:31:08 -0400
commitb63014ad2dfd137ac38210c7c5cda7ecc3f536d0 (patch)
tree6943cb448f9e9cc8ef8c665f4c87b3842c7fb318
parent93b25d0621560012ff60a95ae265823b3a5e811a (diff)
Move sync into the delay slot here also.
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
-rw-r--r--include/asm-mips/spinlock.h9
1 files changed, 3 insertions, 6 deletions
diff --git a/include/asm-mips/spinlock.h b/include/asm-mips/spinlock.h
index 075e9701d6bc..7d1cc75a1cbb 100644
--- a/include/asm-mips/spinlock.h
+++ b/include/asm-mips/spinlock.h
@@ -209,8 +209,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw)
209 " lui %1, 0x8000 \n" 209 " lui %1, 0x8000 \n"
210 " sc %1, %0 \n" 210 " sc %1, %0 \n"
211 " beqzl %1, 1b \n" 211 " beqzl %1, 1b \n"
212 " nop \n" 212 " sync \n"
213 " sync \n"
214 " .set reorder \n" 213 " .set reorder \n"
215 : "=m" (rw->lock), "=&r" (tmp) 214 : "=m" (rw->lock), "=&r" (tmp)
216 : "m" (rw->lock) 215 : "m" (rw->lock)
@@ -223,8 +222,7 @@ static inline void __raw_write_lock(raw_rwlock_t *rw)
223 " lui %1, 0x8000 \n" 222 " lui %1, 0x8000 \n"
224 " sc %1, %0 \n" 223 " sc %1, %0 \n"
225 " beqz %1, 1b \n" 224 " beqz %1, 1b \n"
226 " nop \n" 225 " sync \n"
227 " sync \n"
228 " .set reorder \n" 226 " .set reorder \n"
229 : "=m" (rw->lock), "=&r" (tmp) 227 : "=m" (rw->lock), "=&r" (tmp)
230 : "m" (rw->lock) 228 : "m" (rw->lock)
@@ -258,8 +256,7 @@ static inline int __raw_write_trylock(raw_rwlock_t *rw)
258 " lui %1, 0x8000 \n" 256 " lui %1, 0x8000 \n"
259 " sc %1, %0 \n" 257 " sc %1, %0 \n"
260 " beqzl %1, 1b \n" 258 " beqzl %1, 1b \n"
261 " nop \n" 259 " sync \n"
262 " sync \n"
263 " li %2, 1 \n" 260 " li %2, 1 \n"
264 " .set reorder \n" 261 " .set reorder \n"
265 "2: \n" 262 "2: \n"