linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] PM: domains: Avoid boilerplate code for DVFS in subsystem/drivers
@ 2021-06-03  9:34 Ulf Hansson
  2021-06-03  9:34 ` [PATCH v2 1/4] PM: domains: Split code in dev_pm_genpd_set_performance_state() Ulf Hansson
                   ` (4 more replies)
  0 siblings, 5 replies; 31+ messages in thread
From: Ulf Hansson @ 2021-06-03  9:34 UTC (permalink / raw)
  To: Rafael J . Wysocki, Viresh Kumar, linux-pm
  Cc: Ulf Hansson, Dmitry Osipenko, Jonathan Hunter, Thierry Reding,
	Rajendra Nayak, Stephan Gerhold, Roja Rani Yarubandi,
	Bjorn Andersson, Vincent Guittot, Stephen Boyd, linux-kernel

Various discussions on LKML have pointed out that many subsystem/drivers for
devices that may be attached to a genpd and which manages DVFS/OPP though the
genpd performance states, would need very similar updates.

More precisely, they would likely have to call dev_pm_opp_set_rate|opp() to
drop and restore OPPs (which propagates upwards into performance states votes
in genpd), every time their devices should enter/exit a low power state, via
their device PM callbacks.

Rather than having to add the boilerplate code for these things into the
subsystems/drivers, this series implements the logic internally into genpd.

Concerns have been raised about this approach, mostly by myself, around that it
limits flexibility. On the other hand, it starts to look like more and more
people are requesting this to be manged internally in genpd, for good reasons.
So, I think it's worth to give this a try.

In the long run, if it turns out that the flexibility was indeed needed, we can
always deal with that as special cases on top.

Test and reviews are of course greatly appreciated!

Kind regards
Ulf Hansson

Ulf Hansson (4):
  PM: domains: Split code in dev_pm_genpd_set_performance_state()
  PM: domains: Return early if perf state is already set for the device
  PM: domains: Drop/restore performance state votes for devices at
    runtime PM
  PM: domains: Drop/restore performance state votes for devices at
    system PM

 drivers/base/power/domain.c | 70 +++++++++++++++++++++++++++++--------
 include/linux/pm_domain.h   |  2 ++
 2 files changed, 58 insertions(+), 14 deletions(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2021-06-11 16:43 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-03  9:34 [PATCH v2 0/4] PM: domains: Avoid boilerplate code for DVFS in subsystem/drivers Ulf Hansson
2021-06-03  9:34 ` [PATCH v2 1/4] PM: domains: Split code in dev_pm_genpd_set_performance_state() Ulf Hansson
2021-06-03  9:34 ` [PATCH v2 2/4] PM: domains: Return early if perf state is already set for the device Ulf Hansson
2021-06-03  9:34 ` [PATCH v2 3/4] PM: domains: Drop/restore performance state votes for devices at runtime PM Ulf Hansson
2021-06-03  9:55   ` Viresh Kumar
2021-06-03 10:31     ` Ulf Hansson
2021-06-03 11:17       ` Ulf Hansson
2021-06-04  3:53         ` Viresh Kumar
2021-06-04  7:45           ` Ulf Hansson
2021-06-07  4:47             ` Viresh Kumar
2021-06-09 12:25               ` Ulf Hansson
2021-06-03 19:02   ` Dmitry Osipenko
2021-06-03 19:08     ` Dmitry Osipenko
2021-06-04  7:20       ` Ulf Hansson
2021-06-03  9:34 ` [PATCH v2 4/4] PM: domains: Drop/restore performance state votes for devices at system PM Ulf Hansson
2021-06-03 10:20   ` Ulf Hansson
2021-06-03 11:15     ` Mark Brown
2021-06-03 13:48       ` Ulf Hansson
2021-06-08 12:53     ` Stephan Gerhold
2021-06-08 14:08       ` Ulf Hansson
2021-06-08 14:20         ` Mark Brown
2021-06-08 14:39           ` Ulf Hansson
2021-06-08 15:37         ` Stephan Gerhold
2021-06-03 11:12 ` [PATCH v2 0/4] PM: domains: Avoid boilerplate code for DVFS in subsystem/drivers Stephan Gerhold
2021-06-03 15:27   ` Ulf Hansson
2021-06-03 17:14     ` Stephan Gerhold
2021-06-04  7:18       ` Ulf Hansson
2021-06-04  8:23         ` Stephan Gerhold
2021-06-04 10:57           ` Ulf Hansson
2021-06-04 11:50             ` Stephan Gerhold
2021-06-11 16:42               ` Rafael J. Wysocki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).