From: Jonathan Cameron <Jonathan.Cameron@huawei.com> To: Wolfram Sang <wsa+renesas@sang-engineering.com> Cc: <linux-i2c@vger.kernel.org>, <linux-kernel@vger.kernel.org>, <linux-renesas-soc@vger.kernel.org>, <linux-iio@vger.kernel.org>, <linux-input@vger.kernel.org>, <linux-media@vger.kernel.org>, Mark Brown <broonie@kernel.org> Subject: Re: [PATCH v6 5/9] i2c: add i2c_master_{send|recv}_dmasafe Date: Sat, 11 Nov 2017 00:08:50 +0000 [thread overview] Message-ID: <20171111000850.00003b44@huawei.com> (raw) In-Reply-To: <20171104202009.3818-6-wsa+renesas@sang-engineering.com> On Sat, 4 Nov 2017 21:20:05 +0100 Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > Use the new helper to create variants of i2c_master_{send|recv} which > mark their buffers as DMA safe. > > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Can't really argue with such a simple patch ;) Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > include/linux/i2c.h | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/include/linux/i2c.h b/include/linux/i2c.h > index ef1a8791c1ae24..8c144e3cbfb261 100644 > --- a/include/linux/i2c.h > +++ b/include/linux/i2c.h > @@ -81,6 +81,22 @@ static inline int i2c_master_recv(const struct i2c_client *client, > }; > > /** > + * i2c_master_recv_dmasafe - issue a single I2C message in master receive mode > + * using a DMA safe buffer > + * @client: Handle to slave device > + * @buf: Where to store data read from slave, must be safe to use with DMA > + * @count: How many bytes to read, must be less than 64k since msg.len is u16 > + * > + * Returns negative errno, or else the number of bytes read. > + */ > +static inline int i2c_master_recv_dmasafe(const struct i2c_client *client, > + char *buf, int count) > +{ > + return i2c_transfer_buffer_flags(client, buf, count, > + I2C_M_RD | I2C_M_DMA_SAFE); > +}; > + > +/** > * i2c_master_send - issue a single I2C message in master transmit mode > * @client: Handle to slave device > * @buf: Data that will be written to the slave > @@ -93,6 +109,21 @@ static inline int i2c_master_send(const struct i2c_client *client, > { > return i2c_transfer_buffer_flags(client, (char *)buf, count, 0); > }; > +/** > + * i2c_master_send_dmasafe - issue a single I2C message in master transmit mode > + * using a DMA safe buffer > + * @client: Handle to slave device > + * @buf: Data that will be written to the slave, must be safe to use with DMA > + * @count: How many bytes to write, must be less than 64k since msg.len is u16 > + * > + * Returns negative errno, or else the number of bytes written. > + */ > +static inline int i2c_master_send_dmasafe(const struct i2c_client *client, > + const char *buf, int count) > +{ > + return i2c_transfer_buffer_flags(client, (char *)buf, count, > + I2C_M_DMA_SAFE); > +}; > > /* Transfer num messages. > */
WARNING: multiple messages have this Message-ID (diff)
From: Jonathan Cameron <Jonathan.Cameron@huawei.com> To: Wolfram Sang <wsa+renesas@sang-engineering.com> Cc: linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org, linux-iio@vger.kernel.org, linux-input@vger.kernel.org, linux-media@vger.kernel.org, Mark Brown <broonie@kernel.org> Subject: Re: [PATCH v6 5/9] i2c: add i2c_master_{send|recv}_dmasafe Date: Sat, 11 Nov 2017 00:08:50 +0000 [thread overview] Message-ID: <20171111000850.00003b44@huawei.com> (raw) In-Reply-To: <20171104202009.3818-6-wsa+renesas@sang-engineering.com> On Sat, 4 Nov 2017 21:20:05 +0100 Wolfram Sang <wsa+renesas@sang-engineering.com> wrote: > Use the new helper to create variants of i2c_master_{send|recv} which > mark their buffers as DMA safe. > > Signed-off-by: Wolfram Sang <wsa+renesas@sang-engineering.com> Can't really argue with such a simple patch ;) Acked-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > include/linux/i2c.h | 31 +++++++++++++++++++++++++++++++ > 1 file changed, 31 insertions(+) > > diff --git a/include/linux/i2c.h b/include/linux/i2c.h > index ef1a8791c1ae24..8c144e3cbfb261 100644 > --- a/include/linux/i2c.h > +++ b/include/linux/i2c.h > @@ -81,6 +81,22 @@ static inline int i2c_master_recv(const struct i2c_client *client, > }; > > /** > + * i2c_master_recv_dmasafe - issue a single I2C message in master receive mode > + * using a DMA safe buffer > + * @client: Handle to slave device > + * @buf: Where to store data read from slave, must be safe to use with DMA > + * @count: How many bytes to read, must be less than 64k since msg.len is u16 > + * > + * Returns negative errno, or else the number of bytes read. > + */ > +static inline int i2c_master_recv_dmasafe(const struct i2c_client *client, > + char *buf, int count) > +{ > + return i2c_transfer_buffer_flags(client, buf, count, > + I2C_M_RD | I2C_M_DMA_SAFE); > +}; > + > +/** > * i2c_master_send - issue a single I2C message in master transmit mode > * @client: Handle to slave device > * @buf: Data that will be written to the slave > @@ -93,6 +109,21 @@ static inline int i2c_master_send(const struct i2c_client *client, > { > return i2c_transfer_buffer_flags(client, (char *)buf, count, 0); > }; > +/** > + * i2c_master_send_dmasafe - issue a single I2C message in master transmit mode > + * using a DMA safe buffer > + * @client: Handle to slave device > + * @buf: Data that will be written to the slave, must be safe to use with DMA > + * @count: How many bytes to write, must be less than 64k since msg.len is u16 > + * > + * Returns negative errno, or else the number of bytes written. > + */ > +static inline int i2c_master_send_dmasafe(const struct i2c_client *client, > + const char *buf, int count) > +{ > + return i2c_transfer_buffer_flags(client, (char *)buf, count, > + I2C_M_DMA_SAFE); > +}; > > /* Transfer num messages. > */
next prev parent reply other threads:[~2017-11-11 0:10 UTC|newest] Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top 2017-11-04 20:20 [PATCH v6 0/9] i2c: document DMA handling and add helpers for it Wolfram Sang 2017-11-04 20:20 ` Wolfram Sang 2017-11-04 20:20 ` [PATCH v6 1/9] i2c: add a message flag for DMA safe buffers Wolfram Sang 2017-11-04 20:20 ` [PATCH v6 2/9] i2c: add helpers to ease DMA handling Wolfram Sang 2017-11-04 20:20 ` Wolfram Sang 2017-11-04 20:20 ` [PATCH v6 3/9] i2c: dev: mark RDWR buffers as DMA_SAFE Wolfram Sang 2017-11-04 20:20 ` Wolfram Sang 2017-11-04 20:20 ` [PATCH v6 4/9] i2c: refactor i2c_master_{send_recv} Wolfram Sang 2017-11-11 0:03 ` Jonathan Cameron 2017-11-11 0:03 ` Jonathan Cameron 2017-11-04 20:20 ` [PATCH v6 5/9] i2c: add i2c_master_{send|recv}_dmasafe Wolfram Sang 2017-11-11 0:08 ` Jonathan Cameron [this message] 2017-11-11 0:08 ` Jonathan Cameron 2017-11-04 20:20 ` [PATCH v6 6/9] i2c: smbus: use DMA safe buffers for emulated SMBus transactions Wolfram Sang 2017-11-11 0:13 ` Jonathan Cameron 2017-11-11 0:13 ` Jonathan Cameron 2017-11-04 20:20 ` [PATCH v6 7/9] i2c: add docs to clarify DMA handling Wolfram Sang 2017-11-04 20:20 ` [PATCH v6 8/9] i2c: sh_mobile: use core helper to decide when to use DMA Wolfram Sang 2017-11-04 20:20 ` [PATCH v6 9/9] i2c: rcar: skip DMA if buffer is not safe Wolfram Sang 2017-11-08 22:50 ` [PATCH v6 0/9] i2c: document DMA handling and add helpers for it Mark Brown 2017-11-27 18:51 ` Wolfram Sang 2017-11-28 15:34 ` Mark Brown 2017-12-03 19:43 ` Wolfram Sang 2017-12-04 22:05 ` Mark Brown 2017-12-04 22:05 ` Mark Brown 2017-12-05 11:00 ` Jonathan Cameron 2017-12-05 11:00 ` Jonathan Cameron 2017-12-04 21:25 ` Wolfram Sang
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20171111000850.00003b44@huawei.com \ --to=jonathan.cameron@huawei.com \ --cc=broonie@kernel.org \ --cc=linux-i2c@vger.kernel.org \ --cc=linux-iio@vger.kernel.org \ --cc=linux-input@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-media@vger.kernel.org \ --cc=linux-renesas-soc@vger.kernel.org \ --cc=wsa+renesas@sang-engineering.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.