提交 dc534b25 编写于 作者: J Joerg Roedel

iommu/vt-d: Pass an iommu pointer to domain_init()

This allows to do domain->iommu attachment after domain_init
has run.
Signed-off-by: NJoerg Roedel <jroedel@suse.de>
上级 2452d9db
......@@ -1832,9 +1832,9 @@ static inline int guestwidth_to_adjustwidth(int gaw)
return agaw;
}
static int domain_init(struct dmar_domain *domain, int guest_width)
static int domain_init(struct dmar_domain *domain, struct intel_iommu *iommu,
int guest_width)
{
struct intel_iommu *iommu;
int adjust_width, agaw;
unsigned long sagaw;
......@@ -1843,7 +1843,6 @@ static int domain_init(struct dmar_domain *domain, int guest_width)
domain_reserve_special_ranges(domain);
/* calculate AGAW */
iommu = domain_get_iommu(domain);
if (guest_width > cap_mgaw(iommu->cap))
guest_width = cap_mgaw(iommu->cap);
domain->gaw = guest_width;
......@@ -2389,7 +2388,7 @@ static struct dmar_domain *get_domain_for_dev(struct device *dev, int gaw)
return NULL;
}
domain_attach_iommu(domain, iommu);
if (domain_init(domain, gaw)) {
if (domain_init(domain, iommu, gaw)) {
domain_exit(domain);
return NULL;
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册