]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
arm64: dts: qcom: agatti: Fix IOMMU DT properties
authorSumit Garg <sumit.garg@oss.qualcomm.com>
Thu, 22 Jan 2026 12:10:42 +0000 (17:40 +0530)
committerBjorn Andersson <andersson@kernel.org>
Tue, 24 Mar 2026 03:31:40 +0000 (22:31 -0500)
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.

Suggested-by: Prakash Gupta <guptap@qti.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Akhil P Oommen <akhilpo@oss.qualcomm.com>
Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Signed-off-by: Sumit Garg <sumit.garg@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260122121042.579270-4-sumit.garg@kernel.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
arch/arm64/boot/dts/qcom/agatti.dtsi

index 76b93b7bd50f9c616d40c9860c13ec2acc91a14f..893cb06890130a686a120f17d37e19854f5e52e6 100644 (file)
                                         &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>;
 
                        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
 
                        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>,