[PATCH v6 0/2] Introduce RPM Master stats

From: Konrad Dybcio
Date: Thu Apr 20 2023 - 13:36:27 EST


v5 -> v6:
- pick up tags
- fix 'decisons' -> 'decisions' typo

v5: https://lore.kernel.org/r/20230405-topic-master_stats-v5-0-2e1c98a8b63e@xxxxxxxxxx

v4 -> v5:
- pick up tags
- uintXY_t -> uXY
- driver.name = "rpm_master_stats" -> "qcom_rpm_master_stats"
- use dev_err_probe for debugfs file creation fail
- use PTR_ERR(dent) intead of -EINVAL for debugfs file creation fail

v4: https://lore.kernel.org/r/20230405-topic-master_stats-v4-0-4217362fcc79@xxxxxxxxxx

v3 -> v4:
- Use "data" instead of "d" for naming local struct master_stats_data *
- Add "qcom_" prefix in the debugfs path
- Add "Qualcomm" prefix in MODULE_NAME
- Make the struct __packed__ to avoid padding surprises
(even though it looks like there shouldn't be any, by eye)
- use IS_ERR for checking debugfs_create_file return value instead of
nullchecking, that apparently changed..
- Use -ENODEV instead of -EINVAL when a MSG RAM handle is not found
- Add missing of_node_put() after of_parse_phandle()

- Vastly improve the documentation bit

v3: https://lore.kernel.org/r/20230405-topic-master_stats-v3-0-2cb2ba4f2092@xxxxxxxxxx

v2 -> v3:
- rename rpm-master-stats.yaml to qcom,rpm-master-stats.yaml

v2: https://lore.kernel.org/r/20230405-topic-master_stats-v2-0-51c304ecb610@xxxxxxxxxx

v1 -> v2:
- Drop the `-` in /properties/compatible to make our entry be of the
correct type [1/2]
- Change %s to %d for printing out the iterator [2/2]

v1: https://lore.kernel.org/r/20230405-topic-master_stats-v1-0-1b1fa2739953@xxxxxxxxxx

The RPM MSG ram includes per-subsystem low-power mode entry/exit/
residence/etc. statistics which are very useful for trying to debug
what I'd call "SoC insomnia", or IOW the plaftorm refusing to drop
the voltage rails to a minimum and gate the non-critical clocks.

This series adds a very short and simple driver to query that data
and expose it through debugfs.

The base used for writing this driver is:
https://github.com/sonyxperiadev/kernel/blob/aosp/LA.UM.9.14.r1/drivers/soc/qcom/rpm_master_stat.c

Signed-off-by: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
---
Konrad Dybcio (2):
dt-bindings: soc: qcom: Add RPM Master stats
soc: qcom: Introduce RPM master stats driver

.../bindings/soc/qcom/qcom,rpm-master-stats.yaml | 69 +++++++++
drivers/soc/qcom/Kconfig | 11 ++
drivers/soc/qcom/Makefile | 1 +
drivers/soc/qcom/rpm_master_stats.c | 163 +++++++++++++++++++++
4 files changed, 244 insertions(+)
---
base-commit: 67d5d9f013d6c3829383c08162939cabff14fccc
change-id: 20230405-topic-master_stats-ba201a9af93d

Best regards,
--
Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>