LKML Archive on lore.kernel.org
 help / color / Atom feed
From: Rajendra Nayak <rnayak@codeaurora.org>
To: andy.gross@linaro.org, robh@kernel.org, viresh.kumar@linaro.org,
	sboyd@kernel.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, henryc.chen@mediatek.com,
	Rajendra Nayak <rnayak@codeaurora.org>
Subject: [PATCH v11 9/9] soc: qcom: rpmhpd: Mark mx as a parent for cx
Date: Thu, 10 Jan 2019 09:32:09 +0530
Message-ID: <20190110040209.6028-10-rnayak@codeaurora.org> (raw)
In-Reply-To: <20190110040209.6028-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>
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
Reviewed-by: Stephen Boyd <swboyd@chromium.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
---
 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 e45628694f09..4aadece0ac5a 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


  parent reply index

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-10  4:02 [PATCH v11 0/9] Add power domain driver for corners on msm8996/sdm845 Rajendra Nayak
2019-01-10  4:02 ` [PATCH v11 1/9] dt-bindings: opp: Introduce opp-level bindings Rajendra Nayak
2019-01-10  6:26   ` Viresh Kumar
2019-01-11 19:06   ` Stephen Boyd
2019-01-11 22:16   ` Doug Anderson
2019-01-15 19:59   ` Rob Herring
2019-01-10  4:02 ` [PATCH v11 2/9] OPP: Add support for parsing the 'opp-level' property Rajendra Nayak
2019-01-10  6:29   ` Viresh Kumar
2019-01-11 19:06   ` Stephen Boyd
2019-01-10  4:02 ` [PATCH v11 3/9] dt-bindings: power: Add qcom rpm power domain driver bindings Rajendra Nayak
2019-01-10  4:02 ` [PATCH v11 4/9] soc: qcom: rpmpd: Add a Power domain driver to model corners Rajendra Nayak
2019-01-17 17:42   ` Guenter Roeck
2019-01-18  4:54     ` Rajendra Nayak
2019-01-10  4:02 ` [PATCH v11 5/9] soc: qcom: rpmpd: Add support for get/set performance state Rajendra Nayak
2019-01-10  4:02 ` [PATCH v11 6/9] arm64: dts: msm8996: Add rpmpd device node Rajendra Nayak
2019-01-10  4:02 ` [PATCH v11 7/9] soc: qcom: rpmhpd: Add RPMh power domain driver Rajendra Nayak
2019-01-10  4:02 ` [PATCH v11 8/9] arm64: dts: sdm845: Add rpmh powercontroller node Rajendra Nayak
2019-01-10  4:02 ` Rajendra Nayak [this message]
2019-01-10  6:33 ` [PATCH v11 0/9] Add power domain driver for corners on msm8996/sdm845 Viresh Kumar
2019-01-16  5:52   ` Bjorn Andersson
2019-01-16 15:18     ` Ulf Hansson
2019-01-17  4:24     ` Viresh Kumar
2019-01-17 15:03 ` Marc Gonzalez
2019-01-18  3:54   ` Rajendra Nayak
2019-01-18 10:17     ` Marc Gonzalez
2019-01-21  9:20       ` Rajendra Nayak

Reply instructions:

You may reply publically 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=20190110040209.6028-10-rnayak@codeaurora.org \
    --to=rnayak@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=collinsd@codeaurora.org \
    --cc=devicetree@vger.kernel.org \
    --cc=henryc.chen@mediatek.com \
    --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

LKML Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/lkml/0 lkml/git/0.git
	git clone --mirror https://lore.kernel.org/lkml/1 lkml/git/1.git
	git clone --mirror https://lore.kernel.org/lkml/2 lkml/git/2.git
	git clone --mirror https://lore.kernel.org/lkml/3 lkml/git/3.git
	git clone --mirror https://lore.kernel.org/lkml/4 lkml/git/4.git
	git clone --mirror https://lore.kernel.org/lkml/5 lkml/git/5.git
	git clone --mirror https://lore.kernel.org/lkml/6 lkml/git/6.git
	git clone --mirror https://lore.kernel.org/lkml/7 lkml/git/7.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 lkml lkml/ https://lore.kernel.org/lkml \
		linux-kernel@vger.kernel.org linux-kernel@archiver.kernel.org
	public-inbox-index lkml


Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel


AGPL code for this site: git clone https://public-inbox.org/ public-inbox