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

From: Linus Walleij
Date: Wed Dec 20 2023 - 07:04:59 EST


On Tue, Dec 19, 2023 at 1:53 PM Patrick Rudolph
<patrick.rudolph@xxxxxxxxxxxxx> wrote:

> 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%.
>
> Signed-off-by: Patrick Rudolph <patrick.rudolph@xxxxxxxxxxxxx>

Patch applied for v6.8.

Yours,
Linus Walleij