Re: [PATCH] dt-bindings: arm-smmu: disallow clocks when not used

From: Krzysztof Kozlowski
Date: Thu Dec 22 2022 - 09:03:33 EST


On 22/12/2022 14:33, Marijn Suijten wrote:
> On 2022-12-22 11:36:16, Krzysztof Kozlowski wrote:
>> On 22/12/2022 11:16, Marijn Suijten wrote:
>>> Is this missing a cc to linux-arm-msm?
>>
>> No, it is not (or maybe but then fix MAINTAINERS). The policy is to use
>> get_maintainers.pl to CC people.
>
> Yes, that is the question: is it in MANTAINERS and if not, why not?

You can check by yourself if it is there.

Why not? I don't know. Could be that no one ever added it there.

>
>>> On 2022-12-22 10:23:55, Krzysztof Kozlowski wrote:
>>>> Disallow clocks for variants other than:
>>>> 1. SMMUs with platform-specific compatibles which list explicit clocks
>>>> and clock-names,
>>>> 2. SMMUs using only generic compatibles, e.g. arm,mmu-500, which have a
>>>> variable clocks on different implementations.
>>>>
>>>> This requires such variants with platform-specific compatible, to
>>>> explicitly list the clocks or omit them, making the binding more
>>>> constraint.
>>>>
>>>> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx>
>>>
>>> Reviewed-by: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
>>>
>>> But...
>>>
>>>> ---
>>>>
>>>> Cc: Marijn Suijten <marijn.suijten@xxxxxxxxxxxxxx>
>>>> Cc: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
>>>> Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx>
>>>> ---
>>>> .../devicetree/bindings/iommu/arm,smmu.yaml | 28 +++++++++++++++++++
>>>> 1 file changed, 28 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>>> index 895ec8418465..0d88395e43ad 100644
>>>> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>>> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>>> @@ -367,6 +367,34 @@ allOf:
>>>> - description: interface clock required to access smmu's registers
>>>> through the TCU's programming interface.
>>>>
>>>> + # Disallow clocks for all other platforms with specific compatibles
>>>> + - if:
>>>> + properties:
>>>> + compatible:
>>>> + contains:
>>>> + enum:
>>>> + - cavium,smmu-v2
>>>> + - marvell,ap806-smmu-500
>>>> + - nvidia,smmu-500
>>>> + - qcom,qcm2290-smmu-500
>>>> + - qcom,qdu1000-smmu-500
>>>> + - qcom,sc7180-smmu-500
>>>
>>> Hmm, sc7280 has two SMMUs. The one for Adreno has clocks and a PD, the
>>
>> sc7280 is not here, so what is the mistake you see?
>
> sc7280 has two IOMMU nodes. One with clocks (should not be in this
> list), the other doesn't have clocks (should be in this list).
>
> How do you want to address that?

No, because it is the same compatible.

Best regards,
Krzysztof