Re: [PATCH v1] i2c: npcm7xx: Support changing bus speed using debugfs.
From: Andy Shevchenko
Date: Thu Oct 01 2020 - 14:51:44 EST
On Thu, Oct 1, 2020 at 9:42 PM Avi Fishman <avifishman70@xxxxxxxxx> wrote:
>
> Tali indeed pointed our major customers (Alex represent one of them :)
> that this feature must be handled carefully since it may break the
> communication and they are aware of that. Nevertheless they still want
> this feature, they already reviewed this and accepted it (in internal
> mails)
>
> So we will appreciate if this will be accepted.
>
> On Thu, Oct 1, 2020 at 9:27 PM Alex Qiu <xqiu@xxxxxxxxxx> wrote:
> >
> > On Thu, Oct 1, 2020 at 10:41 AM Andy Shevchenko
> > <andy.shevchenko@xxxxxxxxx> wrote:
> > >
> > > On Thu, Oct 01, 2020 at 08:13:49PM +0300, Avi Fishman wrote:
> > > > Hi Andy,
> > > >
> > > > Customers using BMC with complex i2c topology asked us to support
> > > > changing bus frequency at run time, for example same device will
> > > > communicate with one slave at 100Kbp/s and another with 400kbp/s and
> > > > maybe also with smae device at different speed (for example an i2c
> > > > mux).
> > > > This is not only for debug.
> > >
> > > The above design is fragile to start with. If you have connected peripheral
> > > devices with different speed limitations and you try to access faster one the
> > > slower ones may block and break the bus which will need recovery.
> > >
> >
> > Hi Andy,
> >
> > To clarify, we are using a single read-only image to support multiple
> > configurations, so the supported bus rate of the devices are not known
> > at compile time, but at runtime. We start with 100 kHz, and go 400 kHz
> > if applicable. FYI, we are using 5.1 kernel, however I don't know much
> > about DT overlay.
I see. So, there are following statements:
- the elaboration is good but I guess needs to be added somewhere in
form of the documentation
- the internal schedules or so are not crucial for the upstream (it
rather sounds like a bribing the judge)
- the current approach, if I'm not mistaken, is using debugfs, which
is not ABI and it's good
- I'm not a maintainer here, but I don't like the approach
Let the maintainer decide.
--
With Best Regards,
Andy Shevchenko