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

Commit 1228236d authored by Joerg Roedel's avatar Joerg Roedel
Browse files

iommu: Move default domain allocation to iommu_group_get_for_dev()



Now that the iommu core support for iommu groups is not
pci-centric anymore, we can move default domain allocation
to the bus independent iommu_group_get_for_dev() function.

Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 391811e1
Loading
Loading
Loading
Loading
+10 −8
Original line number Diff line number Diff line
@@ -810,14 +810,6 @@ struct iommu_group *pci_device_group(struct device *dev)
	if (IS_ERR(group))
		return NULL;

	/*
	 * Try to allocate a default domain - needs support from the
	 * IOMMU driver.
	 */
	group->default_domain = __iommu_domain_alloc(pdev->dev.bus,
						     IOMMU_DOMAIN_DMA);
	group->domain = group->default_domain;

	return group;
}

@@ -849,6 +841,16 @@ struct iommu_group *iommu_group_get_for_dev(struct device *dev)
	if (IS_ERR(group))
		return group;

	/*
	 * Try to allocate a default domain - needs support from the
	 * IOMMU driver.
	 */
	if (!group->default_domain) {
		group->default_domain = __iommu_domain_alloc(dev->bus,
							     IOMMU_DOMAIN_DMA);
		group->domain = group->default_domain;
	}

	ret = iommu_group_add_device(group, dev);
	if (ret) {
		iommu_group_put(group);