From: Luca Ceresoli <luca.ceresoli@bootlin.com>
To: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>,
Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Sakari Ailus <sakari.ailus@linux.intel.com>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
Wolfram Sang <wsa@kernel.org>,
Mauro Carvalho Chehab <mchehab@kernel.org>,
Cosmin Tanislav <demonsingur@gmail.com>,
Tomi Valkeinen <tomi.valkeinen+renesas@ideasonboard.com>,
Romain Gantois <romain.gantois@bootlin.com>,
Matti Vaittinen <Matti.Vaittinen@fi.rohmeurope.com>
Subject: Re: [PATCH v2 2/3] i2c: atr: Allow unmapped addresses from nested ATRs
Date: Tue, 3 Dec 2024 10:39:32 +0100 [thread overview]
Message-ID: <20241203103932.3cd412bc@booty> (raw)
In-Reply-To: <9bae963f-037a-46e1-abf6-f2ec464c4cf8@ideasonboard.com>
Hello Tomi,
On Fri, 29 Nov 2024 15:31:45 +0200
Tomi Valkeinen <tomi.valkeinen@ideasonboard.com> wrote:
> On 29/11/2024 13:53, Luca Ceresoli wrote:
>
> >> So strictly speaking it's not an ATR, but this achieves the same.
> >
> > Thanks for the extensive and very useful explanation. I had completely
> > missed the GMSL serder and their different I2C handling, apologies.
> >
> > So, the "parent ATR" is the GMSL deser, which is not an ATR but
> > implementing it using i2c-atr makes the implementation cleaner. That
> > makes sense.
>
> Right.
>
> But, honestly, I can't make my mind if I like the use of ATR here or not =).
Hehe, indeed, hardware designers use a lot of fantasy in stretching the
I2C standard to its limits, perhaps more than actually needed.
> So it's not an ATR, but I'm not quite sure what it is. It's not just
> that we need to change the addresses of the serializers, we need to do
> that in particular way, enabling one port at a time to do the change.
>
> If we forget about the init time hurdles, and consider the situation
> after the serializers are been set up and all ports have been enabled,
> we have:
>
> There's the main i2c bus, on which we have the deserializer. The
> deserializer acts as a i2c repeater (for any transaction that's not
> directed to the deser), sending the messages to all serializers. The
> serializers catch transactions directed at the ser, and everything else
> goes through ATR and to the remote bus.
>
> Do we have something that represents such a "i2c repeater"? I guess we
> could just have an i2c bus, created by the deser, and all the sers would
> be on that bus. So we'd somehow do the initial address change first,
> then set up the i2c bus, and the serializer i2c clients would be added
> to that bus.
So you think about another thing, like i2c-repeater, in addition to
i2c-mux and i2c-atr?
Well, I think it would make sense, as it would generalize a feature
that might be used by other chips. However at the moment we do have a
working driver for the GMSL deser, and so I don't see the benefit of
extracting the i2c-repeater functionality to a separate file, unless
there are drivers for other chips being implemented: this would motivate
extracting common features to a shared file. IOW, I'd not generalize
something with a single user.
[Interesting side note: the i2c-atr has been implemented with a single
user, violating the above principle O:-) but I think that was due to the
similarity with i2c-mux or something like that. Out of luck, another
ATR user appeared after some time.]
Luca
--
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
next prev parent reply other threads:[~2024-12-03 9:39 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-22 12:26 [PATCH v2 0/3] i2c: atr: A few i2c-atr fixes Tomi Valkeinen
2024-11-22 12:26 ` [PATCH v2 1/3] i2c: atr: Fix client detach Tomi Valkeinen
2024-11-22 14:07 ` Andy Shevchenko
2024-12-10 8:01 ` Tomi Valkeinen
2024-11-26 8:14 ` Luca Ceresoli
2024-11-29 12:44 ` Tomi Valkeinen
2024-12-02 16:21 ` Romain Gantois
2024-12-10 8:04 ` Tomi Valkeinen
2025-01-09 10:09 ` Wolfram Sang
2024-11-22 12:26 ` [PATCH v2 2/3] i2c: atr: Allow unmapped addresses from nested ATRs Tomi Valkeinen
2024-11-22 14:09 ` Andy Shevchenko
2024-11-26 8:16 ` Luca Ceresoli
2024-11-26 8:35 ` Tomi Valkeinen
2024-11-27 12:19 ` Luca Ceresoli
2024-11-28 17:50 ` Tomi Valkeinen
2024-11-29 11:53 ` Luca Ceresoli
2024-11-29 13:31 ` Tomi Valkeinen
2024-12-03 9:39 ` Luca Ceresoli [this message]
2024-12-03 10:35 ` Cosmin Tanislav
2024-12-04 17:20 ` Luca Ceresoli
2024-11-26 8:34 ` Romain Gantois
2024-11-29 11:53 ` Luca Ceresoli
2024-11-22 12:26 ` [PATCH v2 3/3] i2c: atr: Fix lockdep for " Tomi Valkeinen
2024-11-22 14:13 ` [PATCH v2 0/3] i2c: atr: A few i2c-atr fixes Andy Shevchenko
2024-12-03 8:06 ` Tomi Valkeinen
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=20241203103932.3cd412bc@booty \
--to=luca.ceresoli@bootlin.com \
--cc=Matti.Vaittinen@fi.rohmeurope.com \
--cc=andriy.shevchenko@linux.intel.com \
--cc=demonsingur@gmail.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=mchehab@kernel.org \
--cc=romain.gantois@bootlin.com \
--cc=sakari.ailus@linux.intel.com \
--cc=tomi.valkeinen+renesas@ideasonboard.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=wsa+renesas@sang-engineering.com \
--cc=wsa@kernel.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 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.