* Ladislav Michl <ladis@xxxxxxxxxxxxxx> [170323 05:46]: > Edge triggered interrupts are lost no matter how fast is its source. > It happens even at 10Hz and patch bellow fixes issue. Of course, > it is just a hack showing where problem is and it will need a bit > more debugging. OK disabling pm_runtime fixes it.. Care to describe which GPIO bank you're testing with? For GPIO bank1, context is never lost so wake-ups work without the wakeirqs handled by pinctrl-single.c. But you should not hit this unless you've configured the system to hit off mode during idle by setting /sys/kernel/debug/pm_debug/enable_off_mode and configuring UART autosuspend. So it seems the runtime_suspend/resume edge configuration for wake-up events causes it? If nothing else helps, I guess one option would be to implement pm_runtime_use_autosuspend() with the timeout configured to 100ms or something similar. But that seems like a workaround and won't fix the real issue. Regards, Tony > diff --git a/drivers/gpio/gpio-omap.c b/drivers/gpio/gpio-omap.c > index efc85a279d54..f6398ab7b75a 100644 > --- a/drivers/gpio/gpio-omap.c > +++ b/drivers/gpio/gpio-omap.c > @@ -1273,6 +1273,7 @@ static int omap_gpio_runtime_suspend(struct device *dev) > unsigned long flags; > u32 wake_low, wake_hi; > > + return -EINVAL; > raw_spin_lock_irqsave(&bank->lock, flags); > > /* > @@ -1341,6 +1342,7 @@ static int omap_gpio_runtime_resume(struct device *dev) > unsigned long flags; > int c; > > + return -EINVAL; > raw_spin_lock_irqsave(&bank->lock, flags); > > /* > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html