Re: [PATCH] pinctrl: cy8c95x0: Cache muxed registers
From: Patrick Rudolph
Date: Tue May 14 2024 - 04:39:22 EST
Hi,
sure can do that.
Do you have an example where muxed registers are used in a regmap?
Is there some documentation available explaining the existing
mechanism? I'm not aware of anything.
Regards,
Patrick
Patrick Rudolph
B.Sc. Electrical Engineering
System Firmware Developer
9elements GmbH, Kortumstraße 19-21, 44787 Bochum, Germany
Email: patrick.rudolph@xxxxxxxxxxxxx
Phone: +49 234 68 94 188
Sitz der Gesellschaft: Bochum
Handelsregister: Amtsgericht Bochum, HRB 17519
Geschäftsführung: Sebastian Deutsch, Eray Basar
Datenschutzhinweise nach Art. 13 DSGVO
On Tue, May 14, 2024 at 9:49 AM Linus Walleij <linus.walleij@linaroorg> wrote:
>
> 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