linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rajendra Nayak <rnayak@codeaurora.org>
To: robh@kernel.org, viresh.kumar@linaro.org, sboyd@kernel.org,
	andy.gross@linaro.org, ulf.hansson@linaro.org,
	collinsd@codeaurora.org, mka@chromium.org
Cc: devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-kernel@vger.kernel.org,
	Rajendra Nayak <rnayak@codeaurora.org>
Subject: [PATCH v5 8/8] soc: qcom: rpmhpd: Mark mx as a parent for cx
Date: Tue,  4 Dec 2018 10:51:19 +0530	[thread overview]
Message-ID: <20181204052119.806-9-rnayak@codeaurora.org> (raw)
In-Reply-To: <20181204052119.806-1-rnayak@codeaurora.org>

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@codeaurora.org>
---
This patch is dependent on the series from
Viresh [1] which adds support to propogate performance states across the
power domain hierarchy which is still being reviewed.

[1] https://lkml.org/lkml/2018/11/26/333

 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 10b45b4f4588..6624c9c56b2e 100644
--- a/drivers/soc/qcom/rpmhpd.c
+++ b/drivers/soc/qcom/rpmhpd.c
@@ -104,12 +104,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",
 };
 
@@ -403,6 +405,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


  parent reply	other threads:[~2018-12-04  5:22 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-04  5:21 [PATCH v5 0/8] Add power domain driver for corners on msm8996/sdm845 Rajendra Nayak
2018-12-04  5:21 ` [PATCH v5 1/8] dt-bindings: opp: Introduce qcom-opp bindings Rajendra Nayak
2018-12-04 23:06   ` Stephen Boyd
2018-12-07 17:29   ` Rob Herring
2018-12-04  5:21 ` [PATCH v5 2/8] dt-bindings: power: Add qcom rpm power domain driver bindings Rajendra Nayak
2018-12-04  5:21 ` [PATCH v5 3/8] soc: qcom: rpmpd: Add a Power domain driver to model corners Rajendra Nayak
2018-12-04 23:12   ` Stephen Boyd
2018-12-05  7:01     ` Rajendra Nayak
2018-12-04  5:21 ` [PATCH v5 4/8] soc: qcom: rpmpd: Add support for get/set performance state Rajendra Nayak
2018-12-04 23:14   ` Stephen Boyd
2018-12-05  7:03     ` Rajendra Nayak
2018-12-05 10:11       ` Rajendra Nayak
2018-12-05 20:46         ` Stephen Boyd
2018-12-04  5:21 ` [PATCH v5 5/8] arm64: dts: msm8996: Add rpmpd device node Rajendra Nayak
2018-12-04  5:21 ` [PATCH v5 6/8] soc: qcom: rpmhpd: Add RPMh Power domain driver Rajendra Nayak
2018-12-04  5:21 ` [PATCH v5 7/8] arm64: dts: sdm845: Add rpmh powercontroller node Rajendra Nayak
2018-12-04  5:25   ` Viresh Kumar
2018-12-04 23:16   ` Stephen Boyd
2018-12-05  7:07     ` Rajendra Nayak
2018-12-07 17:36       ` Rob Herring
2018-12-04  5:21 ` Rajendra Nayak [this message]
2018-12-04  5:26   ` [PATCH v5 8/8] soc: qcom: rpmhpd: Mark mx as a parent for cx Viresh Kumar

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20181204052119.806-9-rnayak@codeaurora.org \
    --to=rnayak@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=collinsd@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mka@chromium.org \
    --cc=robh@kernel.org \
    --cc=sboyd@kernel.org \
    --cc=ulf.hansson@linaro.org \
    --cc=viresh.kumar@linaro.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).