gpio: omap: Block idle on pending gpio interrupts
authorTony Lindgren <tony@atomide.com>
Wed, 4 Mar 2020 22:54:31 +0000 (14:54 -0800)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 9 Mar 2020 09:24:23 +0000 (10:24 +0100)
commit43582265be8c5c29f4f420ce08a29d48f560c86e
tree9ef0170d001afabe66a0285f5af25410a72b7c0d
parent55be2f50336f67800513b46c5ba6270e4ed0e784
gpio: omap: Block idle on pending gpio interrupts

With the SoC cpuidle handling fixed for cpu_pm, we can now start to
return NOTIFY_BAD if there there are pending gpio interrupts.

This way the deeper SoC idle states can get blocked, and gpio latency
is improved in some cases. Note that this will not help with the
latency if the SoC has already entered a deeper idle state.

Note that this patch depends on cpu_pm properly handling the errors
returned by notifiers. For omap variants, this is fixed with patch
"ARM: OMAP2+: Handle errors for cpu_pm".

Cc: Dave Gerlach <d-gerlach@ti.com>
Cc: Grygorii Strashko <grygorii.strashko@ti.com>
Cc: Keerthy <j-keerthy@ti.com>
Cc: Ladislav Michl <ladis@linux-mips.org>
Cc: Russell King <rmk+kernel@armlinux.org.uk>
Cc: Tero Kristo <t-kristo@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Link: https://lore.kernel.org/r/20200304225433.37336-3-tony@atomide.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-omap.c