Messages in this thread | | | Subject | Re: [PATCH v11 1/5] dt-bindings: Introduce QCOM Sleep stats bindings | From | Maulik Shah <> | Date | Fri, 8 Oct 2021 14:20:24 +0530 |
| |
Hi Stephan,
On 10/8/2021 1:20 AM, Stephan Gerhold wrote: > On Thu, Oct 07, 2021 at 03:27:25PM +0530, Maulik Shah wrote: >> From: Mahesh Sivasubramanian <msivasub@codeaurora.org> >> >> Add device binding documentation for Qualcomm Technologies, Inc. (QTI) >> Sleep stats driver. The driver is used for displaying Sleep statistic maintained >> by Always On Processor or Resource Power Manager. >> >> Cc: devicetree@vger.kernel.org >> Signed-off-by: Mahesh Sivasubramanian <msivasub@codeaurora.org> >> Signed-off-by: Lina Iyer <ilina@codeaurora.org> >> Signed-off-by: Maulik Shah <mkshah@codeaurora.org> >> Reviewed-by: Rob Herring <robh@kernel.org> >> Reviewed-by: Bjorn Andersson <bjorn.andersson@linaro.org> >> Reviewed-by: Stephen Boyd <swboyd@chromium.org> >> --- >> .../bindings/soc/qcom/qcom-sleep-stats.yaml | 47 ++++++++++++++++++++++ >> 1 file changed, 47 insertions(+) >> create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom-sleep-stats.yaml >> >> diff --git a/Documentation/devicetree/bindings/soc/qcom/qcom-sleep-stats.yaml b/Documentation/devicetree/bindings/soc/qcom/qcom-sleep-stats.yaml >> new file mode 100644 >> index 0000000..5213daf >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/soc/qcom/qcom-sleep-stats.yaml >> @@ -0,0 +1,47 @@ >> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) >> +%YAML 1.2 >> +--- >> +$id: http://devicetree.org/schemas/soc/qcom/qcom-sleep-stats.yaml# >> +$schema: http://devicetree.org/meta-schemas/core.yaml# >> + >> +title: Qualcomm Technologies, Inc. (QTI) Sleep stats bindings >> + >> +maintainers: >> + - Maulik Shah <mkshah@codeaurora.org> >> + >> +description: >> + Always On Processor/Resource Power Manager maintains statistics of the SoC >> + sleep modes involving powering down of the rails and oscillator clock. >> + >> + Statistics includes SoC sleep mode type, number of times low power mode were >> + entered, time of last entry, time of last exit and accumulated sleep duration. >> + >> +properties: >> + compatible: >> + enum: >> + - qcom,rpmh-sleep-stats >> + - qcom,rpm-sleep-stats >> + >> + reg: >> + maxItems: 1 >> + >> +required: >> + - compatible >> + - reg >> + >> +additionalProperties: false >> + >> +examples: >> + # Example of rpmh sleep stats >> + - | >> + sram@c3f0000 { >> + compatible = "qcom,rpmh-sleep-stats"; >> + reg = <0x0c3f0000 0x400>; >> + }; >> + # Example of rpm sleep stats >> + - | >> + sram@4690000 { >> + compatible = "qcom,rpm-sleep-stats"; >> + reg = <0x04690000 0x400>; >> + }; > > Does this region really only contain "rpm-*sleep*-stats"? AFAICT this is > really a more generic memory region where various offsets are read from.
Right the area contains all kind of sleep stats/logs.
> > These are all the offsets in msm8998-pm.dtsi downstream [1]: > ...9000c: rpm-rail-stats offset > ...90014: rpm-sleep-stats offset (RPM_DYNAMIC_ADDR in your driver) > ...90018: rpm-log offset > ...9001c: "RPM FREE HEAP SPACE" > > How would you set up any of the other drivers if the entire region > is declared as "rpm-sleep-stats"?
We don't need to setup other drivers. The idea is to have single stats driver (qcom_sleep_stats) that can be enahanced to to read other stats also on both RPM/ PRMH targets.
Today this driver reads only sleep stats from offset 0x90014. if in future say, we want to read rpm-rail-stats from offset 0x9000c then it can be added in the existing driver.
In the rpm data, add one more entry to indicate reading rpm-rail-stats, something like below and add new compatible flag for the target, may be "qcom,rpm-sleep-stats-legacy" and should work like,
#define RPM_RAIL_STATS_ADDR 0xc
static const struct stats_config rpm_data = { .stats_offset = 0, .num_records = 2, .appended_stats_avail = true, .dynamic_offset = true, .rpm_rail_stats = true, };
and check in driver probe like
if (config->rpm_rail_stats) { //create rpm rail stats related files. }
Similarly for other rpm-logs / any other stats can be added in same driver.
Hope this clarifies.
> > Perhaps this region should have a more generic name that represents what > it actually is and not only one of the information it contains, similar > to "qcom,rpm-msg-ram"?
sram looks good to me. Actually on RPM targets its RPM data ram and RPMH targets its msgram. To keep the name common sram is used here.
Thanks, Maulik
> > Thanks, > Stephan > > [1]: https://source.codeaurora.org/quic/la/kernel/msm-4.4/tree/arch/arm/boot/dts/qcom/msm8998-pm.dtsi?h=LA.UM.8.4.1.c25#n271 >
-- QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
| |