summaryrefslogtreecommitdiff
path: root/include/linux/iommu.h
diff options
context:
space:
mode:
authorHiroshi Doyu <hdoyu@nvidia.com>2013-04-03 15:50:44 +0300
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 13:12:07 -0700
commit855dc031a963cd63a01a074d700fbd9ecb98d483 (patch)
treebfb3bc55db297f81eee56afb010f258b5c267df9 /include/linux/iommu.h
parent888887d00bfc325f83b9b60f4b6f6dcb2b7a867e (diff)
iommu/core: Add new API iommu_map_pages()
Add new API iommu_map_pages() to call iommu_ops->map_pages() internally. bug 1254010 bug 1226176 bug 999937 Change-Id: I37605703def34bba774e480b29506c459d6391bd Signed-off-by: Hiroshi Doyu <hdoyu@nvidia.com> Reviewed-on: http://git-master/r/225674 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Krishna Reddy <vdumpa@nvidia.com>
Diffstat (limited to 'include/linux/iommu.h')
-rw-r--r--include/linux/iommu.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 3aeb7305e2f5..cf1c98fda49e 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -90,6 +90,8 @@ struct iommu_ops {
void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
int (*map)(struct iommu_domain *domain, unsigned long iova,
phys_addr_t paddr, size_t size, int prot);
+ int (*map_pages)(struct iommu_domain *domain, unsigned long iova,
+ struct page **pages, size_t count, int prot);
size_t (*unmap)(struct iommu_domain *domain, unsigned long iova,
size_t size);
phys_addr_t (*iova_to_phys)(struct iommu_domain *domain, dma_addr_t iova);
@@ -133,6 +135,8 @@ extern void iommu_detach_device(struct iommu_domain *domain,
struct device *dev);
extern int iommu_map(struct iommu_domain *domain, unsigned long iova,
phys_addr_t paddr, size_t size, int prot);
+extern int iommu_map_pages(struct iommu_domain *domain, unsigned long iova,
+ struct page **pages, size_t count, int prot);
extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
size_t size);
extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);