Commit 40a5c0b415f080638a744177653aac4527002bbf

Authored by Will Deacon
1 parent e3ab547f57

ARM: mcpm: use -st dsb option prior to sev instructions

In a similar manner to our spinlock implementation, mcpm uses sev to
wake up cores waiting on a lock when the lock is unlocked. In order to
ensure that the final write unlocking the lock is visible, a dsb
instruction is executed immediately prior to the sev.

This patch changes these dsbs to use the -st option, since we only
require that the store unlocking the lock is made visible.

Acked-by: Nicolas Pitre <nico@linaro.org>
Reviewed-by: Dave Martin <dave.martin@arm.com>
Reviewed-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>

Showing 2 changed files with 3 additions and 3 deletions Side-by-side Diff

arch/arm/common/mcpm_head.S
... ... @@ -151,7 +151,7 @@
151 151  
152 152 mov r0, #INBOUND_NOT_COMING_UP
153 153 strb r0, [r8, #MCPM_SYNC_CLUSTER_INBOUND]
154   - dsb
  154 + dsb st
155 155 sev
156 156  
157 157 mov r0, r11
arch/arm/common/vlock.S
... ... @@ -42,7 +42,7 @@
42 42 dmb
43 43 mov \rscratch, #0
44 44 strb \rscratch, [\rbase, \rcpu]
45   - dsb
  45 + dsb st
46 46 sev
47 47 .endm
48 48  
... ... @@ -102,7 +102,7 @@
102 102 dmb
103 103 mov r1, #VLOCK_OWNER_NONE
104 104 strb r1, [r0, #VLOCK_OWNER_OFFSET]
105   - dsb
  105 + dsb st
106 106 sev
107 107 bx lr
108 108 ENDPROC(vlock_unlock)