From: Wolfram Sang <wsa+renesas@sang-engineering.com>
To: "Benoît Monin" <benoit.monin@bootlin.com>
Cc: "Andi Shyti" <andi.shyti@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Jarkko Nikula" <jarkko.nikula@linux.intel.com>,
"Mika Westerberg" <mika.westerberg@linux.intel.com>,
"Andy Shevchenko" <andriy.shevchenko@linux.intel.com>,
"Jan Dabros" <jsd@semihalf.com>,
"Sebastian Andrzej Siewior" <bigeasy@linutronix.de>,
"Clark Williams" <clrkwllms@kernel.org>,
"Steven Rostedt" <rostedt@goodmis.org>,
"Hans Verkuil" <hverkuil+cisco@kernel.org>,
"Thomas Petazzoni" <thomas.petazzoni@bootlin.com>,
"Gregory CLEMENT" <gregory.clement@bootlin.com>,
"Théo Lebrun" <theo.lebrun@bootlin.com>,
"Tawfik Bayouk" <tawfik.bayouk@mobileye.com>,
"Vladimir Kondratiev" <vladimir.kondratiev@mobileye.com>,
"Dmitry Guzman" <dmitry.guzman@mobileye.com>,
linux-i2c@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-rt-devel@lists.linux.dev
Subject: Re: [PATCH 2/3] i2c: designware: Enable transfer with different target addresses
Date: Wed, 22 Oct 2025 10:58:56 +0200 [thread overview]
Message-ID: <aPic0NtVkzpZJUuz@shikoro> (raw)
In-Reply-To: <5779084.ZASKD2KPVS@benoit.monin>
[-- Attachment #1: Type: text/plain, Size: 1090 bytes --]
Hi Benoît,
> This patch replaces a -EINVAL in the middle of the transfer by a
> STOP-then-START, but you are right, the expectation is to have a single
> STOP at the end of a combined transfer. I somehow overlooked that part.
Yes. Sadly, the designware controllers are broken in that regard, it
seems :(
> Maybe I could add support for the I2C_M_STOP flag instead? Or does an
> adapter has to support all the protocol mangling if flagged with
> I2C_FUNC_PROTOCOL_MANGLING?
It doesn't. It is a known weakness of I2C_FUNC_PROTOCOL_MANGLING. Maybe
we could extrapolate it like we did for I2C_FUNC_NOSTART? Just an idea,
I haven't really looked into it.
> That would still allow to group multiple accesses to device that support a
> STOP in a transaction when done via i2c_dev I2C_RDWR ioctl, in a single-master
> configuration.
I'd think such transfers are super rare but if you still want to
implement it, please do. Note that some devices will still not work
because they reset their state machine on STOP. See Hans' example.
Happy hacking,
Wolfram
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2025-10-22 8:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-10-17 14:59 [PATCH 0/3] i2c: designware: Improve support of multi-messages transfer Benoît Monin
2025-10-17 14:59 ` [PATCH 1/3] dt-bindings: i2c: dw: Add Mobileye I2C controllers Benoît Monin
2025-10-18 15:55 ` Krzysztof Kozlowski
2025-10-17 14:59 ` [PATCH 2/3] i2c: designware: Enable transfer with different target addresses Benoît Monin
2025-10-20 9:38 ` Hans Verkuil
2025-10-20 15:00 ` Benoît Monin
2025-10-20 19:52 ` Wolfram Sang
2025-10-22 8:36 ` Benoît Monin
2025-10-22 8:58 ` Wolfram Sang [this message]
2025-10-17 14:59 ` [PATCH 3/3] i2c: designware: Support of controller with IC_EMPTYFIFO_HOLD_MASTER disabled Benoît Monin
2025-10-18 15:55 ` Krzysztof Kozlowski
2025-10-18 19:57 ` Andy Shevchenko
2025-10-21 15:40 ` Mika Westerberg
2025-10-18 19:49 ` [PATCH 0/3] i2c: designware: Improve support of multi-messages transfer Andy Shevchenko
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=aPic0NtVkzpZJUuz@shikoro \
--to=wsa+renesas@sang-engineering.com \
--cc=andi.shyti@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=benoit.monin@bootlin.com \
--cc=bigeasy@linutronix.de \
--cc=clrkwllms@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.guzman@mobileye.com \
--cc=gregory.clement@bootlin.com \
--cc=hverkuil+cisco@kernel.org \
--cc=jarkko.nikula@linux.intel.com \
--cc=jsd@semihalf.com \
--cc=krzk+dt@kernel.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-rt-devel@lists.linux.dev \
--cc=mika.westerberg@linux.intel.com \
--cc=robh@kernel.org \
--cc=rostedt@goodmis.org \
--cc=tawfik.bayouk@mobileye.com \
--cc=theo.lebrun@bootlin.com \
--cc=thomas.petazzoni@bootlin.com \
--cc=vladimir.kondratiev@mobileye.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: 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