diff options
author | Robin Murphy <robin.murphy@arm.com> | 2017-03-16 17:00:18 +0000 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2017-03-22 16:18:59 +0100 |
commit | 7c1b058c8b5a310f2f0439aff14e454aa9afe502 (patch) | |
tree | cfd130109d5029b7bd40ef82b61b43326558d531 /drivers/iommu/arm-smmu.c | |
parent | 938f1bbe35e3a7cb07e1fa7c512e2ef8bb866bdf (diff) | |
download | op-kernel-dev-7c1b058c8b5a310f2f0439aff14e454aa9afe502.zip op-kernel-dev-7c1b058c8b5a310f2f0439aff14e454aa9afe502.tar.gz |
iommu/dma: Handle IOMMU API reserved regions
Now that it's simple to discover the necessary reservations for a given
device/IOMMU combination, let's wire up the appropriate handling. Basic
reserved regions and direct-mapped regions we simply have to carve out
of IOVA space (the IOMMU core having already mapped the latter before
attaching the device). For hardware MSI regions, we also pre-populate
the cookie with matching msi_pages. That way, irqchip drivers which
normally assume MSIs to require mapping at the IOMMU can keep working
without having to special-case their iommu_dma_map_msi_msg() hook, or
indeed be aware at all of quirks preventing the IOMMU from translating
certain addresses.
Reviewed-by: Eric Auger <eric.auger@redhat.com>
Signed-off-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/arm-smmu.c')
0 files changed, 0 insertions, 0 deletions