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@xxxxxxxxxx> 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