Permalink
Browse files

drivers: iommu: Add flags to iommu_domain_alloc

Add the ability to pass flags into the iommu_domain_alloc
function to specify domain attributes.

Signed-off-by: Stepan Moskovchenko <stepanm@codeaurora.org>
  • Loading branch information...
1 parent ea35b62 commit 0fa46d3ea610688cbaab2c14b97a0fe581f80dd8 Stepan Moskovchenko committed with TomGiordano Sep 1, 2011
Showing with 8 additions and 8 deletions.
  1. +1 −1 arch/arm/mach-msm/iommu.c
  2. +1 −1 arch/arm/mach-msm/iommu_domains.c
  3. +2 −2 drivers/base/iommu.c
  4. +3 −3 include/linux/iommu.h
  5. +1 −1 virt/kvm/iommu.c
@@ -236,7 +236,7 @@ static void __program_context(void __iomem *base, int ctx, int ncb,
mb();
}
-static int msm_iommu_domain_init(struct iommu_domain *domain)
+static int msm_iommu_domain_init(struct iommu_domain *domain, int flags)
{
struct msm_priv *priv = kzalloc(sizeof(*priv), GFP_KERNEL);
@@ -199,7 +199,7 @@ static int __init msm_subsystem_iommu_init(void)
int i;
for (i = 0; i < (ARRAY_SIZE(msm_iommu_domains) - 1); i++)
- msm_iommu_domains[i] = iommu_domain_alloc();
+ msm_iommu_domains[i] = iommu_domain_alloc(0);
for (i = 0; i < ARRAY_SIZE(msm_iommu_iova_pools); i++) {
mutex_init(&msm_iommu_iova_pools[i].pool_mutex);
View
@@ -39,7 +39,7 @@ bool iommu_found(void)
}
EXPORT_SYMBOL_GPL(iommu_found);
-struct iommu_domain *iommu_domain_alloc(void)
+struct iommu_domain *iommu_domain_alloc(int flags)
{
struct iommu_domain *domain;
int ret;
@@ -48,7 +48,7 @@ struct iommu_domain *iommu_domain_alloc(void)
if (!domain)
return NULL;
- ret = iommu_ops->domain_init(domain);
+ ret = iommu_ops->domain_init(domain, flags);
if (ret)
goto out_free;
View
@@ -32,7 +32,7 @@ struct iommu_domain {
#define IOMMU_CAP_CACHE_COHERENCY 0x1
struct iommu_ops {
- int (*domain_init)(struct iommu_domain *domain);
+ int (*domain_init)(struct iommu_domain *domain, int flags);
void (*domain_destroy)(struct iommu_domain *domain);
int (*attach_dev)(struct iommu_domain *domain, struct device *dev);
void (*detach_dev)(struct iommu_domain *domain, struct device *dev);
@@ -50,7 +50,7 @@ struct iommu_ops {
extern void register_iommu(struct iommu_ops *ops);
extern bool iommu_found(void);
-extern struct iommu_domain *iommu_domain_alloc(void);
+extern struct iommu_domain *iommu_domain_alloc(int flags);
extern void iommu_domain_free(struct iommu_domain *domain);
extern int iommu_attach_device(struct iommu_domain *domain,
struct device *dev);
@@ -76,7 +76,7 @@ static inline bool iommu_found(void)
return false;
}
-static inline struct iommu_domain *iommu_domain_alloc(void)
+static inline struct iommu_domain *iommu_domain_alloc(int flags)
{
return NULL;
}
View
@@ -223,7 +223,7 @@ int kvm_iommu_map_guest(struct kvm *kvm)
return -ENODEV;
}
- kvm->arch.iommu_domain = iommu_domain_alloc();
+ kvm->arch.iommu_domain = iommu_domain_alloc(0);
if (!kvm->arch.iommu_domain)
return -ENOMEM;

0 comments on commit 0fa46d3

Please sign in to comment.