From c0d99d452b66d9783a99507a299f9c4abfaf84af Mon Sep 17 00:00:00 2001 From: Kai-Heng Feng Date: Thu, 25 Apr 2019 12:43:34 +0800 Subject: [PATCH] i2c: add a message flag for DMA safe buffers BugLink: https://bugs.launchpad.net/bugs/1787775 From: Wolfram Sang 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 Signed-off-by: Wolfram Sang Signed-off-by: Wolfram Sang (cherry picked from commit 521a72e1f2e8141d78e7699eaacda24e308ed428) Signed-off-by: Kai-Heng Feng Acked-by: Khalid Elmously Acked-by: Kleber Souza Signed-off-by: Khalid Elmously --- 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.39.2