Thread (12 messages) 12 messages, 4 authors, 2021-11-18

Re: [PATCH 2/3] soc: qcom: stats: Add fixed sleep stats offset for older RPM firmwares

From: Bjorn Andersson <hidden>
Date: 2021-11-18 01:01:31
Also in: linux-arm-msm

On Mon 18 Oct 06:08 CDT 2021, Stephan Gerhold wrote:
quoted hunk ↗ jump to hunk
Not all RPM firmware versions have the dynamic sleep stats offset
available. Older versions use a fixed offset of 0xdba0.

Add support for this using a new qcom,rpm-legacy-stats compatible
that can be used for older SoCs like MSM8916.

Suggested-by: Maulik Shah <redacted>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
---
 drivers/soc/qcom/qcom_stats.c | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
index 817505bd99b5..67728de718fd 100644
--- a/drivers/soc/qcom/qcom_stats.c
+++ b/drivers/soc/qcom/qcom_stats.c
@@ -237,6 +237,15 @@ static const struct stats_config rpm_data = {
 	.subsystem_stats_in_smem = false,
 };
 
+/* Older RPM firmwares have the stats at a fixed offset instead */
+static const struct stats_config rpm_legacy_data = {
+	.stats_offset = 0xdba0,
+	.num_records = 2,
+	.appended_stats_avail = true,
+	.dynamic_offset = false,
+	.subsystem_stats_in_smem = false,
+};
Is this the only variation that existed back in the "legacy" days? Will
we end up with multiple "legacy" variants?
quoted hunk ↗ jump to hunk
+
 static const struct stats_config rpmh_data = {
 	.stats_offset = 0x48,
 	.num_records = 3,
@@ -247,6 +256,7 @@ static const struct stats_config rpmh_data = {
 
 static const struct of_device_id qcom_stats_table[] = {
 	{ .compatible = "qcom,rpm-stats", .data = &rpm_data },
+	{ .compatible = "qcom,rpm-legacy-stats", .data = &rpm_legacy_data },
'l' < 's'...

Regards,
Bjorn
 	{ .compatible = "qcom,rpmh-stats", .data = &rpmh_data },
 	{ }
 };
-- 
2.33.0
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help