summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorMitchel Humpherys <mitchelh@codeaurora.org>2016-02-12 14:10:31 -0800
committerJeevan Shriram <jshriram@codeaurora.org>2016-05-20 19:23:59 -0700
commitc4b40af5dca4545e3ca6724d70b2f291bb022868 (patch)
treeb7a25c194f67d5140103395682fb1ed700a4cb4a /include
parentdef4ba9feeec072e329471024c1e01f7908b7516 (diff)
iommu: Add domain attribute for getting page table info
For certain DMA API implementations, the overhead of going through the IOMMU framework is too much. Such an implementation might want to perform some rudimentary page table management using bits of information from the underlying page tables. Add a domain attribute and structure for querying this type of information. For now, the only information supported is the kernel virtual address of the PMDs (assumed to be virtually contiguous). CRs-Fixed: 997751 Change-Id: I29d31e9649c24d30a5a7ffaa4b238a0203846594 Signed-off-by: Mitchel Humpherys <mitchelh@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/linux/iommu.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 7b6ea78f1667..56855724271c 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -56,6 +56,10 @@ struct iommu_domain_geometry {
bool force_aperture; /* DMA only allowed in mappable range? */
};
+struct iommu_pgtbl_info {
+ void *pmds;
+};
+
/* Domain feature flags */
#define __IOMMU_DOMAIN_PAGING (1U << 0) /* Support for iommu_map/unmap */
#define __IOMMU_DOMAIN_DMA_API (1U << 1) /* Domain for use in DMA-API
@@ -129,6 +133,7 @@ enum iommu_attr {
DOMAIN_ATTR_NON_FATAL_FAULTS,
DOMAIN_ATTR_S1_BYPASS,
DOMAIN_ATTR_FAST,
+ DOMAIN_ATTR_PGTBL_INFO,
DOMAIN_ATTR_MAX,
};