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