* [PATCH v2 1/3] dt-bindings: soc: qcom: stats: Add compatible for Shikra
2026-07-08 15:49 [PATCH v2 0/3] Add subsystem LPM stats support for Shikra Sneh Mankad
@ 2026-07-08 15:49 ` Sneh Mankad
2026-07-08 15:49 ` [PATCH v2 2/3] soc: qcom: stats: Add stats compatible and config " Sneh Mankad
2026-07-08 15:49 ` [PATCH v2 3/3] arm64: dts: qcom: shikra: Update rpm-stats compatible to SoC specific Sneh Mankad
2 siblings, 0 replies; 6+ messages in thread
From: Sneh Mankad @ 2026-07-08 15:49 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Maulik Shah
Cc: linux-arm-msm, devicetree, linux-kernel, Sneh Mankad, Maulik Shah
SoC LPM stats are present in RPM MSGRAM and subsystem LPM stats are present
in SMEM for Shikra.
A generic "qcom,rpm-stats" compatible only reads SoC LPM stats
like vmin and vlow.
Document shikra rpm compatible to read subsystem LPM stats too
along with SoC LPM stats.
Reviewed-by: Maulik Shah <maulik.shah@oss.qualcomm.com>
Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
---
Documentation/devicetree/bindings/soc/qcom/qcom-stats.yaml | 1 +
1 file changed, 1 insertion(+)
diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom-stats.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom-stats.yaml
index 686a7ef2f48af11a0e63904ff979e40d7538de65..43751115c5b4e2943c93d37d3e27c839b4057529 100644
--- a/Documentation/devicetree/bindings/soc/qcom/qcom-stats.yaml
+++ b/Documentation/devicetree/bindings/soc/qcom/qcom-stats.yaml
@@ -27,6 +27,7 @@ properties:
- qcom,msm8226-rpm-stats
- qcom,msm8916-rpm-stats
- qcom,msm8974-rpm-stats
+ - qcom,shikra-rpm-stats
reg:
maxItems: 1
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 2/3] soc: qcom: stats: Add stats compatible and config for Shikra
2026-07-08 15:49 [PATCH v2 0/3] Add subsystem LPM stats support for Shikra Sneh Mankad
2026-07-08 15:49 ` [PATCH v2 1/3] dt-bindings: soc: qcom: stats: Add compatible " Sneh Mankad
@ 2026-07-08 15:49 ` Sneh Mankad
2026-07-08 15:49 ` [PATCH v2 3/3] arm64: dts: qcom: shikra: Update rpm-stats compatible to SoC specific Sneh Mankad
2 siblings, 0 replies; 6+ messages in thread
From: Sneh Mankad @ 2026-07-08 15:49 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Maulik Shah
Cc: linux-arm-msm, devicetree, linux-kernel, Sneh Mankad,
Konrad Dybcio, Maulik Shah
SoC LPM stats are present in RPM MSGRAM and subsystem LPM stats are
present in SMEM for Shikra.
For earlier targets using RPM processor like msm8974, rpm_master_stat.c was
used for subsystem LPM stats since those stats were populated in RPM
MSGRAM.
Here is a brief summary of previous targets and their stats configuration,
along with the drivers used to display them.
+---------------|----------------------------|---------------------------+
| SoC | subsystem LPM stats | SoC LPM stats |
|---------------|----------------------------|---------------------------|
| msm8974, | RPM processor MSGRAM | RPM processor MSGRAM |
| msm8226 | (rpm_master_stat.c) | (qcom_stats.c) |
|---------------|----------------------------|---------------------------|
| sm6350, | SMEM (DDR) | AOP processor MSGRAM |
| sdm845, etc. | (qcom_stats.c) | (qcom_stats.c) |
|---------------|----------------------------|---------------------------|
| Shikra | SMEM (DDR) | RPM processor MSGRAM |
| | (qcom_stats.c) | (qcom_stats.c) |
+---------------|----------------------------|---------------------------+
qcom_stats.c supports both the configurations for shikra, reading subsystem
LPM stats from SMEM and reading SoC LPM stats from RPM MSGRAM.
A generic "qcom,rpm-stats" compatible only reads SoC LPM stats like vmin
and vlow. Add shikra rpm compatible and config to read subsystem LPM
stats too along with SoC LPM stats.
Below is an example showing LPM stats for "apss" subsystem with this
change:
cat /sys/kernel/debug/qcom_stats/apss
Count: 2192
Last Entered At: 5498618336
Last Exited At: 5498708046
Accumulated Duration: 2046572620.
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Maulik Shah <maulik.shah@oss.qualcomm.com>
Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
---
drivers/soc/qcom/qcom_stats.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/soc/qcom/qcom_stats.c b/drivers/soc/qcom/qcom_stats.c
index 2e380faf9080354fae120e74f0b9bd1f3786d3e5..2f1615e583bbc6ea596d8b73d9bb0a2a00953cfb 100644
--- a/drivers/soc/qcom/qcom_stats.c
+++ b/drivers/soc/qcom/qcom_stats.c
@@ -376,6 +376,14 @@ static const struct stats_config rpm_data_dba0 = {
.subsystem_stats_in_smem = false,
};
+static const struct stats_config rpm_data_shikra = {
+ .stats_offset = 0,
+ .num_records = 2,
+ .appended_stats_avail = true,
+ .dynamic_offset = true,
+ .subsystem_stats_in_smem = true,
+};
+
static const struct stats_config rpmh_data_sdm845 = {
.stats_offset = 0x48,
.num_records = 2,
@@ -401,6 +409,7 @@ static const struct of_device_id qcom_stats_table[] = {
{ .compatible = "qcom,rpm-stats", .data = &rpm_data },
{ .compatible = "qcom,rpmh-stats", .data = &rpmh_data },
{ .compatible = "qcom,sdm845-rpmh-stats", .data = &rpmh_data_sdm845 },
+ { .compatible = "qcom,shikra-rpm-stats", .data = &rpm_data_shikra },
{ }
};
MODULE_DEVICE_TABLE(of, qcom_stats_table);
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread* [PATCH v2 3/3] arm64: dts: qcom: shikra: Update rpm-stats compatible to SoC specific
2026-07-08 15:49 [PATCH v2 0/3] Add subsystem LPM stats support for Shikra Sneh Mankad
2026-07-08 15:49 ` [PATCH v2 1/3] dt-bindings: soc: qcom: stats: Add compatible " Sneh Mankad
2026-07-08 15:49 ` [PATCH v2 2/3] soc: qcom: stats: Add stats compatible and config " Sneh Mankad
@ 2026-07-08 15:49 ` Sneh Mankad
2026-07-09 9:50 ` Dmitry Baryshkov
2026-07-10 13:49 ` Konrad Dybcio
2 siblings, 2 replies; 6+ messages in thread
From: Sneh Mankad @ 2026-07-08 15:49 UTC (permalink / raw)
To: Bjorn Andersson, Konrad Dybcio, Rob Herring, Krzysztof Kozlowski,
Conor Dooley, Maulik Shah
Cc: linux-arm-msm, devicetree, linux-kernel, Sneh Mankad
A generic "qcom,rpm-stats" compatible only reads stats for SoC level LPM
stats like vmin and vlow.
Shikra SoC specific compatible allows reading individual subsystem level
LPM stats along with SoC level LPM stats. Change it.
Signed-off-by: Sneh Mankad <sneh.mankad@oss.qualcomm.com>
---
arch/arm64/boot/dts/qcom/shikra.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm64/boot/dts/qcom/shikra.dtsi b/arch/arm64/boot/dts/qcom/shikra.dtsi
index 4e5bc9e17c8ed8914733ac9fdc9b69128b40216e..53f40283a3b70bccdc510716b39251d377be7d24 100644
--- a/arch/arm64/boot/dts/qcom/shikra.dtsi
+++ b/arch/arm64/boot/dts/qcom/shikra.dtsi
@@ -535,7 +535,7 @@ apss_mpm: sram@1b8 {
};
sram@4690000 {
- compatible = "qcom,rpm-stats";
+ compatible = "qcom,shikra-rpm-stats";
reg = <0x0 0x04690000 0x0 0x14000>;
};
--
2.34.1
^ permalink raw reply related [flat|nested] 6+ messages in thread