[PATCH 0/3] iommu: qcom: Fix the MSM GPU and display with DMA-address based mappings

From: Dmitry Baryshkov

Date: Fri Oct 30 2026 - 18:05:40 EST


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@xxxxxxxxxxxxxxxx

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxxxxxxxx>
---
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