Messages in this thread | | | Date | Tue, 10 Mar 2015 23:33:05 +0100 | From | Alexandre Belloni <> | Subject | Re: [PATCH v2 5/6] watchdog: at91sam9: request the irq with IRQF_NO_SUSPEND |
| |
On 10/03/2015 at 23:31:52 +0100, Rafael J. Wysocki wrote : > On Tuesday, March 10, 2015 10:33:17 PM Alexandre Belloni wrote: > > Hi, > > > > On 09/03/2015 at 15:30:01 +0100, Rafael J. Wysocki wrote : > > > > > > Actaully, your platform should just refuse to enter suspend-to-RAM > > > > > > when hw watchdog is enabled. > > > > > > > > > > Quite likely, depending on how exactly the suspend is implemented. > > > > > > > > > > > > > We've had absolutely zero complain on that. It is quite clear in the > > > > datasheet that failing to refresh the watchdog once started will lead to > > > > a reset and that it is impossible to stop. > > > > It is actually quite convenient to also ensure that you can actually > > > > wake up from suspend because that can obviously go wrong. > > > > > > I gather then that the suspend implementation is such that touching the > > > watchdog periodically while suspended is not a problem. > > > > > > Again, can you please tell me how suspend is implemented on at91? > > > > > > > It actually depends on the architecture (at91rm9200, at91sam9 or sama5) > > but basically, the clocks are switched off in almost all the peripheral > > drivers then the ram self refresh activated, the master clock is > > switched off using code running from SRAM and the core is then waiting > > for interrupt. > > OK, so it looks like enable_irq_wake() doesn't actually affect the hardware > on those platforms, is that correct? >
I didn't exactly look in details but apart from the wakeup from gpio handling (keeping the pio controller clocked in the case one of its gpio has wakeup enabled), I don't think it does much more. It uses irq_gc_set_wake().
-- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
| |