i2c: add a message flag for DMA safe buffers
authorWolfram Sang <wsa+renesas@sang-engineering.com>
Sat, 4 Nov 2017 20:20:01 +0000 (21:20 +0100)
committerWolfram Sang <wsa@the-dreams.de>
Sun, 3 Dec 2017 19:47:33 +0000 (20:47 +0100)
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@huawei.com>
Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
include/uapi/linux/i2c.h

index fe64803..f71a175 100644 (file)
@@ -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 */