From: Ulf Hansson <ulf.hansson@linaro.org>
To: Sudeep Holla <sudeep.holla@arm.com>,
Cristian Marussi <cristian.marussi@arm.com>,
Viresh Kumar <vireshk@kernel.org>, Nishanth Menon <nm@ti.com>,
Stephen Boyd <sboyd@kernel.org>
Cc: Nikunj Kela <nkela@quicinc.com>,
Prasad Sodagudi <psodagud@quicinc.com>,
Alexandre Torgue <alexandre.torgue@foss.st.com>,
Ulf Hansson <ulf.hansson@linaro.org>,
linux-pm@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v3 03/13] cpufreq: scmi: Prepare to move OF parsing of domain-id to cpufreq
Date: Fri, 25 Aug 2023 13:26:23 +0200 [thread overview]
Message-ID: <20230825112633.236607-4-ulf.hansson@linaro.org> (raw)
In-Reply-To: <20230825112633.236607-1-ulf.hansson@linaro.org>
The OF parsing of the clock domain specifier seems to better belong in the
scmi cpufreq driver, rather than being implemented behind the generic
->device_domain_id() perf protocol ops.
To prepare to remove the ->device_domain_id() ops, let's implement the OF
parsing in the scmi cpufreq driver instead.
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---
Changes in v3:
- Re-based.
---
drivers/cpufreq/scmi-cpufreq.c | 19 +++++++++++++++----
1 file changed, 15 insertions(+), 4 deletions(-)
diff --git a/drivers/cpufreq/scmi-cpufreq.c b/drivers/cpufreq/scmi-cpufreq.c
index f34e6382a4c5..7d05d48c0337 100644
--- a/drivers/cpufreq/scmi-cpufreq.c
+++ b/drivers/cpufreq/scmi-cpufreq.c
@@ -70,13 +70,24 @@ static unsigned int scmi_cpufreq_fast_switch(struct cpufreq_policy *policy,
return 0;
}
+static int scmi_cpu_domain_id(struct device *cpu_dev)
+{
+ struct of_phandle_args clkspec;
+
+ if (of_parse_phandle_with_args(cpu_dev->of_node, "clocks",
+ "#clock-cells", 0, &clkspec))
+ return -EINVAL;
+
+ return clkspec.args[0];
+}
+
static int
scmi_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask)
{
int cpu, domain, tdomain;
struct device *tcpu_dev;
- domain = perf_ops->device_domain_id(cpu_dev);
+ domain = scmi_cpu_domain_id(cpu_dev);
if (domain < 0)
return domain;
@@ -88,7 +99,7 @@ scmi_get_sharing_cpus(struct device *cpu_dev, struct cpumask *cpumask)
if (!tcpu_dev)
continue;
- tdomain = perf_ops->device_domain_id(tcpu_dev);
+ tdomain = scmi_cpu_domain_id(tcpu_dev);
if (tdomain == domain)
cpumask_set_cpu(cpu, cpumask);
}
@@ -104,7 +115,7 @@ scmi_get_cpu_power(struct device *cpu_dev, unsigned long *power,
unsigned long Hz;
int ret, domain;
- domain = perf_ops->device_domain_id(cpu_dev);
+ domain = scmi_cpu_domain_id(cpu_dev);
if (domain < 0)
return domain;
@@ -209,7 +220,7 @@ static int scmi_cpufreq_init(struct cpufreq_policy *policy)
}
priv->cpu_dev = cpu_dev;
- priv->domain_id = perf_ops->device_domain_id(cpu_dev);
+ priv->domain_id = scmi_cpu_domain_id(cpu_dev);
policy->driver_data = priv;
policy->freq_table = freq_table;
--
2.34.1
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2023-08-25 11:27 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-25 11:26 [PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support Ulf Hansson
2023-08-25 11:26 ` [PATCH v3 01/13] firmware: arm_scmi: Extend perf protocol ops to get number of domains Ulf Hansson
2023-08-25 11:26 ` [PATCH v3 02/13] firmware: arm_scmi: Extend perf protocol ops to get information of a domain Ulf Hansson
2023-08-25 11:26 ` Ulf Hansson [this message]
2023-09-21 14:28 ` [PATCH v3 03/13] cpufreq: scmi: Prepare to move OF parsing of domain-id to cpufreq Viresh Kumar
2023-08-25 11:26 ` [PATCH v3 04/13] firmware: arm_scmi: Align perf ops to use domain-id as in-parameter Ulf Hansson
2023-09-21 14:29 ` Viresh Kumar
2023-08-25 11:26 ` [PATCH v3 05/13] firmware: arm_scmi: Drop redundant ->device_domain_id() from perf ops Ulf Hansson
2023-08-25 11:26 ` [PATCH v3 06/13] cpufreq: scmi: Avoid one OF parsing in scmi_get_sharing_cpus() Ulf Hansson
2023-09-21 14:29 ` Viresh Kumar
2023-08-25 11:26 ` [PATCH v3 07/13] cpufreq: scmi: Drop redundant ifdef in scmi_cpufreq_probe() Ulf Hansson
2023-09-21 11:14 ` Sudeep Holla
2023-09-21 13:02 ` Ulf Hansson
2023-09-21 13:29 ` Sudeep Holla
2023-08-25 11:26 ` [PATCH v3 08/13] dt-bindings: arm: cpus: Add a power-domain-name for a performance-domain Ulf Hansson
2023-09-11 13:20 ` Rob Herring
2023-09-21 11:11 ` Sudeep Holla
2023-09-21 13:22 ` Ulf Hansson
2023-09-21 13:35 ` Sudeep Holla
2023-08-25 11:26 ` [PATCH v3 09/13] dt-bindings: firmware: arm,scmi: Extend bindings for protocol@13 Ulf Hansson
2023-09-11 13:20 ` Rob Herring
2023-08-25 11:26 ` [PATCH v3 10/13] dt-bindings: power: Clarify performance capabilities of power-domains Ulf Hansson
2023-09-11 14:40 ` Rob Herring
2023-08-25 11:26 ` [PATCH v3 11/13] cpufreq: scmi: Add support to parse domain-id using #power-domain-cells Ulf Hansson
2023-09-21 11:17 ` Sudeep Holla
2023-09-21 14:30 ` Viresh Kumar
2023-08-25 11:26 ` [PATCH v3 12/13] PM: domains: Allow genpd providers to manage OPP tables directly by its FW Ulf Hansson
2023-09-21 11:20 ` Sudeep Holla
2023-09-21 13:05 ` Ulf Hansson
2023-09-21 13:30 ` Sudeep Holla
2023-08-25 11:26 ` [PATCH v3 13/13] genpd: arm: Add the SCMI performance domain Ulf Hansson
2023-09-14 22:45 ` [PATCH v3 00/13] arm_scmi/cpufreq: Add generic performance scaling support Ulf Hansson
2023-09-18 10:26 ` Sudeep Holla
2023-09-19 10:24 ` Ulf Hansson
2023-09-25 9:39 ` Sudeep Holla
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=20230825112633.236607-4-ulf.hansson@linaro.org \
--to=ulf.hansson@linaro.org \
--cc=alexandre.torgue@foss.st.com \
--cc=cristian.marussi@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pm@vger.kernel.org \
--cc=nkela@quicinc.com \
--cc=nm@ti.com \
--cc=psodagud@quicinc.com \
--cc=sboyd@kernel.org \
--cc=sudeep.holla@arm.com \
--cc=vireshk@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 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).