[PATCH 00/14] PM: domains: Various improvements for genpd

From: Ulf Hansson
Date: Wed May 11 2022 - 10:57:41 EST


The main goal with this series is to improve the way genpd deals with its
governor(s). Especially it turns allocation of governor related data to be
dynamically allocated. It also improves the execution path for runtime-
suspend/resume of devices (attached to a genpd of course) and the similar is
also done for genpd's power-on/off path.

Note that, patch 1->3 have already been sent before in a separate series [1],
but for simplicity I have included them here again.

Tests/reviews are as usual highly appreciated!

Kind regards
Ulf Hansson

[1]
https://www.spinics.net/lists/kernel/msg4335838.html

Ulf Hansson (14):
PM: domains: Add GENPD_FLAG_RPM_ALWAYS_ON for the always-on governor
PM: domains: Drop redundant code for genpd always-on governor
PM: domains: Don't check PM_QOS_FLAG_NO_POWER_OFF in genpd
PM: domains: Rename irq_safe_dev_in_no_sleep_domain() in genpd
PM: domains: Skip another warning in irq_safe_dev_in_sleep_domain()
PM: domains: Allocate gpd_timing_data dynamically based on governor
PM: domains: Move the next_wakeup variable into the struct
gpd_timing_data
PM: domains: Measure suspend/resume latencies in genpd based on
governor
PM: domains: Fixup QoS latency measurements for IRQ safe devices in
genpd
PM: domains: Fix initialization of genpd's next_wakeup
PM: domains: Clean up some code in pm_genpd_init() and genpd_remove()
PM: domains: Allocate governor data dynamically based on a genpd
governor
PM: domains: Measure power-on/off latencies in genpd based on a
governor
PM: domains: Trust domain-idle-states from DT to be correct by genpd

drivers/base/power/domain.c | 201 +++++++++++++++++----------
drivers/base/power/domain_governor.c | 65 +++++----
include/linux/pm_domain.h | 18 ++-
3 files changed, 173 insertions(+), 111 deletions(-)

--
2.25.1