[Skiboot] [PATCH 3/6] io: Add io_complete() helper
Benjamin Herrenschmidt
benh at kernel.crashing.org
Thu Dec 7 04:39:25 AEDT 2017
This uses the standard form twi/isync pair to ensure a load
is consumed by the core before continuing.
Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
---
include/io.h | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/include/io.h b/include/io.h
index 45a385ed..93a65e70 100644
--- a/include/io.h
+++ b/include/io.h
@@ -170,6 +170,12 @@ static inline void out_le64(volatile uint64_t *addr, uint64_t val)
#define in_le8 in_8
#define out_le8 out_8
+/* Ensure completion of a load */
+static inline void in_complete(uint64_t data)
+{
+ asm volatile("twi 0,%0,0;isync" : : "r" (data) : "memory");
+}
+
#endif /* __ASSEMBLY__ */
#endif /* __IO_H */
--
2.14.3
More information about the Skiboot
mailing list