]> Pileus Git - ~andy/linux/blobdiff - arch/arm64/lib/bitops.S
arm64: Use acquire/release semantics instead of explicit DMB
[~andy/linux] / arch / arm64 / lib / bitops.S
index eaed8bbd78fc5e144e0e9fa6d0cba2a9d1ecf50b..36216d30cb9af72167f44b76cce35ab81de4ad8b 100644 (file)
@@ -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
-       stxr    w5, x2, [x1]
+       stlxr   w5, x2, [x1]
        cbnz    w5, 1b
-       smp_dmb ish
        and     x0, x0, #1
 3:     ret
 ENDPROC(\name  )