Re: [PATCH v12 0/5] Introduce SoC sleep stats driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 13 Oct 2021 12:08:19 +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
> 
>  .../devicetree/bindings/soc/qcom/qcom-stats.yaml   |  47 ++++
>  arch/arm64/boot/dts/qcom/msm8996.dtsi              |   5 +
>  arch/arm64/boot/dts/qcom/msm8998.dtsi              |   5 +
>  arch/arm64/boot/dts/qcom/qcs404.dtsi               |   5 +
>  arch/arm64/boot/dts/qcom/sc7180.dtsi               |   7 +-
>  arch/arm64/boot/dts/qcom/sc7280.dtsi               |   7 +-
>  arch/arm64/boot/dts/qcom/sdm630.dtsi               |   5 +
>  arch/arm64/boot/dts/qcom/sm6125.dtsi               |   5 +
>  arch/arm64/boot/dts/qcom/sm8150.dtsi               |   7 +-
>  arch/arm64/boot/dts/qcom/sm8250.dtsi               |   7 +-
>  arch/arm64/boot/dts/qcom/sm8350.dtsi               |   7 +-
>  arch/arm64/configs/defconfig                       |   1 +
>  drivers/soc/qcom/Kconfig                           |  10 +
>  drivers/soc/qcom/Makefile                          |   1 +
>  drivers/soc/qcom/qcom_stats.c                      | 277 +++++++++++++++++++++
>  15 files changed, 391 insertions(+), 5 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom-stats.yaml
>  create mode 100644 drivers/soc/qcom/qcom_stats.c
> 
> -- 

On msm8996-xiaomi-scorpio:

# cat /sys/kernel/debug/qcom_stats/*
Count: 0
Last Entered At: 0
Last Exited At: 0
Accumulated Duration: 0
Client Votes: 0x0
Count: 0
Last Entered At: 0
Last Exited At: 0
Accumulated Duration: 0
Client Votes: 0x0

Also, the warnings from v11 are no longer showing up.

Tested-by: Yassine Oudjana <y.oudjana@xxxxxxxxxxxxxx>





[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux