Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote on Sat [2019-Jun-22 22:59:40 -0700]: > On Sat, Jun 22, 2019 at 01:37:10PM +0300, Andy Shevchenko wrote: > > On Fri, Jun 21, 2019 at 9:53 PM Benoit Parrot <bparrot@xxxxxx> wrote: > > > > > > As a wakeup source when the system is in suspend there is little point > > > trying to access a register across the i2c bus as it is probably still > > > inactive. We need to prevent the irq handler from being called during > > > suspend. > > > > > > > Hmm... But how OS will know what the event to handle afterwards? > > I mean shouldn't we guarantee somehow the delivery of the event to the > > input, in this case, subsystem followed by corresponding user space? > > If we are using level interrupts then it will work OK, however it is > really easy to lose edge here, as replaying disabled edge triggered > interrupts is not really reliable. > > Benoit, what kind of interrupt do you use in your system? Dmitry, On our systems we currently used edge trigger. One example is available in mainline: arch/arm/boot/dts/am437x-sk-evm.dts 632: interrupts = <31 IRQ_TYPE_EDGE_FALLING>; Benoit > > Thanks. > > -- > Dmitry