From: Mark Brown <broonie-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
To: Laxman Dewangan <ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Jean Delvare <khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org>,
"w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org"
<w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>,
"ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org"
<ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org>,
"swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org"
<swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>,
"olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org"
<olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org>,
"linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
"linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
<linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: [PATCH V1 2/2] i2c: tegra: support for I2C_M_NOSTART protocol mangling
Date: Tue, 24 Apr 2012 12:38:35 +0100 [thread overview]
Message-ID: <20120424113834.GE12063@opensource.wolfsonmicro.com> (raw)
In-Reply-To: <4F967089.3050004-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 2108 bytes --]
On Tue, Apr 24, 2012 at 02:51:13PM +0530, Laxman Dewangan wrote:
> On Tuesday 24 April 2012 02:25 PM, Jean Delvare wrote:
> >>Adding support for protocol mangling I2C_M_NOSTART.
> >>When multiple message transfer request made through i2c
> >>and if any message is flagged with I2C_M_NOSTART then
> >>it will not send the start/repeat start/address of that
> >>message i.e. send the data directly.
> >What do you need this for?
> The primary use-case here is scatter-gather of multiple I2C
> messages; the first message will contain the START and perhaps some
> transfers, then subsequent messages will continue with more data
> transfers. This removes the need to put all the data transfers into
> a single message, and hence avoids some copying of commands/data.
> Mark Brown says this is important for regmap. This feature is
> implement gather support for I2C transfers - the resulting I2C
> transfer is entirely normal but this ends up being implemented by
> the controller doing two transfers back to back with no start on the
> second transfer. To the outside world it looks like a perfectly
> normal transfer. This behaviour can be emulated by allocating a
> buffer and coalescing the data into that buffer before sending it to
> the hardware but this introduces an avoidable and sometimes
> noticeable overhead.
I'm sure I've seen that block of text somewhere before :)
This is it, you've got some big blob like a firmware image somewhere
or perhaps even just a small block of data to write in one and you want
to put a register address on the front and send it. It's much easier
and slightly faster if you can avoid having to allocate a temporary
buffer - not so much for I2C per se (it's generally very slow after all)
as for the overall system, often when you're doing this stuff when the
system is generally very busy so it's helpful to avoid introducing
needless extra work.
In the grand scheme it's not the end of the world if it's missing but
if the hardware supports it we may as well use it, it's usually just
setting a single register bit.
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
next prev parent reply other threads:[~2012-04-24 11:38 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-04-24 7:19 [PATCH V1 0/2] i2c: tegra: 10 bit and M_NOSTART support Laxman Dewangan
2012-04-24 7:19 ` [PATCH V1 1/2] i2c: tegra: fix 10bit address configuration Laxman Dewangan
[not found] ` <1335251976-31925-2-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-24 8:58 ` Jean Delvare
[not found] ` <20120424105815.1d9e7d95-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2012-05-03 6:13 ` Laxman Dewangan
[not found] ` <4FA221FA.2030305-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-03 8:18 ` Wolfram Sang
[not found] ` <20120503081830.GA9574-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-05-03 8:20 ` Laxman Dewangan
[not found] ` <1335251976-31925-1-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-24 7:19 ` [PATCH V1 2/2] i2c: tegra: support for I2C_M_NOSTART protocol mangling Laxman Dewangan
[not found] ` <1335251976-31925-3-git-send-email-ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-24 8:55 ` Jean Delvare
[not found] ` <20120424105557.7ac07232-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2012-04-24 9:21 ` Laxman Dewangan
[not found] ` <4F967089.3050004-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-04-24 11:38 ` Mark Brown [this message]
2012-04-24 12:32 ` Jean Delvare
[not found] ` <20120424143241.0d66fd2e-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2012-04-24 12:40 ` Mark Brown
[not found] ` <20120424124030.GD13747-yzvPICuk2AATkU/dhu1WVueM+bqZidxxQQ4Iyu8u01E@public.gmane.org>
2012-04-24 13:01 ` Wolfram Sang
[not found] ` <20120424130118.GD4030-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org>
2012-04-24 13:07 ` Jean Delvare
[not found] ` <20120424150750.36f8c2fc-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2012-04-24 13:28 ` Wolfram Sang
2012-05-10 11:24 ` Laxman Dewangan
[not found] ` <4FABA585.7090600-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2012-05-10 11:54 ` Jean Delvare
[not found] ` <20120510135411.3ba5bb6d-R0o5gVi9kd7kN2dkZ6Wm7A@public.gmane.org>
2012-05-10 12:20 ` Laxman Dewangan
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=20120424113834.GE12063@opensource.wolfsonmicro.com \
--to=broonie-yzvpicuk2aatku/dhu1wvuem+bqzidxxqq4iyu8u01e@public.gmane.org \
--cc=ben-linux-elnMNo+KYs3YtjvyW6yDsg@public.gmane.org \
--cc=khali-PUYAD+kWke1g9hUCZPvPmw@public.gmane.org \
--cc=ldewangan-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
--cc=linux-i2c-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=olof-nZhT3qVonbNeoWH0uzbU5w@public.gmane.org \
--cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
--cc=w.sang-bIcnvbaLZ9MEGnE8C9+IrQ@public.gmane.org \
/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: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).