diff options
author | Robin Murphy <robin.murphy@arm.com> | 2016-09-12 18:13:59 +0200 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2016-09-16 10:34:22 +0200 |
commit | 44bb7e243bd4b4e5c79de2452cd9762582f58925 (patch) | |
tree | bf0d949ec860769d523d512dc26b20c9ce26e945 /kernel/kcmp.c | |
parent | iommu/arm-smmu: Set domain geometry (diff) | |
download | linux-44bb7e243bd4b4e5c79de2452cd9762582f58925.tar.xz linux-44bb7e243bd4b4e5c79de2452cd9762582f58925.zip |
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>
Diffstat (limited to 'kernel/kcmp.c')
0 files changed, 0 insertions, 0 deletions