summaryrefslogtreecommitdiffstats
path: root/include/linux/iommu.h
diff options
context:
space:
mode:
authorAlexey Kardashevskiy <aik@ozlabs.ru>2013-03-25 10:23:49 +1100
committerJoerg Roedel <joro@8bytes.org>2013-04-24 19:56:51 +0200
commitaa16bea929aed6ea854b55d2be8306a9fb40e694 (patch)
tree2a2cead5f2b1123b4b4b13d307d6db035e2c13fe /include/linux/iommu.h
parent61e015ac5b4d46c2054a78d9bc82c840274929a0 (diff)
downloadtalos-op-linux-aa16bea929aed6ea854b55d2be8306a9fb40e694.tar.gz
talos-op-linux-aa16bea929aed6ea854b55d2be8306a9fb40e694.zip
iommu: Add a function to find an iommu group by id
As IOMMU groups are exposed to the user space by their numbers, the user space can use them in various kernel APIs so the kernel might need an API to find a group by its ID. As an example, QEMU VFIO on PPC64 platform needs it to associate a logical bus number (LIOBN) with a specific IOMMU group in order to support in-kernel handling of DMA map/unmap requests. The patch adds the iommu_group_get_by_id(id) function which performs such search. v2: fixed reference counting. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Acked-by: Alex Williamson <alex.williamson@redhat.com> Signed-off-by: Joerg Roedel <joro@8bytes.org>
Diffstat (limited to 'include/linux/iommu.h')
-rw-r--r--include/linux/iommu.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 6a027dc8dbfe..8e1b5be72b02 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -126,6 +126,7 @@ struct iommu_ops {
extern int bus_set_iommu(struct bus_type *bus, struct iommu_ops *ops);
extern bool iommu_present(struct bus_type *bus);
extern struct iommu_domain *iommu_domain_alloc(struct bus_type *bus);
+extern struct iommu_group *iommu_group_get_by_id(int id);
extern void iommu_domain_free(struct iommu_domain *domain);
extern int iommu_attach_device(struct iommu_domain *domain,
struct device *dev);
OpenPOWER on IntegriCloud