On Fri, 21 Dec 2018 at 09:57, Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> wrote: > > Specify the active + sleep and active-only MX power domains as > the parents of the corresponding CX power domains. This will ensure that > performance state requests on CX automatically generate equivalent requests > on MX power domains. > > This is used to enforce a requirement that exists for various > hardware blocks on SDM845 that MX performance state >= CX performance > state for a given operating frequency. > > Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > Acked-by: Viresh Kumar <viresh.kumar@xxxxxxxxxx> > Reviewed-by: Stephen Boyd <swboyd@xxxxxxxxxxxx> Reviewed-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> Kind regards Uffe > --- > drivers/soc/qcom/rpmhpd.c | 11 +++++++++++ > 1 file changed, 11 insertions(+) > > diff --git a/drivers/soc/qcom/rpmhpd.c b/drivers/soc/qcom/rpmhpd.c > index f7fbe57f31ae..71d693c31e3b 100644 > --- a/drivers/soc/qcom/rpmhpd.c > +++ b/drivers/soc/qcom/rpmhpd.c > @@ -97,12 +97,14 @@ static struct rpmhpd sdm845_cx_ao; > static struct rpmhpd sdm845_cx = { > .pd = { .name = "cx", }, > .peer = &sdm845_cx_ao, > + .parent = &sdm845_mx.pd, > .res_name = "cx.lvl", > }; > > static struct rpmhpd sdm845_cx_ao = { > .pd = { .name = "cx_ao", }, > .peer = &sdm845_cx, > + .parent = &sdm845_mx_ao.pd, > .res_name = "cx.lvl", > }; > > @@ -372,6 +374,15 @@ static int rpmhpd_probe(struct platform_device *pdev) > data->domains[i] = &rpmhpds[i]->pd; > } > > + /* Add subdomains */ > + for (i = 0; i < num_pds; i++) { > + if (!rpmhpds[i]) > + continue; > + if (rpmhpds[i]->parent) > + pm_genpd_add_subdomain(rpmhpds[i]->parent, > + &rpmhpds[i]->pd); > + } > + > return of_genpd_add_provider_onecell(pdev->dev.of_node, data); > } > > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of Code Aurora Forum, hosted by The Linux Foundation >