Hi Ulf, On Mon, Dec 11, 2017 at 9:59 PM, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: > On 11 December 2017 at 11:48, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: >> On Mon, Dec 11, 2017 at 11:24 AM, Ulf Hansson <ulf.hansson@xxxxxxxxxx> wrote: >>> On 10 December 2017 at 11:16, Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: >>>> To complicate matters, some drivers may be used on SoCs where the device >>>> needs to be kept running (clock and/or power domain), and on SoCs where the >>>> device is always running. This difference is typically handled by genpd, >>>> and the device driver may not even be aware. Of course the driver can just >>>> set IN_BAND_WAKEUP regardless, (else it has to check for the presence of >>>> clocks and/or power-domains properties itself, duplicating genpd >>>> core/driver code). >>>> >>>> So what about >>>> >>>> if (IN_BAND_WAKEUP || >>>> (GENPD_FLAG_ACTIVE_WAKEUP && !OUT_BAND_WAKEUP)) { >>> >>> We don't want to suspend the device in case of IN_BAND_WAKEUP, right!? >>> >>>> ... suspend device... >>>> } >> >> Oops, inverted logic. I should not write technical emails on Sunday morning. >> >> Yes, the device must be kept awake if either IN_BAND_WAKEUP is set, or >> if GENPD_FLAG_ACTIVE_WAKEUP is set but OUT_BAND_WAKEUP isn't. > > Putting together the pieces of information received here, you have > convinced me that we should stick to use the current > GENPD_FLAG_ACTIVE_WAKEUP for now, which allows genpds to opt-in for > start dealing with in-band-wakeups. Thank you! So I'll move forward with "[PATCH v2 0/3] PM / Domain: renesas: Fix active wakeup behavior" (https://www.spinics.net/lists/linux-renesas-soc/msg19941.html) 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