[PATCH v3 0/4] Introduce SoC sleep stats driver

Maulik Shah
2020-03-06T07:23:58Z

Changes in v3:
- Address stephen's comments from v2 in change 1 and 2.
- Address bjorn's comments from v2 in change 3 and 4.
- Add Rob and bjorn's Reviewed-by on YAML change.

Changes in v2:
- Convert Documentation to YAML.
- Address stephen's comments from v1.
- Use debugfs instead of sysfs.
- Add sc7180 dts changes for sleep stats
- Add defconfig changes to enable driver
- Include subsystem stats from [1] in this single stats driver.
- Address stephen's comments from [1]
- Update cover letter inline to mention [1]

Qualcomm Technologies, Inc. (QTI)'s chipsets support SoC level low power
modes. SoCs Always On Processor/Resource Power Manager produces statistics
of the SoC sleep modes involving lowering or powering down of the rails and
the oscillator clock.

Additionally multiple subsystems present on SoC like modem, spss, adsp,
cdsp maintains their low power mode statistics in shared memory (SMEM).

Statistics includes SoC sleep mode type, number of times LPM entered, time
of last entry, exit, and accumulated sleep duration in seconds.

This series adds a driver to read the stats and export to debugfs.

[1] https://lore.kernel.org/patchwork/patch/1149381/

Mahesh Sivasubramanian (2):
dt-bindings: Introduce soc sleep stats bindings for Qualcomm SoCs
soc: qcom: Add SoC sleep stats driver

Maulik Shah (2):
arm64: dts: qcom: sc7180: Enable soc sleep stats
arm64: defconfig: Enable SoC sleep stats driver for Qualcomm

.../bindings/soc/qcom/soc-sleep-stats.yaml | 47 ++++
arch/arm64/boot/dts/qcom/sc7180.dtsi | 5 +
arch/arm64/configs/defconfig | 1 +
drivers/soc/qcom/Kconfig | 10 +
drivers/soc/qcom/Makefile | 1 +
drivers/soc/qcom/soc_sleep_stats.c | 279 +++++++++++++++++++++
6 files changed, 343 insertions(+)
create mode 100644 Documentation/devicetree/bindings/soc/qcom/soc-sleep-stats.yaml
create mode 100644 drivers/soc/qcom/soc_sleep_stats.c

--
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member
of Code Aurora Forum, hosted by The Linux Foundation