[PATCH v1 0/3] Add required-opps support to devfreq passive gov

From: Saravana Kannan
Date: Fri Jun 21 2019 - 20:34:56 EST


The devfreq passive governor scales the frequency of a "child" device
based on the current frequency of a "parent" device (not parent/child in
the sense of device hierarchy). As of today, the passive governor
requires one of the following to work correctly:
1. The parent and child device have the same number of frequencies
2. The child device driver passes a mapping function to translate from
parent frequency to child frequency.

When (1) is not true, (2) is the only option right now. But often times,
all that is required is a simple mapping from parent's frequency to
child's frequency.

Since OPPs already support pointing to other "required-opps", add
support for using that to map from parent device frequency to child
device frequency. That way, every child device driver doesn't have to
implement a separate mapping function anytime (1) isn't true.

-Saravana

Saravana Kannan (3):
OPP: Allow required-opps even if the device doesn't have power-domains
OPP: Add function to look up required OPP's for a given OPP
PM / devfreq: Add required OPPs support to passive governor

drivers/devfreq/governor_passive.c | 25 +++++++++++--
drivers/opp/core.c | 56 +++++++++++++++++++++++++++++-
drivers/opp/of.c | 14 --------
include/linux/pm_opp.h | 11 ++++++
4 files changed, 89 insertions(+), 17 deletions(-)

--
2.22.0.410.gd8fdbe21b5-goog