Thread (12 messages) 12 messages, 4 authors, 2021-11-18
STALE1702d
Revisions (2)
  1. v1 current
  2. v2 [diff vs current]

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

From: Stephan Gerhold <stephan@gerhold.net>
Date: 2021-10-18 11:10:45
Also in: linux-arm-msm
Subsystem: arm/qualcomm mailing list, arm/qualcomm support, the rest · Maintainers: Bjorn Andersson, Konrad Dybcio, Linus Torvalds

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,
+};
+
 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 },
 	{ .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