Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.15.
 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)				\
 9do {									\
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)				\
17do {									\
18	smp_store_release(lock, 1);					\
19	dsb_sev();							\
20} while (0)
21
22#endif	/* CONFIG_SMP */
23#endif	/* __ASM_MCS_LOCK_H */