summaryrefslogtreecommitdiffstats
path: root/include/asm-generic/mmiowb_types.h
diff options
context:
space:
mode:
authorWill Deacon2019-02-22 13:48:44 +0100
committerWill Deacon2019-04-08 12:59:39 +0200
commitd1be6a28b13ce6d1bc42bf9b6a9454c65839225b (patch)
tree320fd6244998529491991e7012ebfc5dd9709d4a /include/asm-generic/mmiowb_types.h
parentdocs/memory-barriers.txt: Rewrite "KERNEL I/O BARRIER EFFECTS" section (diff)
downloadkernel-qcow2-linux-d1be6a28b13ce6d1bc42bf9b6a9454c65839225b.tar.gz
kernel-qcow2-linux-d1be6a28b13ce6d1bc42bf9b6a9454c65839225b.tar.xz
kernel-qcow2-linux-d1be6a28b13ce6d1bc42bf9b6a9454c65839225b.zip
asm-generic/mmiowb: Add generic implementation of mmiowb() tracking
In preparation for removing all explicit mmiowb() calls from driver code, implement a tracking system in asm-generic based loosely on the PowerPC implementation. This allows architectures with a non-empty mmiowb() definition to have the barrier automatically inserted in spin_unlock() following a critical section containing an I/O write. Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'include/asm-generic/mmiowb_types.h')
-rw-r--r--include/asm-generic/mmiowb_types.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/asm-generic/mmiowb_types.h b/include/asm-generic/mmiowb_types.h
new file mode 100644
index 000000000000..8eb0095655e7
--- /dev/null
+++ b/include/asm-generic/mmiowb_types.h
@@ -0,0 +1,12 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __ASM_GENERIC_MMIOWB_TYPES_H
+#define __ASM_GENERIC_MMIOWB_TYPES_H
+
+#include <linux/types.h>
+
+struct mmiowb_state {
+ u16 nesting_count;
+ u16 mmiowb_pending;
+};
+
+#endif /* __ASM_GENERIC_MMIOWB_TYPES_H */