Re: [PATCH v4 1/4] dt-bindings: interconnect: qcom,sdm845-cpu-bwmon: add BWMON device

Krzysztof Kozlowski
2022-06-22T12:20:38Z

On 22/06/2022 13:58, Rajendra Nayak wrote:
>
>
> On 6/7/2022 12:20 PM, Krzysztof Kozlowski wrote:
>> On 06/06/2022 23:11, Bjorn Andersson wrote:
>>> On Wed 01 Jun 03:11 PDT 2022, Krzysztof Kozlowski wrote:
>>>
>>>> Add bindings for the Qualcomm Bandwidth Monitor device providing
>>>> performance data on interconnects. The bindings describe only BWMON
>>>> version 4, e.g. the instance on SDM845 between CPU and Last Level Cache
>>>> Controller.
>>>>
>>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>> Reviewed-by: Rob Herring <robh@kernel.org>
>>>> Acked-by: Georgi Djakov <djakov@kernel.org>
>>>> ---
>>>> .../interconnect/qcom,sdm845-cpu-bwmon.yaml | 97 +++++++++++++++++++
>>>> 1 file changed, 97 insertions(+)
>>>> create mode 100644 Documentation/devicetree/bindings/interconnect/qcom,sdm845-cpu-bwmon.yaml
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/interconnect/qcom,sdm845-cpu-bwmon.yaml b/Documentation/devicetree/bindings/interconnect/qcom,sdm845-cpu-bwmon.yaml
>>>> new file mode 100644
>>>> index 000000000000..8c82e06ee432
>>>> --- /dev/null
>>>> +++ b/Documentation/devicetree/bindings/interconnect/qcom,sdm845-cpu-bwmon.yaml
>>>> @@ -0,0 +1,97 @@
>>>> +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
>>>> +%YAML 1.2
>>>> +---
>>>> +$id: http://devicetree.org/schemas/interconnect/qcom,sdm845-cpu-bwmon.yaml#
>>>> +$schema: http://devicetree.org/meta-schemas/core.yaml#
>>>> +
>>>> +title: Qualcomm Interconnect Bandwidth Monitor
>>>> +
>>>> +maintainers:
>>>> + - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>> +
>>>> +description:
>>>> + Bandwidth Monitor measures current throughput on buses between various NoC
>>>> + fabrics and provides information when it crosses configured thresholds.
>>>> +
>>>> +properties:
>>>> + compatible:
>>>> + enum:
>>>> + - qcom,sdm845-cpu-bwmon # BWMON v4
>>>
>>> It seems the thing that's called bwmon v4 is compatible with a number of
>>> different platforms, should we add a generic compatible to the binding
>>> as well, to avoid having to update the implementation for each SoC?
>>>
>>> (I.e. "qcom,sdm845-cpu-bwmon", "qcom,bwmon-v4")
>
> it seems pretty useful to have the "qcom,bwmon-v4" and "qcom,bwmon-v5"
> compatibles, I tried these patches on a sc7280 device which has a bwmon4
> between the cpu and caches (and also has a bwmon5 between the caches and DDR)
> and the driver works with zero changes.

The trouble with naming it v4 is that such versioning does not exist in
documentation. At least I failed to find it. Neither there is clear
mapping between SoC and block version.

The only indication about BWMON versioning comes from downstream
sources, which I find not enough to justify usage of versions for blocks.

Therefore as per DT recommendation (which I am enforcing on others) I am
not planning put there bwmon-v4.

Best regards,
Krzysztof