projects
/
GitHub
/
exynos8895
/
android_kernel_samsung_universal8895.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
c47d6a0
)
arm64: Use acquire/release semantics instead of explicit DMB
author
Catalin Marinas
<catalin.marinas@arm.com>
Tue, 30 Apr 2013 14:58:37 +0000
(15:58 +0100)
committer
Catalin Marinas
<catalin.marinas@arm.com>
Tue, 30 Apr 2013 14:58:37 +0000
(15:58 +0100)
This patch changes the test_and_*_bit functions to use the
load-acquire/store-release instructions instead of explicit DMB.
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/lib/bitops.S
patch
|
blob
|
blame
|
history
diff --git
a/arch/arm64/lib/bitops.S
b/arch/arm64/lib/bitops.S
index eaed8bbd78fc5e144e0e9fa6d0cba2a9d1ecf50b..36216d30cb9af72167f44b76cce35ab81de4ad8b 100644
(file)
--- a/
arch/arm64/lib/bitops.S
+++ b/
arch/arm64/lib/bitops.S
@@
-46,13
+46,11
@@
ENTRY( \name )
mov x2, #1
add x1, x1, x0, lsr #3 // Get word offset
lsl x4, x2, x3 // Create mask
- smp_dmb ish
-1: ldxr x2, [x1]
+1: ldaxr x2, [x1]
lsr x0, x2, x3 // Save old value of bit
\instr x2, x2, x4 // toggle bit
- st
xr
w5, x2, [x1]
+ st
lxr
w5, x2, [x1]
cbnz w5, 1b
- smp_dmb ish
and x0, x0, #1
3: ret
ENDPROC(\name )