Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit dc534b25 authored by Joerg Roedel's avatar Joerg Roedel
Browse files

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: default avatarJoerg Roedel <jroedel@suse.de>
parent 2452d9db
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -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;
	}