-
- Downloads
iommu/dma: Add support for mapping MSIs
When an MSI doorbell is located downstream of an IOMMU, attaching devices to a DMA ops domain and switching on translation leads to a rude shock when their attempt to write to the physical address returned by the irqchip driver faults (or worse, writes into some already-mapped buffer) and no interrupt is forthcoming. Address this by adding a hook for relevant irqchip drivers to call from their compose_msi_msg() callback, to swizzle the physical address with an appropriatly-mapped IOVA for any device attached to one of our DMA ops domains. Acked-by:Thomas Gleixner <tglx@linutronix.de> Acked-by:
Marc Zyngier <marc.zyngier@arm.com> Signed-off-by:
Robin Murphy <robin.murphy@arm.com> Signed-off-by:
Will Deacon <will.deacon@arm.com>
Showing
- drivers/iommu/dma-iommu.c 121 additions, 15 deletionsdrivers/iommu/dma-iommu.c
- drivers/irqchip/irq-gic-v2m.c 3 additions, 0 deletionsdrivers/irqchip/irq-gic-v2m.c
- drivers/irqchip/irq-gic-v3-its.c 3 additions, 0 deletionsdrivers/irqchip/irq-gic-v3-its.c
- include/linux/dma-iommu.h 9 additions, 0 deletionsinclude/linux/dma-iommu.h
Loading
Please register or sign in to comment