[PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property

Sumit Garg posted 3 patches 3 weeks, 1 day ago
There is a newer version of this series
[PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Sumit Garg 3 weeks, 1 day ago
From: Sumit Garg <sumit.garg@oss.qualcomm.com>

Fix IOMMU DT propety for display via dropping SMMU stream IDs which
relates to secure context bank. Assigning Linux kernel (HLOS) VMID
to secure context bank stream IDs is incorrect.

The min value is added for iommus property to ensure in future when
secure context bank stream IDs are properly supported then the iommus
property is extensible.

These DT bindings changes should be backwards compatible.

Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
---
 .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml   | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
index f0cdb5422688..5c888f07bc0b 100644
--- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
+++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
@@ -33,6 +33,7 @@ properties:
       - const: core
 
   iommus:
+    minItems: 1
     maxItems: 2
 
   interconnects:
@@ -107,9 +108,7 @@ examples:
         interconnect-names = "mdp0-mem",
                              "cpu-cfg";
 
-        iommus = <&apps_smmu 0x420 0x2>,
-                 <&apps_smmu 0x421 0x0>;
-        ranges;
+        iommus = <&apps_smmu 0x420 0x2>;
 
         display-controller@5e01000 {
             compatible = "qcom,qcm2290-dpu";
-- 
2.51.0
Re: [PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Krzysztof Kozlowski 3 weeks, 1 day ago
On Fri, Jan 16, 2026 at 11:50:02AM +0530, Sumit Garg wrote:
> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> 
> Fix IOMMU DT propety for display via dropping SMMU stream IDs which
> relates to secure context bank. Assigning Linux kernel (HLOS) VMID
> to secure context bank stream IDs is incorrect.
> 
> The min value is added for iommus property to ensure in future when
> secure context bank stream IDs are properly supported then the iommus
> property is extensible.
> 
> These DT bindings changes should be backwards compatible.
> 
> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
> ---
>  .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml   | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> index f0cdb5422688..5c888f07bc0b 100644
> --- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> +++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> @@ -33,6 +33,7 @@ properties:
>        - const: core
>  
>    iommus:
> +    minItems: 1

Same comment as other changes like that, which I already gave guideline
- you need to list the items (minItems stay), because you now claim the
order matters and is strictly defined.

Best regards,
Krzysztof
Re: [PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Sumit Garg 3 weeks, 1 day ago
On Fri, Jan 16, 2026 at 09:46:54AM +0100, Krzysztof Kozlowski wrote:
> On Fri, Jan 16, 2026 at 11:50:02AM +0530, Sumit Garg wrote:
> > From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> > 
> > Fix IOMMU DT propety for display via dropping SMMU stream IDs which
> > relates to secure context bank. Assigning Linux kernel (HLOS) VMID
> > to secure context bank stream IDs is incorrect.
> > 
> > The min value is added for iommus property to ensure in future when
> > secure context bank stream IDs are properly supported then the iommus
> > property is extensible.
> > 
> > These DT bindings changes should be backwards compatible.
> > 
> > Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
> > ---
> >  .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml   | 5 ++---
> >  1 file changed, 2 insertions(+), 3 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> > index f0cdb5422688..5c888f07bc0b 100644
> > --- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> > +++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> > @@ -33,6 +33,7 @@ properties:
> >        - const: core
> >  
> >    iommus:
> > +    minItems: 1
> 
> Same comment as other changes like that, which I already gave guideline
> - you need to list the items (minItems stay), because you now claim the
> order matters and is strictly defined.

Not sure if I claimed that order matters now but rather the secure bank
stream IDs were incorrectly represented earlier in the DT.

There has been ongoing disscusion related to how stream ID associated
with different translation context can be represented in DT here [1].
With that only the secure bank stream IDs can be properly represented.

Here I just followed the approach taken by Adreno GPU bindings for the
iommus property [2].

[1] https://lore.kernel.org/all/20250928171718.436440-1-charan.kalla@oss.qualcomm.com/
[2] Documentation/devicetree/bindings/display/msm/gpu.yaml +82

-Sumit
Re: [PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Krzysztof Kozlowski 3 weeks, 1 day ago
On 16/01/2026 13:53, Sumit Garg wrote:
> On Fri, Jan 16, 2026 at 09:46:54AM +0100, Krzysztof Kozlowski wrote:
>> On Fri, Jan 16, 2026 at 11:50:02AM +0530, Sumit Garg wrote:
>>> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
>>>
>>> Fix IOMMU DT propety for display via dropping SMMU stream IDs which
>>> relates to secure context bank. Assigning Linux kernel (HLOS) VMID
>>> to secure context bank stream IDs is incorrect.
>>>
>>> The min value is added for iommus property to ensure in future when
>>> secure context bank stream IDs are properly supported then the iommus
>>> property is extensible.
>>>
>>> These DT bindings changes should be backwards compatible.
>>>
>>> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
>>> ---
>>>  .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml   | 5 ++---
>>>  1 file changed, 2 insertions(+), 3 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
>>> index f0cdb5422688..5c888f07bc0b 100644
>>> --- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
>>> +++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
>>> @@ -33,6 +33,7 @@ properties:
>>>        - const: core
>>>  
>>>    iommus:
>>> +    minItems: 1
>>
>> Same comment as other changes like that, which I already gave guideline
>> - you need to list the items (minItems stay), because you now claim the
>> order matters and is strictly defined.
> 
> Not sure if I claimed that order matters now but rather the secure bank
> stream IDs were incorrectly represented earlier in the DT.

The code claims this by saying that one specific entry is allowed, so
that entry is somehow distinctive, special, different than the other entry.

> 
> There has been ongoing disscusion related to how stream ID associated
> with different translation context can be represented in DT here [1].
> With that only the secure bank stream IDs can be properly represented.
> 
> Here I just followed the approach taken by Adreno GPU bindings for the
> iommus property [2].
> 
> [2] Documentation/devicetree/bindings/display/msm/gpu.yaml +82

Such justifications are pointless. What about commit msg which explains
why this was added? What about entire public discussion happening with
this patch? What about all previous revisions of that patch and
discussions leading to this piece of code? So you just found few lines
of code, ignored entire background and any other arguments, and copied
it here.

That's the approach - I found a piece of some buggy code, so I can do
the same.

Again, we discussed it 2-3 months ago for the same patch and I gave
exactly same reason why this patch is incomplete.


Best regards,
Krzysztof
Re: [PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Sumit Garg 2 weeks, 4 days ago
On Fri, Jan 16, 2026 at 02:15:02PM +0100, Krzysztof Kozlowski wrote:
> On 16/01/2026 13:53, Sumit Garg wrote:
> > On Fri, Jan 16, 2026 at 09:46:54AM +0100, Krzysztof Kozlowski wrote:
> >> On Fri, Jan 16, 2026 at 11:50:02AM +0530, Sumit Garg wrote:
> >>> From: Sumit Garg <sumit.garg@oss.qualcomm.com>
> >>>
> >>> Fix IOMMU DT propety for display via dropping SMMU stream IDs which
> >>> relates to secure context bank. Assigning Linux kernel (HLOS) VMID
> >>> to secure context bank stream IDs is incorrect.
> >>>
> >>> The min value is added for iommus property to ensure in future when
> >>> secure context bank stream IDs are properly supported then the iommus
> >>> property is extensible.
> >>>
> >>> These DT bindings changes should be backwards compatible.
> >>>
> >>> Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
> >>> ---
> >>>  .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml   | 5 ++---
> >>>  1 file changed, 2 insertions(+), 3 deletions(-)
> >>>
> >>> diff --git a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> >>> index f0cdb5422688..5c888f07bc0b 100644
> >>> --- a/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> >>> +++ b/Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml
> >>> @@ -33,6 +33,7 @@ properties:
> >>>        - const: core
> >>>  
> >>>    iommus:
> >>> +    minItems: 1
> >>
> >> Same comment as other changes like that, which I already gave guideline
> >> - you need to list the items (minItems stay), because you now claim the
> >> order matters and is strictly defined.
> > 
> > Not sure if I claimed that order matters now but rather the secure bank
> > stream IDs were incorrectly represented earlier in the DT.
> 
> The code claims this by saying that one specific entry is allowed, so
> that entry is somehow distinctive, special, different than the other entry.

If that's the implicit understanding then I will rather just modify
maxItems here to say only the supported non-secure stream IDs. The
secure bank stream IDs can come later once a proper DT description comes
in place.

> 
> > 
> > There has been ongoing disscusion related to how stream ID associated
> > with different translation context can be represented in DT here [1].
> > With that only the secure bank stream IDs can be properly represented.
> > 
> > Here I just followed the approach taken by Adreno GPU bindings for the
> > iommus property [2].
> > 
> > [2] Documentation/devicetree/bindings/display/msm/gpu.yaml +82
> 
> Such justifications are pointless. What about commit msg which explains
> why this was added? What about entire public discussion happening with
> this patch? What about all previous revisions of that patch and
> discussions leading to this piece of code? So you just found few lines
> of code, ignored entire background and any other arguments, and copied
> it here.

Looks like you are mixing other patch-set with this one.

> 
> That's the approach - I found a piece of some buggy code, so I can do
> the same.
> 
> Again, we discussed it 2-3 months ago for the same patch and I gave
> exactly same reason why this patch is incomplete.

Sorry you are just mixing different discussions here. I am trying to fix
the SMMU stream IDs for Agatti SoC which listed secure bank stream IDs
incorrectly.

And this is the first version of this patch only for DT bindings fix for
Agatti, there are no prior discussions I had on this aspect upstream.

-Sumit
Re: [PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Krzysztof Kozlowski 2 weeks, 4 days ago
On 20/01/2026 13:16, Sumit Garg wrote:
> 
>>
>>>
>>> There has been ongoing disscusion related to how stream ID associated
>>> with different translation context can be represented in DT here [1].
>>> With that only the secure bank stream IDs can be properly represented.
>>>
>>> Here I just followed the approach taken by Adreno GPU bindings for the
>>> iommus property [2].
>>>
>>> [2] Documentation/devicetree/bindings/display/msm/gpu.yaml +82
>>
>> Such justifications are pointless. What about commit msg which explains
>> why this was added? What about entire public discussion happening with
>> this patch? What about all previous revisions of that patch and
>> discussions leading to this piece of code? So you just found few lines
>> of code, ignored entire background and any other arguments, and copied
>> it here.
> 
> Looks like you are mixing other patch-set with this one.

How different? You found some old code and use it as argument that you
can do the same:

"Here I just followed the approach taken by Adreno GPU bindings for the"

so how I am mixing patchsets in my response above?


> 
>>
>> That's the approach - I found a piece of some buggy code, so I can do
>> the same.
>>
>> Again, we discussed it 2-3 months ago for the same patch and I gave
>> exactly same reason why this patch is incomplete.
> 
> Sorry you are just mixing different discussions here. I am trying to fix

How am I mixing? Exactly same approach was posted for other SoC. I gave
same comments. Same comments apply here.

> the SMMU stream IDs for Agatti SoC which listed secure bank stream IDs
> incorrectly.

You explain what you did, but you did not explain why or how I mixed
anything.

> 
> And this is the first version of this patch only for DT bindings fix for
> Agatti, there are no prior discussions I had on this aspect upstream.

I did not say you had discussions before. I said exactly same problems
were being solved and I give here and there exactly the same feedback.

Best regards,
Krzysztof
Re: [PATCH v2 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Posted by Sumit Garg 2 weeks, 3 days ago
On Tue, Jan 20, 2026 at 01:30:13PM +0100, Krzysztof Kozlowski wrote:
> On 20/01/2026 13:16, Sumit Garg wrote:
> > 
> >>
> >>>
> >>> There has been ongoing disscusion related to how stream ID associated
> >>> with different translation context can be represented in DT here [1].
> >>> With that only the secure bank stream IDs can be properly represented.
> >>>
> >>> Here I just followed the approach taken by Adreno GPU bindings for the
> >>> iommus property [2].
> >>>
> >>> [2] Documentation/devicetree/bindings/display/msm/gpu.yaml +82
> >>
> >> Such justifications are pointless. What about commit msg which explains
> >> why this was added? What about entire public discussion happening with
> >> this patch? What about all previous revisions of that patch and
> >> discussions leading to this piece of code? So you just found few lines
> >> of code, ignored entire background and any other arguments, and copied
> >> it here.
> > 
> > Looks like you are mixing other patch-set with this one.
> 
> How different? You found some old code and use it as argument that you
> can do the same:
> 
> "Here I just followed the approach taken by Adreno GPU bindings for the"
> 
> so how I am mixing patchsets in my response above?

You are referring to discussions of which I wasn't part of. The reason I
mentioned Adreno GPU binding here is because I had to drop the secure
bank stream ID for Adreno GPU as well here [1]. But it didn't required
any DT bindings change while the venus and display IOMMU property
required this change.

So how do you justify that GPU iommu DT bindings are correct while the
venus and display iommu DT bindings require update.

Is there any documented behaviour for how the minItems/maxItems need to
be used? Or is this just implementation defined based on mailing list
discussions? And for sure all kernel contributors won't be aware about
all those discussions happening.

[1] https://lore.kernel.org/all/20260116062004.237356-4-sumit.garg@kernel.org/

> 
> 
> > 
> >>
> >> That's the approach - I found a piece of some buggy code, so I can do
> >> the same.
> >>
> >> Again, we discussed it 2-3 months ago for the same patch and I gave
> >> exactly same reason why this patch is incomplete.
> > 
> > Sorry you are just mixing different discussions here. I am trying to fix
> 
> How am I mixing? Exactly same approach was posted for other SoC. I gave
> same comments. Same comments apply here.

I still don't know which other SoC discussions you are reffering too.
Care to provide a link?

> 
> > the SMMU stream IDs for Agatti SoC which listed secure bank stream IDs
> > incorrectly.
> 
> You explain what you did, but you did not explain why or how I mixed
> anything.

I tried my best to describe the why part in commit descriptions:

"
Fix IOMMU DT propeties for GPU, display and video peripherals via
dropping SMMU stream IDs which relates to secure context bank.

This problem only surfaced when the Gunyah based firmware stack is
ported on Agatti replacing the legacy QHEE based firmware stack. Assigning
Linux kernel (HLOS) VMID to secure context bank stream IDs is treated
as a fault by Gunyah hypervisor which were previously ignored by QHEE
hypervisor.
"

Let me know if the why part is still unclear.

> 
> > 
> > And this is the first version of this patch only for DT bindings fix for
> > Agatti, there are no prior discussions I had on this aspect upstream.
> 
> I did not say you had discussions before. I said exactly same problems
> were being solved and I give here and there exactly the same feedback.
> 

Care to provide link to earlier discussions?

-Sumit