* Théo Lebrun <theo.lebrun@xxxxxxxxxxx> [231124 10:39]: > On Fri Nov 24, 2023 at 6:37 AM CET, Tony Lindgren wrote: > Checking the code confirms this behavior. Grep for the macro > genpd_is_active_wakeup rather than GENPD_FLAG_ACTIVE_WAKEUP. It gets > used twice (suspend & resume), both in the same manner: > > if (device_wakeup_path(dev) && genpd_is_active_wakeup(genpd)) > > This means this flag won't have any impact on runtime PM handling of > power-domains. By the way, other users of the flag enable it at PD > registration & don't touch it afterwards. Setting GENPD_FLAG_ACTIVE_WAKEUP will block deeper idle states for the SoC most likely. > There is currently nothing that links the runtime PM refcount to whether > or not the power-domains get powered-off at suspend_noirq. Should that > change? Maybe, but it would be a big behavioral change. For managing GENPD_FLAG_ACTIVE_WAKEUP dynamically, maybe something like: device_request_wakeup_path(dev) ... device_free_wakeup_path(dev) And those would toggle GENPD_FLAG_ACTIVE_WAKEUP for the power domain based on some usage count? Regards, Tony