mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH V3 0/6] PM / Domains: Allow performance state propagation
@ 2018-12-12 10:57 Viresh Kumar
  2018-12-12 10:57 ` [PATCH V3 1/6] PM / Domains: Make genpd performance states orthogonal to the idlestates Viresh Kumar
                   ` (6 more replies)
  0 siblings, 7 replies; 11+ messages in thread
From: Viresh Kumar @ 2018-12-12 10:57 UTC (permalink / raw)
  To: ulf.hansson, Rafael Wysocki, Kevin Hilman, Len Brown,
	Nishanth Menon, Pavel Machek, Stephen Boyd, Viresh Kumar
  Cc: Viresh Kumar, linux-pm, Vincent Guittot, rnayak, niklas.cassel,
	linux-kernel

Hi,

This series adds performance state propagation support in genpd core.
The propagation happens from the sub-domains to their masters. More
details can be found in the individual commit logs.

This is tested on hikey960 by faking power domains in such a way that
the CPU devices have two power domains and both of them have the same
master domain. The CPU device, as well as its power domains have
"required-opps" property set and the performance requirement from the
CPU eventually configures all the domains (2 sub-domains and 1 master).

Based on opp/linux-next branch (which is 4.20-rc1 +
multiple-power-domain-support-in-opp-core + some OPP fixes).

Rajendra has already tested the previous version of this series and so I
have included his Tested-by for all patches.

V2->V3:
- Include Ulf's patch (sent separately earlier) with this series.
- The performance state update code doesn't rely anymore on the power
  on/off state of the genpd, it sets and propagates rate in all cases.
- That simplified a lot of code from V2 in _genpd_power_on().
- commit logs improved for few commits.
- s/mstate/master_state/
- and few more minor changes.

v1->V2:
- First patch (1/5) is new and an improvement to earlier stuff.
- Move genpd_status_on() check to _genpd_reeval_performance_state() from
  _genpd_set_performance_state().
- Improve dev_pm_opp_xlate_performance_state() to handle 1:1 pstate
  mapping between genpd and its master and also to fix a problem while
  finding the dst_table.
- Handle pstate=0 case properly.

--
viresh

Ulf Hansson (1):
  PM / Domains: Make genpd performance states orthogonal to the
    idlestates

Viresh Kumar (5):
  OPP: Improve _find_table_of_opp_np()
  OPP: Add dev_pm_opp_xlate_performance_state() helper
  PM / Domains: Save OPP table pointer in genpd
  PM / Domains: Factorize dev_pm_genpd_set_performance_state()
  PM / Domains: Propagate performance state updates

 drivers/base/power/domain.c | 207 ++++++++++++++++++++++++++----------
 drivers/opp/core.c          |  59 ++++++++++
 drivers/opp/of.c            |  14 ++-
 include/linux/pm_domain.h   |   6 ++
 include/linux/pm_opp.h      |   7 ++
 5 files changed, 235 insertions(+), 58 deletions(-)

-- 
2.19.1.568.g152ad8e3369a


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

end of thread, other threads:[~2018-12-14  6:33 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-12-12 10:57 [PATCH V3 0/6] PM / Domains: Allow performance state propagation Viresh Kumar
2018-12-12 10:57 ` [PATCH V3 1/6] PM / Domains: Make genpd performance states orthogonal to the idlestates Viresh Kumar
2018-12-12 10:57 ` [PATCH V3 2/6] OPP: Improve _find_table_of_opp_np() Viresh Kumar
2018-12-12 10:57 ` [PATCH V3 3/6] OPP: Add dev_pm_opp_xlate_performance_state() helper Viresh Kumar
2018-12-13 14:53   ` Ulf Hansson
2018-12-12 10:57 ` [PATCH V3 4/6] PM / Domains: Save OPP table pointer in genpd Viresh Kumar
2018-12-12 10:57 ` [PATCH V3 5/6] PM / Domains: Factorize dev_pm_genpd_set_performance_state() Viresh Kumar
2018-12-12 10:57 ` [PATCH V3 6/6] PM / Domains: Propagate performance state updates Viresh Kumar
2018-12-13 15:53   ` Ulf Hansson
2018-12-14  6:33     ` Viresh Kumar
2018-12-13  4:43 ` [PATCH V3 0/6] PM / Domains: Allow performance state propagation Rajendra Nayak

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

Powered by JetHome