iommu: Add generic_device_group() function
This function can be used as a device_group call-back and just allocates one iommu-group per device. Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
5e62292bad
commit
6eab556a40
|
@ -727,6 +727,21 @@ static int get_pci_alias_or_group(struct pci_dev *pdev, u16 alias, void *opaque)
|
||||||
return data->group != NULL;
|
return data->group != NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Generic device_group call-back function. It just allocates one
|
||||||
|
* iommu-group per device.
|
||||||
|
*/
|
||||||
|
struct iommu_group *generic_device_group(struct device *dev)
|
||||||
|
{
|
||||||
|
struct iommu_group *group;
|
||||||
|
|
||||||
|
group = iommu_group_alloc();
|
||||||
|
if (IS_ERR(group))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return group;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Use standard PCI bus topology, isolation features, and DMA alias quirks
|
* Use standard PCI bus topology, isolation features, and DMA alias quirks
|
||||||
* to find or create an IOMMU group for a device.
|
* to find or create an IOMMU group for a device.
|
||||||
|
|
|
@ -319,6 +319,8 @@ static inline size_t iommu_map_sg(struct iommu_domain *domain,
|
||||||
|
|
||||||
/* PCI device grouping function */
|
/* PCI device grouping function */
|
||||||
extern struct iommu_group *pci_device_group(struct device *dev);
|
extern struct iommu_group *pci_device_group(struct device *dev);
|
||||||
|
/* Generic device grouping function */
|
||||||
|
extern struct iommu_group *generic_device_group(struct device *dev);
|
||||||
|
|
||||||
#else /* CONFIG_IOMMU_API */
|
#else /* CONFIG_IOMMU_API */
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue