Hi Rui, can you check if the patch below fixes the issue for you? diff --git a/arch/powerpc/sysdev/dart_iommu.c b/arch/powerpc/sysdev/dart_iommu.c index 2e24fc87ed84..809797dbe169 100644 --- a/arch/powerpc/sysdev/dart_iommu.c +++ b/arch/powerpc/sysdev/dart_iommu.c @@ -392,7 +392,9 @@ static void pci_dma_dev_setup_dart(struct pci_dev *dev) static bool iommu_bypass_supported_dart(struct pci_dev *dev, u64 mask) { - return dart_is_u4 && dart_device_on_pcie(&dev->dev); + return dart_is_u4 && + dart_device_on_pcie(&dev->dev) && + mask >= DMA_BIT_MASK(40); } void __init iommu_init_early_dart(struct pci_controller_ops *controller_ops)