[PATCH 0/3] iommu: qcom: Fix the MSM GPU and display with DMA-address based mappings
Dmitry Baryshkov
dmitry.baryshkov at oss.qualcomm.com
Fri Oct 30 15:04:56 PDT 2026
Rob's drm/msm series [1] writes the addresses dma_map_sgtable() returns
for the DRM device into the GPU and display page tables, so they have to
be physical addresses, i.e. the device must not use iommu-dma. On DPU
platforms that holds, the DRM device has no iommus of its own. On MDP5
platforms it is the MDP5 device, which ends up with iommu-dma: the GPU
then fails to start on db410c and sda660 and resets db820c. The last
two patches give it an identity default domain in qcom_iommu and
arm-smmu-qcom.
The first patch fixes qcom_iommu's flush_iotlb_all, which never
invalidated the TLB. Nothing relies on it today, but the series above
does, hence no Fixes tag.
The patches are independent of [1] and a no-op for the current drm/msm,
but have to land before it. Tested on top of [1] on db410c, db820c and
IFC6560 with and without these patches, and on Open-Q 835 (DPU) as a
control.
[1] https://lore.kernel.org/r/20261027230452.130031-1-robin.clark@oss.qualcomm.com
Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov at oss.qualcomm.com>
---
Dmitry Baryshkov (3):
iommu/qcom: Invalidate the TLB in flush_iotlb_all
iommu/qcom: Use identity default domains for the MSM GPU and display
iommu/arm-smmu-qcom: Use identity default domains for MDP5
drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 7 ++++++-
drivers/iommu/arm/arm-smmu/qcom_iommu.c | 26 ++++++++++++++++++++++++--
2 files changed, 30 insertions(+), 3 deletions(-)
---
base-commit: f1ac44c32cba88ad65dcecd4a279661d14e93651
change-id: 20261030-msm-smmu-identity-6fda3323023b
Best regards,
--
With best wishes
Dmitry
More information about the linux-arm-kernel
mailing list