All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sibi Sankar <sibis@codeaurora.org>
To: bjorn.andersson@linaro.org, robh+dt@kernel.org,
	andy.gross@linaro.org, rnayak@codeaurora.org
Cc: david.brown@linaro.org, mark.rutland@arm.com,
	linux-kernel@vger.kernel.org,
	linux-arm-msm-owner@vger.kernel.org, devicetree@vger.kernel.org,
	Sibi Sankar <sibis@codeaurora.org>
Subject: [PATCH v3 2/9] soc: qcom: rpmpd: Add support to set rpmpd state to max
Date: Wed, 27 Mar 2019 18:08:25 +0530	[thread overview]
Message-ID: <20190327123832.11566-3-sibis@codeaurora.org> (raw)
In-Reply-To: <20190327123832.11566-1-sibis@codeaurora.org>

rpmpd max state varies across SoCs and SoC families, add support
in the driver to make it SoC/SoC family specific

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
---
 drivers/soc/qcom/rpmpd.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/drivers/soc/qcom/rpmpd.c b/drivers/soc/qcom/rpmpd.c
index 235d01870dd8..94015ece40e9 100644
--- a/drivers/soc/qcom/rpmpd.c
+++ b/drivers/soc/qcom/rpmpd.c
@@ -25,7 +25,7 @@
 #define KEY_ENABLE		0x6e657773 /* swen */
 #define KEY_FLOOR_CORNER	0x636676   /* vfc */
 
-#define MAX_RPMPD_STATE		6
+#define MAX_8996_RPMPD_STATE	6
 
 #define DEFINE_RPMPD_CORNER_SMPA(_platform, _name, _active, r_id)		\
 	static struct rpmpd _platform##_##_active;			\
@@ -83,12 +83,14 @@ struct rpmpd {
 	const int res_type;
 	const int res_id;
 	struct qcom_smd_rpm *rpm;
+	unsigned int max_state;
 	__le32 key;
 };
 
 struct rpmpd_desc {
 	struct rpmpd **rpmpds;
 	size_t num_pds;
+	unsigned int max_state;
 };
 
 static DEFINE_MUTEX(rpmpd_lock);
@@ -114,6 +116,7 @@ static struct rpmpd *msm8996_rpmpds[] = {
 static const struct rpmpd_desc msm8996_desc = {
 	.rpmpds = msm8996_rpmpds,
 	.num_pds = ARRAY_SIZE(msm8996_rpmpds),
+	.max_state = MAX_8996_RPMPD_STATE,
 };
 
 static const struct of_device_id rpmpd_match_table[] = {
@@ -225,8 +228,8 @@ static int rpmpd_set_performance(struct generic_pm_domain *domain,
 	int ret = 0;
 	struct rpmpd *pd = domain_to_rpmpd(domain);
 
-	if (state > MAX_RPMPD_STATE)
-		state = MAX_RPMPD_STATE;
+	if (state > pd->max_state)
+		state = pd->max_state;
 
 	mutex_lock(&rpmpd_lock);
 
@@ -287,6 +290,7 @@ static int rpmpd_probe(struct platform_device *pdev)
 		}
 
 		rpmpds[i]->rpm = rpm;
+		rpmpds[i]->max_state = desc->max_state;
 		rpmpds[i]->pd.power_off = rpmpd_power_off;
 		rpmpds[i]->pd.power_on = rpmpd_power_on;
 		rpmpds[i]->pd.set_performance_state = rpmpd_set_performance;
-- 
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

  parent reply	other threads:[~2019-03-27 12:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-03-27 12:38 [PATCH v3 0/9] RPMPD for QCS404 and MSM8998 Sibi Sankar
2019-03-27 12:38 ` [PATCH v3 1/9] soc: qcom: rpmpd: fixup rpmpd set performance state Sibi Sankar
2019-04-05 14:59   ` Marc Gonzalez
2019-03-27 12:38 ` Sibi Sankar [this message]
2019-03-27 12:38 ` [PATCH v3 3/9] soc: qcom: rpmpd: Modify corner defining macros Sibi Sankar
2019-03-27 12:38 ` [PATCH v3 4/9] dt-bindings: power: Add rpm power domain bindings for qcs404 Sibi Sankar
2019-03-28 18:40   ` Rob Herring
2019-03-28 18:40     ` Rob Herring
2019-03-27 12:38 ` [PATCH v3 5/9] soc: qcom: rpmpd: Add QCS404 power-domains Sibi Sankar
2019-03-27 12:38 ` [PATCH v3 6/9] arm64: dts: qcom: qcs404: Add rpmpd node Sibi Sankar
2019-04-08  8:10   ` Sibi Sankar
2019-03-27 12:38 ` [PATCH v3 7/9] dt-bindings: power: Add rpm power domain bindings for msm8998 Sibi Sankar
2019-03-28 18:40   ` Rob Herring
2019-03-28 18:40     ` Rob Herring
2019-03-27 12:38 ` [PATCH v3 8/9] soc: qcom: rpmpd: Add MSM8998 power-domains Sibi Sankar
2019-04-05 15:08   ` Marc Gonzalez
2019-04-08  8:30     ` Sibi Sankar
2019-04-08  8:54       ` Marc Gonzalez
2019-04-08  9:02         ` Sibi Sankar
2019-03-27 12:38 ` [PATCH v3 9/9] arm64: dts: qcom: msm8998: Add rpmpd node Sibi Sankar
2019-04-08  8:12   ` Sibi Sankar
2019-04-05 14:49 ` [PATCH v3 0/9] RPMPD for QCS404 and MSM8998 Marc Gonzalez

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=20190327123832.11566-3-sibis@codeaurora.org \
    --to=sibis@codeaurora.org \
    --cc=andy.gross@linaro.org \
    --cc=bjorn.andersson@linaro.org \
    --cc=david.brown@linaro.org \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-arm-msm-owner@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mark.rutland@arm.com \
    --cc=rnayak@codeaurora.org \
    --cc=robh+dt@kernel.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.