On Mon, 17 Jul 2017, dbasehore . wrote: > On Mon, Jul 17, 2017 at 6:33 PM, Rafael J. Wysocki <rafael@xxxxxxxxxx> wrote: > I could make a patch to try it out. I would probably add a flag to rtc > timers to indicate whether it wakes the system (default true). We > would have to add a sync with the rtc irq and the rtc irqwork. I would > probably add a rtc_timer_sync function that would flush the rtc irq > and flush the irqwork. I would call this after the freeze_ops sync > function since the sci irq needs to finish before syncing with the rtc > irq. Also, pm_wakeup_irq seems racy with the current implementation of > s2idle_loop since the RTC irq could be mistakenly set as pm_wakeup_irq > when something else actually triggered the full wakeup. Fortunately, I > don't think pm_wakeup_irq is used for anything except debugging, but > we might change that. There is another option which you might consider. We can reserve one of the HPET comparators for that purpose and have a special interrupt handler for it. Checking the HPET for expiry from the low level code should be trivial. Thanks, tglx