Hi Ulf, On Fri, Nov 10, 2017 at 10:57 AM, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > On 9 November 2017 at 14:26, Geert Uytterhoeven <geert+renesas@xxxxxxxxx> wrote: >> 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? It is true for all wakeup sources (e.g. Ethernet and serial). > 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? Interrupt controllers (incl. GPIO) may, depending on SoC type: - be located in a controllable power area (SH/R-Mobile), - may run from a controllable module clock (SH/R-Mobile, R-Car Gen2/Gen3, RZ/A1, RZ/G1). So there are no out-of-band IRQs in the wakeup path, unless on SoCs where the interrupt controllers are in an always-on power area, AND run from a fixed clock. I think only R-Car Gen1 falls in that category. Still, R-Car Gen1 needs active_wakeup for wakeup sources. See series "[PATCH/RFC 0/3] renesas: irqchip: Use wakeup_path i.s.o. explicit clock handling", which includes GPIO interrupts. > If that is the case, you should really avoid using the big hammer > method of setting the GENPD_FLAG_ACTIVE_WAKEUP. So I think I do need the big hammer ;-) >> 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. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds