[B] [PATCH 5/8] i2c: add a message flag for DMA safe buffers
Kai-Heng Feng
kai.heng.feng at canonical.com
Tue Apr 2 03:38:39 UTC 2019
BugLink: https://bugs.launchpad.net/bugs/1787775
From: Wolfram Sang <wsa+renesas at sang-engineering.com>
I2C has no requirement that the buffer of a message needs to be DMA
safe. In case it is, it can now be flagged, so drivers wishing to
do DMA can use the buffer directly.
Reviewed-by: Jonathan Cameron <Jonathan.Cameron at huawei.com>
Signed-off-by: Wolfram Sang <wsa+renesas at sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa at the-dreams.de>
(cherry picked from commit 521a72e1f2e8141d78e7699eaacda24e308ed428)
Signed-off-by: Kai-Heng Feng <kai.heng.feng at canonical.com>
---
include/uapi/linux/i2c.h | 3 +++
1 file changed, 3 insertions(+)
diff --git a/include/uapi/linux/i2c.h b/include/uapi/linux/i2c.h
index fe648032d6b9..f71a1751cacf 100644
--- a/include/uapi/linux/i2c.h
+++ b/include/uapi/linux/i2c.h
@@ -72,6 +72,9 @@ struct i2c_msg {
#define I2C_M_RD 0x0001 /* read data, from slave to master */
/* I2C_M_RD is guaranteed to be 0x0001! */
#define I2C_M_TEN 0x0010 /* this is a ten bit chip address */
+#define I2C_M_DMA_SAFE 0x0200 /* the buffer of this message is DMA safe */
+ /* makes only sense in kernelspace */
+ /* userspace buffers are copied anyway */
#define I2C_M_RECV_LEN 0x0400 /* length will be first received byte */
#define I2C_M_NO_RD_ACK 0x0800 /* if I2C_FUNC_PROTOCOL_MANGLING */
#define I2C_M_IGNORE_NAK 0x1000 /* if I2C_FUNC_PROTOCOL_MANGLING */
--
2.17.1
More information about the kernel-team
mailing list