On Wed, Oct 13, 2021 at 12:08:19PM +0530, Maulik Shah wrote: > Changes in v12: > - Address Stephan's comments from v11 > - Rename driver and compatible to qcom,rpm(h)-stats > - Skip reading SMEM for RPM targets > - Make driver register in late_init to avoid -EPROBE_DEFER from smem. > - Change size to 0x10000 for RPM targets since area contains many others stats. > > Changes in v11: > - Address Bjorn's comments from v10 > - Add a case for RPM based targets dynamic offset in driver > - Update commit messages to use qcom sleep stats instead of soc sleep stats > - Drop individual target dtsi changes for sc7180 and sc7280 > - Add single change to enable sleep stats for RPMh based targets > - Add single change to enable sleep stats for RPM based targets > > Changes in v10: > - Updated device node name to use memory instead of aop_msgram > - Remove Lina's email from maintainers > - Rename driver to qcom_sleep_stats. Update makefile, Kconfig accordingly > - Address Bjorn's comments from v9 > > Changes in v9: > - Remove soft dependency on smem module > - Return -EIO to userspace in case of error > - Make struct sleep_stats *stat a const pointer > - Remove the driver from soc_sleep_stats_driver name > - Remove offset address and directly mention the msgram address in dtsi > - Use devm_platform_get_and_ioremap_resource() to ioremap dtsi address > - Update device node name to mention aop_msgram instead rpmh-sleep-stats > - Update dtsi and documentation accordingly but retain the reviews > > Changes in v8: > - Addressed bjorn's comments in driver from v7 > - Update aoss_qmp device node reg size for sc7280 > > Changes in v7: > - Fix example in bindings documentation as per #address/size-cells = <1>. > - Add comment in driver from where 'ddr' subsystems name is read. > - Update comment in driver to s/beside/besides and others from v6. > - Rename debugfs_create_entries() from v6. > - Drop use of memcpy_fromio() to find the name. > - Use sizeof(*prv_data) in devm_kzalloc(). > - Add change to define readq() if its not yet defined for compile support. > - Add wpss subsystem in the list of subsystems. > - Add module soft dependency on smem module. > - Add new change to add device node for sc7280. > > Changes in v6: > - Address stephen's comments from v5 which includes below > - Pad 0 in documentation example to make address 8 digit > - define macro to calculate offset in driver > - Add appended_stats_avail to prv_data instead of using entire stats_config > - make array subsystems[] as const > - Add comment for SSR case > - Use memcpy_fromio() and devm_kcalloc() during probe > - Change file permission mode from 444 to 400 > > - Address guenter's comments to add depends on QCOM_SMEM > > - Add adsp_island and cdsp_island subsystems > - Use strim() to remove whitespace in stat name > > Changes in v5: > - Remove underscore from node name in Documentation and DTSI change > - Remove global config from driver change > > Changes in v4: > - Address bjorn's comments from v3 on change 2. > - Add bjorn's Reviewed-by on change 3 and 4. > > 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 QCOM Sleep stats bindings > soc: qcom: Add Sleep stats driver > > Maulik Shah (3): > arm64: defconfig: Enable Sleep stats driver > arm64: dts: qcom: Enable RPMh Sleep stats > arm64: dts: qcom: Enable RPM Sleep stats On SDM660: Tested-by: Shawn Guo <shawn.guo@xxxxxxxxxx>