On 9 November 2017 at 14:26, Geert Uytterhoeven <geert+rene...@glider.be> wrote: > Hi Rafael, Ulf, Kevin, > > If a device in a Renesas ARM SoC is part of a Clock Domain, and it is > used as a wakeup source, it must be kept active during system suspend.
Geert, I think we discussed this a bit already. I wonder if the above is a correct statement for all devices in these PM domains, that has wakeups? Don't these SoCs make use of any external logic (out-of-band IRQ) to deal with the wakeup IRQs? For example, how is GPIO irqs dealt with in this regards? If that is the case, you should really avoid using the big hammer method of setting the GENPD_FLAG_ACTIVE_WAKEUP. > > Currently this is handled in device-specific drivers by explicitly > increasing the use count of the module clock when the device is > configured as a wakeup source, or if it is part of the wakeup path. > > However, this is merely a workaround. The proper way to prevent the > device from being stopped is to inform this requirement to the genpd > core, using the new GENPD_FLAG_ACTIVE_WAKEUP flag introduced in commit > 95a20ef6f7e54c6a ("PM / Domains: Allow genpd users to specify default > active wakeup behavior"). > > Hence this series does that for PM Domain drivers used on R-Car, RZ/A1, > RZ/G1 SoCs, mimicking what is already done succesfully on SH/R-Mobile > SoCs. This will allow for the workarounds can be removed later. > [...] Kind regards Uffe