diff options
author | Patrick Rudolph <[email protected]> | 2023-12-19 13:53:49 +0100 |
---|---|---|
committer | Linus Walleij <[email protected]> | 2023-12-20 13:04:04 +0100 |
commit | 7d7cd22dc497dc79c2b1ae0e26cada1c5207d5dd (patch) | |
tree | 0e13f4971b9601e38e9a8b1864f8e1348ffb06dc /drivers/fpga/of-fpga-region.c | |
parent | 00bb152d62825b5f659d9b4ff87d49637e44eea0 (diff) |
pinctrl: cy8c95x0: Cache muxed registers
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 <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Linus Walleij <[email protected]>
Diffstat (limited to 'drivers/fpga/of-fpga-region.c')
0 files changed, 0 insertions, 0 deletions