]> git.baikalelectronics.ru Git - kernel.git/commit
pinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI
authorMarek Vasut <marex@denx.de>
Fri, 15 Apr 2022 21:54:10 +0000 (23:54 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Thu, 21 Apr 2022 14:30:30 +0000 (16:30 +0200)
commit877733332cd41f951fe66ccea6adfc5cd19187b7
treeef2fbeab28889635090e73a1e331229eb964a3a1
parent5690f71ae15eed10523298b738fd881d54c3f884
pinctrl: stm32: Do not call stm32_gpio_get() for edge triggered IRQs in EOI

The stm32_gpio_get() should only be called for LEVEL triggered interrupts,
skip calling it for EDGE triggered interrupts altogether to avoid wasting
CPU cycles in EOI handler. On this platform, EDGE triggered interrupts are
the majority and LEVEL triggered interrupts are the exception no less, and
the CPU cycles are not abundant.

Fixes: 3cfc44a0ced0e ("pinctrl: stm32: Add level interrupt support to gpio irq chip")
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@foss.st.com>
Cc: Fabien Dessenne <fabien.dessenne@foss.st.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Marc Zyngier <maz@kernel.org>
Cc: linux-stm32@st-md-mailman.stormreply.com
Cc: linux-arm-kernel@lists.infradead.org
To: linux-gpio@vger.kernel.org
Link: https://lore.kernel.org/r/20220415215410.498349-1-marex@denx.de
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/stm32/pinctrl-stm32.c