Hi Grygorii, On Mon, Apr 03, 2017 at 03:20:47PM -0500, Grygorii Strashko wrote: > hi Ladislav, > > On 03/24/2017 12:33 PM, Grygorii Strashko wrote: > > > > > > On 03/23/2017 09:49 AM, Tony Lindgren wrote: > > > * 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. > > > > This is really strange as PM runtime will be executed only when > > first gpio is requested - all other time gpio bank should stay active. > > > > Only one possibility is deep CPUIdle or Suspend states, but in this case > > some QoS setup may require to block these states while IR/App is > > running. > > > > Do you have any news here? > a) will it fix your issue if you just disable cpuidle and auto-suspend? > b) will it fix your issue if you disable cpuidle and auto-suspend, and > apply fix in omap_gpio_ack_irq()? > ... a) almost fixes issue, rarely interrupt is lost. b) fixes issue (most likely, I'd need to build test equipment to detect interrupt misses and run test over weekend) And as omap_gpio_ack_irq fix is obviously correct, I'm sending it as proper patch. According to Tony, the rest could be optimized somehow :-) ladis -- 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