aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/iommu.h
diff options
context:
space:
mode:
authorJoerg Roedel <jroedel@suse.de>2014-09-03 12:34:04 -0400
committerJoerg Roedel <jroedel@suse.de>2014-09-25 09:44:49 -0400
commit1aed074869a9cbe0a846ea7b254d8fd9a4a4d31f (patch)
tree54b73121409c21112fee7e61dc749d076157cddb /include/linux/iommu.h
parent0f33be009b89d2268e94194dc4fd01a7851b6d51 (diff)
iommu: Convert iommu-caps from define to enum
Allow compile-time type-checking. Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'include/linux/iommu.h')
-rw-r--r--include/linux/iommu.h11
1 files changed, 7 insertions, 4 deletions
diff --git a/include/linux/iommu.h b/include/linux/iommu.h
index 20f9a527922a..98fc126655ae 100644
--- a/include/linux/iommu.h
+++ b/include/linux/iommu.h
@@ -57,8 +57,11 @@ struct iommu_domain {
57 struct iommu_domain_geometry geometry; 57 struct iommu_domain_geometry geometry;
58}; 58};
59 59
60#define IOMMU_CAP_CACHE_COHERENCY 0x1 60enum iommu_cap {
61#define IOMMU_CAP_INTR_REMAP 0x2 /* isolates device intrs */ 61 IOMMU_CAP_CACHE_COHERENCY, /* IOMMU can enforce cache coherent DMA
62 transactions */
63 IOMMU_CAP_INTR_REMAP, /* IOMMU supports interrupt isolation */
64};
62 65
63/* 66/*
64 * Following constraints are specifc to FSL_PAMUV1: 67 * Following constraints are specifc to FSL_PAMUV1:
@@ -155,7 +158,7 @@ extern size_t iommu_unmap(struct iommu_domain *domain, unsigned long iova,
155 size_t size); 158 size_t size);
156extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova); 159extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t iova);
157extern int iommu_domain_has_cap(struct iommu_domain *domain, 160extern int iommu_domain_has_cap(struct iommu_domain *domain,
158 unsigned long cap); 161 enum iommu_cap cap);
159extern void iommu_set_fault_handler(struct iommu_domain *domain, 162extern void iommu_set_fault_handler(struct iommu_domain *domain,
160 iommu_fault_handler_t handler, void *token); 163 iommu_fault_handler_t handler, void *token);
161 164
@@ -305,7 +308,7 @@ static inline phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_ad
305} 308}
306 309
307static inline int iommu_domain_has_cap(struct iommu_domain *domain, 310static inline int iommu_domain_has_cap(struct iommu_domain *domain,
308 unsigned long cap) 311 enum iommu_cap cap)
309{ 312{
310 return 0; 313 return 0;
311} 314}