summaryrefslogtreecommitdiffstats
path: root/drivers/pinctrl/samsung/pinctrl-exynos.c
diff options
context:
space:
mode:
authorPatrick Rudolph <patrick.rudolph@9elements.com>2023-12-19 13:53:49 +0100
committerLinus Walleij <linus.walleij@linaro.org>2023-12-20 13:04:04 +0100
commit7d7cd22dc497dc79c2b1ae0e26cada1c5207d5dd (patch)
tree0e13f4971b9601e38e9a8b1864f8e1348ffb06dc /drivers/pinctrl/samsung/pinctrl-exynos.c
parent00bb152d62825b5f659d9b4ff87d49637e44eea0 (diff)
downloadlinux-stable-7d7cd22dc497dc79c2b1ae0e26cada1c5207d5dd.tar.gz
linux-stable-7d7cd22dc497dc79c2b1ae0e26cada1c5207d5dd.tar.bz2
linux-stable-7d7cd22dc497dc79c2b1ae0e26cada1c5207d5dd.zip
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 <patrick.rudolph@9elements.com> Link: https://lore.kernel.org/r/20231219125350.4031370-1-patrick.rudolph@9elements.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl/samsung/pinctrl-exynos.c')
0 files changed, 0 insertions, 0 deletions