From: Marcus Folkesson <marcus.folkesson@gmail.com>
To: Andy Shevchenko <andriy.shevchenko@intel.com>
Cc: Wolfram Sang <wsa+renesas@sang-engineering.com>,
Michael Hennerich <michael.hennerich@analog.com>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Andi Shyti <andi.shyti@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>,
Peter Rosin <peda@lysator.liu.se>,
linux-i2c@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH v10 0/7] I2C Mux per channel bus speed
Date: Thu, 9 Jul 2026 10:33:46 +0200 [thread overview]
Message-ID: <ak9c6nGBsgMTP099@gmail.com> (raw)
In-Reply-To: <ak6m6srzX8dd6_nT@ashevche-desk.local>
Hi Andy,
On Wed, Jul 08, 2026 at 10:37:14PM +0300, Andy Shevchenko wrote:
> On Wed, Jul 08, 2026 at 02:16:12PM +0200, Marcus Folkesson wrote:
> > This was a RFC on how to implement a feature to have different bus
> > speeds on different channels with an I2C multiplexer/switch.
> > As no major complaints on the design came up during the review, I
> > decided to submit the series without the RFC tag.
> >
> > The benefit with this feature is that you may group devices after
> > the fastest bus speed they can handle.
> > A real-world example is that you could have e.g. a display running @400kHz
> > and a smart battery running @100kHz using the same I2C controller.
> >
> > There are many corner cases where this may cause a problem for some
> > hardware topologies. I've tried to describe those I could think of
> > in the documentation, see Patch #5.
> >
> > E.g. one risk is that if the mux driver does not disconnect channels
> > when Idle, this may cause a higher frequency to "leak" through to
> > devices that are supposed to run at lower bus speed.
> > This is not only a "problem" for changing bus speed but could also be
> > an issue for potential address conflicts.
> >
> > This patchset has been used and tested heavily the last months
> > on a custom board based on a da850 (DaVinci) platform.
>
> ...
>
> > Changes in v10:
> >
> > - Fix gramatics in documentation
> > - Move {__,}i2c_adapter_set_clk_freq() to i2c-mux.c
>
> Can you point to the discussion where it was suggested, please?
> It was like ages ago (too many patches to review) and I probably
> missed and/or forgot the rationale for that. Also if we move
> to i2c-mux, why do we leave it in the adapter namespace?
Hrm, it seems like the mailing list wasn't CC:ed for that comment.
It was suggested by Peter and the rationale to remove it was:
"
I'not sure it's a good idea to expose {__,}i2c_adapter_set_clk_freq().
Do we really want to make it so simple for random (non-mux) I2C drivers
to muck about with the bus speed? Any bus speed changes not coordinated
with mux-locked bus speed changes are going to be problematic. This is
shown by the discussion about D2 for the multi-level mux-locked example
(patch 5/5) -> it is problematic even when the bus speed is changed by
the mux code itself.
I think these helpers should be moved from i2c.h to i2c-mux.c.
"
>
> > - Make set_clk_freq() return actual frequency
> > - Reimplement idle_state (from earlier version)
> > - Implement example on idle_state for ltc4306
> > - Link to v9: https://lore.kernel.org/r/20260324-i2c-mux-v9-0-5292b0608243@gmail.com
>
> FWIW, I briefly read the v9 discussion and haven't got the above move,
> seems wasn't discussed there?
>
> --
> With Best Regards,
> Andy Shevchenko
>
>
Best regards,
Marcus Folkesson
next prev parent reply other threads:[~2026-07-09 8:33 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-08 12:16 [PATCH v10 0/7] I2C Mux per channel bus speed Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 1/7] i2c: core: add callback to change bus frequency Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 2/7] i2c: mux: add idle_state property to i2c_mux_core Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 3/7] i2c: mux: add support for per channel bus frequency Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 4/7] i2c: davinci: calculate bus freq from Hz instead of kHz Marcus Folkesson
2026-07-08 19:30 ` Andy Shevchenko
2026-07-09 8:34 ` Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 5/7] i2c: davinci: add support for setting bus frequency Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 6/7] i2c: mux: ltc4306: set correct idle_state in i2c_mux_core Marcus Folkesson
2026-07-08 12:16 ` [PATCH v10 7/7] docs: i2c: i2c-topology: add section about bus speed Marcus Folkesson
2026-07-08 19:37 ` [PATCH v10 0/7] I2C Mux per channel " Andy Shevchenko
2026-07-09 8:33 ` Marcus Folkesson [this message]
2026-07-09 10:05 ` 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=ak9c6nGBsgMTP099@gmail.com \
--to=marcus.folkesson@gmail.com \
--cc=andi.shyti@kernel.org \
--cc=andriy.shevchenko@intel.com \
--cc=brgl@bgdev.pl \
--cc=brgl@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.hennerich@analog.com \
--cc=peda@lysator.liu.se \
--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: 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.