Re: [PATCH] pinctrl: cy8c95x0: Cache muxed registers

From: Linus Walleij
Date: Tue May 14 2024 - 03:49:42 EST


On Tue, May 14, 2024 at 7:27 AM Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> Tue, Dec 19, 2023 at 01:53:49PM +0100, Patrick Rudolph kirjoitti:
> > Currently the port specific registers behind the PORTSEL mux aren't
> > cached in the regmap and thus the typical setup time for a single pin
> > on cy8c9560 is about 200msec on our system. The hotspot is the IRQ
> > (un)masking, which causes lots of R/W operations.
> >
> > Introduce a separate regmap for muxed registers and helper functions
> > to use the newly introduced regmap for muxed register access under
> > the i2c lock.
> >
> > With the new cache in place the typical pin setup time is reduced to
> > 20msec, making it about 10 times faster. As a side effect the system
> > boot time is also reduced by 50%.
>
> Interestingly that you have not Cc'ed me on your patches.
> This, btw, a good reinvetion of a wheel which regmap supports already.

Also sloppy reviewing from my side :(

Patrick can you look into making a patch on top of this
that switches the code to use the built-in caching in regmap
insted of rolling your own?

Yours,
Linus Walleij