summaryrefslogtreecommitdiff
path: root/sys/external/bsd/drm2/include/linux/atomic.h
diff options
context:
space:
mode:
authorriastradh <riastradh@NetBSD.org>2018-08-27 07:14:19 +0000
committerriastradh <riastradh@NetBSD.org>2018-08-27 07:14:19 +0000
commit0a5d38baa6f123a9d66eaefbfcbf75deb406129b (patch)
treeeca6ab296a2a55a251aedc0bab313806dcb752a6 /sys/external/bsd/drm2/include/linux/atomic.h
parent780da7981cf51533ae4cc0d05195aa9b98f3ae85 (diff)
Add Linux smp_mb__before_atomic.
Diffstat (limited to 'sys/external/bsd/drm2/include/linux/atomic.h')
-rw-r--r--sys/external/bsd/drm2/include/linux/atomic.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/external/bsd/drm2/include/linux/atomic.h b/sys/external/bsd/drm2/include/linux/atomic.h
index cbfa2369e8c..f00a50ba763 100644
--- a/sys/external/bsd/drm2/include/linux/atomic.h
+++ b/sys/external/bsd/drm2/include/linux/atomic.h
@@ -1,4 +1,4 @@
-/* $NetBSD: atomic.h,v 1.9 2018/08/27 07:08:58 riastradh Exp $ */
+/* $NetBSD: atomic.h,v 1.10 2018/08/27 07:14:19 riastradh Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -275,11 +275,13 @@ test_and_change_bit(unsigned int bit, volatile unsigned long *ptr)
* should be insn/inc/enter and exit/dec/insn, but the use of the
* before/after memory barriers is not consistent throughout Linux.
*/
+# define smp_mb__before_atomic() membar_sync()
# define smp_mb__before_atomic_inc() membar_sync()
# define smp_mb__after_atomic_inc() membar_sync()
# define smp_mb__before_atomic_dec() membar_sync()
# define smp_mb__after_atomic_dec() membar_sync()
#else
+# define smp_mb__before_atomic() __insn_barrier()
# define smp_mb__before_atomic_inc() __insn_barrier()
# define smp_mb__after_atomic_inc() __insn_barrier()
# define smp_mb__before_atomic_dec() __insn_barrier()