On Wed, Apr 10, 2019 at 9:51 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote: > From: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > > Commit b764a5863fd8 ("gpio: omap: Remove custom PM calls and use cpu_pm > instead") moved interrupt using GPIO banks to idle with cpu_pm in order > to drop the use of pm_runtime_irq_safe() in a later patch. The GPIO > banks with no interrupts claimed are still being idled based on PM > runtime calls. However this caused a regression for am437x suspend for > rtc+ddr idle mode where the device cannot enter idle state as reported > by Keerthy <j-keerthy@xxxxxx>. > > To fix the issue, we must not fail the pm_runtime callbacks. For GPIO > interrupts, we already have irq_chip_pm_get increment the PM runtime > use count as pointed out by Grygorii Strashko <grygorii.strashko@xxxxxx>. > > So all we need to do is remove the conditional handling in the > runtime_suspend and resume functions and let the CPU PM notifier idle > the GPIO banks. > > Cc: Aaro Koskinen <aaro.koskinen@xxxxxx> > Cc: Grygorii Strashko <grygorii.strashko@xxxxxx> > Cc: Keerthy <j-keerthy@xxxxxx> > Cc: Peter Ujfalusi <peter.ujfalusi@xxxxxx> > Cc: Tero Kristo <t-kristo@xxxxxx> > Fixes: b764a5863fd8 ("gpio: omap: Remove custom PM calls and use cpu_pm instead") > Reported-by: Keerthy <j-keerthy@xxxxxx> > Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxx> > [tony@xxxxxxxxxxx: updated patch description, dropped runtime count changes] > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- > > Changes since v1: > - Dropped PM runtime changes to increment count in omap_gpio_irq_startup > as that's not needed based on comments from Grygorii > > - Updated subject and description accordingly Applied this v2 version. Yours, Linus Walleij