[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <3fd767c3-84c3-7155-9e05-cc124e3b3d2f@linaro.org>
Date: Tue, 15 Nov 2022 14:48:18 +0100
From: Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>
To: Konrad Dybcio <konrad.dybcio@...aro.org>,
linux-arm-msm@...r.kernel.org, andersson@...nel.org,
agross@...nel.org
Cc: patches@...aro.org, Will Deacon <will@...nel.org>,
Robin Murphy <robin.murphy@....com>,
Joerg Roedel <joro@...tes.org>,
Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
linux-arm-kernel@...ts.infradead.org, iommu@...ts.linux.dev,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 1/9] dt-bindings: arm-smmu: Allow up to 3 power-domains
On 15/11/2022 14:06, Konrad Dybcio wrote:>> diff --git
a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>> b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>> index 28f5720824cd..55759aebc4a0 100644
>>> --- a/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>> +++ b/Documentation/devicetree/bindings/iommu/arm,smmu.yaml
>>> @@ -200,7 +200,7 @@ properties:
>>> maxItems: 7
>>>
>>> power-domains:
>>
>> As I mentioned before - minItems: 1.
> But not all SMMUs require a power domain :/
It does not matter. This does not require power-domains.
>
>>
>> Just like the link I gave you.
>>
>>> - maxItems: 1
>>> + maxItems: 3
>>>
>>> nvidia,memory-controller:
>>> description: |
>>> @@ -364,6 +364,26 @@ allOf:
>>> - description: interface clock required to access smmu's
>>> registers
>>> through the TCU's programming interface.
>>>
>>> + - if:
>>> + properties:
>>> + compatible:
>>> + contains:
>>> + const: qcom,sm6375-smmu-500
>>> + then:
>>> + properties:
>>> + power-domains:
>>> + items:
>>> + - description: SNoC MMU TBU RT GDSC
>>> + - description: SNoC MMU TBU NRT GDSC
>>> + - description: SNoC TURING MMU TBU0 GDSC
>>> +
>>> + required:
>>> + - power-domains
>>> + else:
>>> + properties:
>>> + power-domains:
>>> + maxItems: 1
>>> +
>>> examples:
>>> - |+
>>> /* SMMU with stream matching or stream indexing */
>>>
>>>
>>> In my eyes, this should work, but I still get errors like:
>>>
>>> /home/konrad/linux/arch/arm64/boot/dts/qcom/sm8250-hdk.dtb:
>>> iommu@...0000: power-domains: [[108, 0]] is too short
>>>
>>> as if the else: path was never taken..
>>
>> It was, but the top-level property said that minItems=3 (implicitly), so
>> it is too short.
> So the top-level properties take precedence over the ones that come from
> the if-then-else?? Ugh.
It's a sum of them. Top level is expected to define the widest
constraints and if-then-else narrows them per variants.
Best regards,
Krzysztof
Powered by blists - more mailing lists