[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240703091651.2820236-3-quic_varada@quicinc.com>
Date: Wed, 3 Jul 2024 14:46:43 +0530
From: Varadarajan Narayanan <quic_varada@...cinc.com>
To: <vireshk@...nel.org>, <nm@...com>, <sboyd@...nel.org>, <robh@...nel.org>,
<krzk+dt@...nel.org>, <conor+dt@...nel.org>,
<angelogioacchino.delregno@...labora.com>, <andersson@...nel.org>,
<konrad.dybcio@...aro.org>, <mturquette@...libre.com>,
<ilia.lin@...nel.org>, <rafael@...nel.org>, <ulf.hansson@...aro.org>,
<quic_sibis@...cinc.com>, <quic_rjendra@...cinc.com>,
<quic_rohiagar@...cinc.com>, <abel.vesa@...aro.org>,
<otto.pflueger@...cue.de>, <danila@...xyga.com>,
<quic_varada@...cinc.com>, <quic_ipkumar@...cinc.com>,
<luca@...tu.xyz>, <stephan.gerhold@...nkonzept.com>, <nks@...wful.org>,
<linux-pm@...r.kernel.org>, <devicetree@...r.kernel.org>,
<linux-kernel@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<linux-clk@...r.kernel.org>
Subject: [PATCH v4 02/10] cpufreq: qcom-nvmem: Add support for IPQ9574
Add qcom_cpufreq_match_data for IPQ9574. This is used for tying
up the cpu@N nodes with the power domains. match_data_kryo is not
used since it doesn't set genpd_names. If genpd_names is not set,
'cat /sys/kernel/debug/qcom_cpr3/thread0' causes cpr3_debug_info_show()
to crash while trying to read thread->corner->last_uV as
thread->corner is NULL.
Call trace:
cpr3_debug_info_show
seq_read_iter
seq_read
Signed-off-by: Varadarajan Narayanan <quic_varada@...cinc.com>
---
v4: Update commit log to include stack trace
Introduce qcom_cpufreq_match_data for IPQ9574
---
drivers/cpufreq/qcom-cpufreq-nvmem.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/drivers/cpufreq/qcom-cpufreq-nvmem.c b/drivers/cpufreq/qcom-cpufreq-nvmem.c
index 939702dfa73f..95558586c2e6 100644
--- a/drivers/cpufreq/qcom-cpufreq-nvmem.c
+++ b/drivers/cpufreq/qcom-cpufreq-nvmem.c
@@ -428,6 +428,11 @@ static const struct qcom_cpufreq_match_data match_data_ipq8074 = {
.get_version = qcom_cpufreq_ipq8074_name_version,
};
+static const struct qcom_cpufreq_match_data match_data_ipq9574 = {
+ .get_version = qcom_cpufreq_kryo_name_version,
+ .genpd_names = generic_genpd_names,
+};
+
static void qcom_cpufreq_suspend_virt_devs(struct qcom_cpufreq_drv *drv, unsigned int cpu)
{
const char * const *name = drv->data->genpd_names;
@@ -621,7 +626,7 @@ static const struct of_device_id qcom_cpufreq_match_list[] __initconst = {
{ .compatible = "qcom,ipq8064", .data = &match_data_ipq8064 },
{ .compatible = "qcom,ipq8074", .data = &match_data_ipq8074 },
{ .compatible = "qcom,apq8064", .data = &match_data_krait },
- { .compatible = "qcom,ipq9574", .data = &match_data_kryo },
+ { .compatible = "qcom,ipq9574", .data = &match_data_ipq9574 },
{ .compatible = "qcom,msm8974", .data = &match_data_krait },
{ .compatible = "qcom,msm8960", .data = &match_data_krait },
{},
--
2.34.1
Powered by blists - more mailing lists