aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2016-05-31 07:03:29 -0400
committerVineet Gupta <vgupta@synopsys.com>2016-06-02 01:29:23 -0400
commit819f3602dcbd6b021cd50e18f5d05da30bca5b07 (patch)
treed1216cf997af25abe48e97842f2c150db3f0cb62
parent42316a201a60be38b07db1ebc3a1633107ed7209 (diff)
Revert "ARCv2: spinlock/rwlock: Reset retry delay when starting a new spin-wait cycle"
This reverts commit b89aa12c177477e34caa722818536fb5d0bffd76. The issue was fixed in hardware in HS2.1C release and there are no known external users of affected RTL so revert the whole delayed retry series ! Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r--arch/arc/include/asm/spinlock.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/arch/arc/include/asm/spinlock.h b/arch/arc/include/asm/spinlock.h
index a86cb84fad2a..5e01bdf968ea 100644
--- a/arch/arc/include/asm/spinlock.h
+++ b/arch/arc/include/asm/spinlock.h
@@ -279,7 +279,7 @@ static inline void arch_spin_lock(arch_spinlock_t *lock)
279 __asm__ __volatile__( 279 __asm__ __volatile__(
280 "0: mov %[delay], 1 \n" 280 "0: mov %[delay], 1 \n"
281 "1: llock %[val], [%[slock]] \n" 281 "1: llock %[val], [%[slock]] \n"
282 " breq %[val], %[LOCKED], 0b \n" /* spin while LOCKED */ 282 " breq %[val], %[LOCKED], 1b \n" /* spin while LOCKED */
283 " scond %[LOCKED], [%[slock]] \n" /* acquire */ 283 " scond %[LOCKED], [%[slock]] \n" /* acquire */
284 " bz 4f \n" /* done */ 284 " bz 4f \n" /* done */
285 " \n" 285 " \n"
@@ -358,7 +358,7 @@ static inline void arch_read_lock(arch_rwlock_t *rw)
358 __asm__ __volatile__( 358 __asm__ __volatile__(
359 "0: mov %[delay], 1 \n" 359 "0: mov %[delay], 1 \n"
360 "1: llock %[val], [%[rwlock]] \n" 360 "1: llock %[val], [%[rwlock]] \n"
361 " brls %[val], %[WR_LOCKED], 0b\n" /* <= 0: spin while write locked */ 361 " brls %[val], %[WR_LOCKED], 1b\n" /* <= 0: spin while write locked */
362 " sub %[val], %[val], 1 \n" /* reader lock */ 362 " sub %[val], %[val], 1 \n" /* reader lock */
363 " scond %[val], [%[rwlock]] \n" 363 " scond %[val], [%[rwlock]] \n"
364 " bz 4f \n" /* done */ 364 " bz 4f \n" /* done */
@@ -427,7 +427,7 @@ static inline void arch_write_lock(arch_rwlock_t *rw)
427 __asm__ __volatile__( 427 __asm__ __volatile__(
428 "0: mov %[delay], 1 \n" 428 "0: mov %[delay], 1 \n"
429 "1: llock %[val], [%[rwlock]] \n" 429 "1: llock %[val], [%[rwlock]] \n"
430 " brne %[val], %[UNLOCKED], 0b \n" /* while !UNLOCKED spin */ 430 " brne %[val], %[UNLOCKED], 1b \n" /* while !UNLOCKED spin */
431 " mov %[val], %[WR_LOCKED] \n" 431 " mov %[val], %[WR_LOCKED] \n"
432 " scond %[val], [%[rwlock]] \n" 432 " scond %[val], [%[rwlock]] \n"
433 " bz 4f \n" 433 " bz 4f \n"