linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC 0/4] opp: Parse required-opp as dev_pm_qos_request
@ 2019-08-06 11:12 Leonard Crestez
  2019-08-06 11:12 ` [RFC 1/4] opp: Drop const from opp_device struct device Leonard Crestez
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Leonard Crestez @ 2019-08-06 11:12 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Rafael J. Wysocki, Stephen Boyd, Artur Świgoń,
	Saravana Kannan, Krzysztof Kozlowski, Georgi Djakov,
	Chanwoo Choi, MyungJoo Ham, Kyungmin Park, Alexandre Bailon,
	linux-pm

The "required-opps" property can be placed on any device and point to
any OPP table according to bindings doc but this is not fully
implemented. In practice it can only point from the opp table of a
device to the opp table of a power domain.

As part of my investingating QOS mechanisms I implemented support for
parsing "required-opps" into a DEV_PM_QOS_MIN_FREQUENCY
dev_pm_qos_request. Since OPPs can be shared between devices this only
works when OPP tables are unshared.

This would need to be called from a device probe function and any
suspend/resume handling (which likely means disabling the QOS requests)
would also be handled manually by each driver.

This is RFC mostly because I plan to use the "interconnect" framework
for device requests instead. In theory this could be used if you don't
care about implementing smart aggregation and just want to "set bus freq
to high".

Devfreq support for dev_pm_qos is here: https://patchwork.kernel.org/patch/11078475/

Leonard Crestez (4):
  opp: Drop const from opp_device struct device
  opp: Add dev_pm_opp_table_get_device
  opp: Add dev_pm_parse_required_opp_as_qos
  PM / QoS: Add dev_pm_qos_get_curr_value

 drivers/base/power/qos.c | 59 +++++++++++++++++++++++++-----------
 drivers/opp/core.c       | 34 +++++++++++++++++++--
 drivers/opp/of.c         | 65 ++++++++++++++++++++++++++++++++++++++++
 drivers/opp/opp.h        |  4 +--
 include/linux/pm_opp.h   | 15 ++++++++++
 include/linux/pm_qos.h   |  1 +
 6 files changed, 157 insertions(+), 21 deletions(-)

-- 
2.17.1


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

end of thread, other threads:[~2019-08-21  5:18 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-08-06 11:12 [RFC 0/4] opp: Parse required-opp as dev_pm_qos_request Leonard Crestez
2019-08-06 11:12 ` [RFC 1/4] opp: Drop const from opp_device struct device Leonard Crestez
2019-08-06 11:12 ` [RFC 2/4] opp: Add dev_pm_opp_table_get_device Leonard Crestez
2019-08-06 11:12 ` [RFC 3/4] opp: Add dev_pm_parse_required_opp_as_qos Leonard Crestez
2019-08-06 11:12 ` [RFC 4/4] PM / QoS: Add dev_pm_qos_get_curr_value Leonard Crestez
2019-08-20  6:52 ` [RFC 0/4] opp: Parse required-opp as dev_pm_qos_request Viresh Kumar
2019-08-20  9:02   ` Leonard Crestez
2019-08-20  9:22     ` Viresh Kumar
2019-08-20 15:48       ` Leonard Crestez
2019-08-21  5:18         ` Viresh Kumar

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).