On 2023/1/5 16:28, bingbu.cao@xxxxxxxxx wrote:
Intel IPU(Image Processing Unit) has its own (IO)MMU hardware, The IPU driver allocates its own page table that is not mapped via the DMA, and thus the Intel IOMMU driver blocks access giving this error: DMAR: DRHD: handling fault status reg 3 DMAR: [DMA Read] Request device [00:05.0] PASID ffffffff fault addr 76406000 [fault reason 06] PTE Read access is not set
Do you mind telling why does such DMA fault occur? How does the IPU driver map the fault address 76406000 ?
As IPU is not an external facing device which is not risky, so use IOMMU passthrough mode for Intel IPUs.
You can also set the passthrough mode with kernel option iommu=pt (globally) or by writing IDENTITY to /sys/..path_to_device../iommu_group/type (per-device).
Fixes: 26f5689592e2 ("media: staging/intel-ipu3: mmu: Implement driver")
Please don't try to fix any problem in the device driver by adding any hard-coded quirky code in the IOMMU code.
Signed-off-by: Bingbu Cao<bingbu.cao@xxxxxxxxx>
-- Best regards, baolu