arm64: dts: qcom: agatti: Fix IOMMU DT properties
Subsystems (9)
v3 cover arm64: dts: qcom: agatti: Fix IOMMU DT properties
From: Sumit Garg <[email protected]>
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.
The DT changes should be backwards compatible with legacy QHEE based firmware stack too.
Changes in v3:
---
- Fixed up maximum value for iommus property in DT bindings instead of adding the minimum value as that places implicit ordering requirements.
- Collected further review tag for patch #3
Changes in v2:
---
- Dropped Gunyah related reserved memory requirement changes
- Added DT bindings changes related to IOMMU property fixups
- Collected review tags for the DT changes
Sumit Garg (3):
dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
dt-bindings: media: venus: Fix iommus property
arm64: dts: qcom: agatti: Fix IOMMU DT properties
.../bindings/display/msm/qcom,qcm2290-mdss.yaml | 6 ++---- .../devicetree/bindings/media/qcom,qcm2290-venus.yaml | 7 ++----- arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++-------- 3 files changed, 7 insertions(+), 17 deletions(-)
Signature · 1 line
2.51.0
PATCH v3 1/3 dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
From: Sumit Garg <[email protected]>
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 maximum value for iommus property is updated accordingly.
These DT bindings changes should be backwards compatible.
--- .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
Documentation/devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml +2 -4
@@ -33,7 +33,7 @@ properties: - const: core iommus: - maxItems: 2 + maxItems: 1 interconnects: items:
@@ -107,9 +107,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";
Signature · 1 line
2.51.0
Re: [PATCH v3 1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
Quoted 7 lines · Sumit Garg
From: Sumit Garg <[email protected]>
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 maximum value for iommus property is updated accordingly.
Quoted 7 lines
These DT bindings changes should be backwards compatible.
Signed-off-by Sumit Garg <[email protected]>--- .../devicetree/bindings/display/msm/qcom,qcm2290-mdss.yaml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-)
PATCH v3 2/3 dt-bindings: media: venus: Fix iommus property
In reply to Sumit GargFrom: Sumit Garg <[email protected]>
Fix IOMMU DT propety for venus 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 maximum value for iommus property is updated accordingly.
These DT bindings changes should be backwards compatible.
--- .../devicetree/bindings/media/qcom,qcm2290-venus.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
Documentation/devicetree/bindings/media/qcom,qcm2290-venus.yaml +2 -5
@@ -42,7 +42,7 @@ properties: - const: vcodec0_bus iommus: - maxItems: 5 + maxItems: 2 interconnects: maxItems: 2
@@ -102,10 +102,7 @@ examples: memory-region = <&pil_video_mem>; iommus = <&apps_smmu 0x860 0x0>, - <&apps_smmu 0x880 0x0>, - <&apps_smmu 0x861 0x04>, - <&apps_smmu 0x863 0x0>, - <&apps_smmu 0x804 0xe0>; + <&apps_smmu 0x880 0x0>; interconnects = <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
Signature · 1 line
2.51.0
Re: [PATCH v3 2/3] dt-bindings: media: venus: Fix iommus property
Quoted 7 lines · Sumit Garg
From: Sumit Garg <[email protected]>
Fix IOMMU DT propety for venus 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 maximum value for iommus property is updated accordingly.
Quoted 7 lines
These DT bindings changes should be backwards compatible.
Signed-off-by Sumit Garg <[email protected]>--- .../devicetree/bindings/media/qcom,qcm2290-venus.yaml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-)
PATCH v3 3/3 arm64: dts: qcom: agatti: Fix IOMMU DT properties
In reply to Sumit GargFrom: Sumit Garg <[email protected]>
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.
The DT changes should be backwards compatible with legacy QHEE based firmware stack too.
--- arch/arm64/boot/dts/qcom/agatti.dtsi | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-)
arch/arm64/boot/dts/qcom/agatti.dtsi +3 -8
@@ -1665,8 +1665,7 @@ gpu: gpu@5900000 { &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>; interconnect-names = "gfx-mem"; - iommus = <&adreno_smmu 0 1>, - <&adreno_smmu 2 0>; + iommus = <&adreno_smmu 0 1>; operating-points-v2 = <&gpu_opp_table>; power-domains = <&rpmpd QCM2290_VDDCX>; qcom,gmu = <&gmu_wrapper>;
@@ -1947,8 +1946,7 @@ mdss: display-subsystem@5e00000 { power-domains = <&dispcc MDSS_GDSC>; - iommus = <&apps_smmu 0x420 0x2>, - <&apps_smmu 0x421 0x0>; + iommus = <&apps_smmu 0x420 0x2>; interconnects = <&mmrt_virt MASTER_MDP0 RPM_ALWAYS_TAG &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>, <&bimc MASTER_APPSS_PROC RPM_ALWAYS_TAG
@@ -2391,10 +2389,7 @@ venus: video-codec@5a00000 { memory-region = <&pil_video_mem>; iommus = <&apps_smmu 0x860 0x0>, - <&apps_smmu 0x880 0x0>, - <&apps_smmu 0x861 0x04>, - <&apps_smmu 0x863 0x0>, - <&apps_smmu 0x804 0xe0>; + <&apps_smmu 0x880 0x0>; interconnects = <&mmnrt_virt MASTER_VIDEO_P0 RPM_ALWAYS_TAG &bimc SLAVE_EBI1 RPM_ALWAYS_TAG>,
Signature · 1 line
2.51.0
Rob Herring
maintainerQuoted 5 lines · Sumit Garg
From: Sumit Garg <[email protected]>
Fix IOMMU DT propeties for GPU, display and video peripherals via dropping SMMU stream IDs which relates to secure context bank.
Quoted 8 lines
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.
The DT changes should be backwards compatible with legacy QHEE based firmware stack too.
To avoid intermittent warnings, Bjorn should pick up the whole series.
Rob
Hey Bjorn,
Quoted 12 lines · Rob Herring
Quoted 11 lines · Sumit Garg
From: Sumit Garg <[email protected]>
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.
Quoted 5 lines
Quoted 2 lines
The DT changes should be backwards compatible with legacy QHEE based firmware stack too.
To avoid intermittent warnings, Bjorn should pick up the whole series.
Just a gentle reminder in case it slipped your attention. Can we pick this as part of fixes for v7.0 release?
-Sumit
Bjorn Andersson
maintainerQuoted 15 lines · Sumit Garg
Hey Bjorn,
Quoted 12 lines · Rob Herring
Quoted 11 lines · Sumit Garg
From: Sumit Garg <[email protected]>
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.
Quoted 9 lines
Quoted 5 lines
Quoted 2 lines
The DT changes should be backwards compatible with legacy QHEE based firmware stack too.
To avoid intermittent warnings, Bjorn should pick up the whole series.
Just a gentle reminder in case it slipped your attention. Can we pick this as part of fixes for v7.0 release?
Thanks for the ping. Is the Gunyah firmware generally available and would this thereby be considered a regression that we need to fix for v7.0? Or can I just pick it for v7.1?
Regards,
Bjorn
Quoted 1 line
-Sumit
Quoted 22 lines · Bjorn Andersson
Quoted 21 lines · Sumit Garg
Hey Bjorn,
Quoted 17 lines · Rob Herring
Quoted 5 lines · Sumit Garg
From: Sumit Garg <[email protected]>
Fix IOMMU DT propeties for GPU, display and video peripherals via dropping SMMU stream IDs which relates to secure context bank.
Quoted 8 lines
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.
The DT changes should be backwards compatible with legacy QHEE based firmware stack too.
To avoid intermittent warnings, Bjorn should pick up the whole series.
Quoted 7 lines
Quoted 3 lines
Just a gentle reminder in case it slipped your attention. Can we pick this as part of fixes for v7.0 release?
Thanks for the ping. Is the Gunyah firmware generally available and would this thereby be considered a regression that we need to fix for v7.0?
Yeah it's already available internally and we are just waiting for a public release of the Gunyah firmware which is expected to come before v7.0 gets released.
So, please get these fixes in v7.0 as these are boot critical ones.
-Sumit
Quoted 4 lines
Or can I just pick it for v7.1?
Regards,
Bjorn
Quoted 5 lines · Sumit Garg
From: Sumit Garg <[email protected]>
Fix IOMMU DT propeties for GPU, display and video peripherals via dropping SMMU stream IDs which relates to secure context bank.
Quoted 7 lines
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.
[...]
Applied, thanks!
[1/3] dt-bindings: display: msm: qcm2290-mdss: Fix iommus property
commit: 966a08c293cb9290d3fe932961404e87b3f81327
[2/3] dt-bindings: media: venus: Fix iommus property
commit: 7e59cd4ad586afd87f67491cf91fa1141292cf57
[3/3] arm64: dts: qcom: agatti: Fix IOMMU DT properties
commit: 2c409e03fc04b5cded81b7add9ce509706c922e3Best regards,
Signature · 1 line
Bjorn Andersson <[email protected]>