Merge tag 'ntb-4.2' of git://github.com/jonmason/ntb
[deliverable/linux.git] / arch / arm / include / asm / mcs_spinlock.h
1 #ifndef __ASM_MCS_LOCK_H
2 #define __ASM_MCS_LOCK_H
3
4 #ifdef CONFIG_SMP
5 #include <asm/spinlock.h>
6
7 /* MCS spin-locking. */
8 #define arch_mcs_spin_lock_contended(lock) \
9 do { \
10 /* Ensure prior stores are observed before we enter wfe. */ \
11 smp_mb(); \
12 while (!(smp_load_acquire(lock))) \
13 wfe(); \
14 } while (0) \
15
16 #define arch_mcs_spin_unlock_contended(lock) \
17 do { \
18 smp_store_release(lock, 1); \
19 dsb_sev(); \
20 } while (0)
21
22 #endif /* CONFIG_SMP */
23 #endif /* __ASM_MCS_LOCK_H */
This page took 0.042922 seconds and 5 git commands to generate.