Lines Matching defs:iommu_group

47 struct iommu_group {
71 /* Iterate over each struct group_device in a struct iommu_group */
77 ssize_t (*show)(struct iommu_group *group, char *buf);
78 ssize_t (*store)(struct iommu_group *group,
97 __iommu_group_domain_alloc(struct iommu_group *group, unsigned int type);
101 struct iommu_group *group);
107 static int __iommu_device_set_domain(struct iommu_group *group,
111 static int __iommu_group_set_domain_internal(struct iommu_group *group,
114 static int __iommu_group_set_domain(struct iommu_group *group,
119 static void __iommu_group_set_domain_nofail(struct iommu_group *group,
126 static int iommu_setup_default_domain(struct iommu_group *group,
130 static ssize_t iommu_group_store_type(struct iommu_group *group,
132 static struct group_device *iommu_group_alloc_device(struct iommu_group *group,
134 static void __iommu_group_free_device(struct iommu_group *group,
144 container_of(_kobj, struct iommu_group, kobj)
399 * Init the dev->iommu and dev->iommu_group in the struct device and get the
405 struct iommu_group *group;
434 dev->iommu_group = group;
456 struct iommu_group *group = dev->iommu_group;
502 /* Caller must put iommu_group */
503 dev->iommu_group = NULL;
514 struct iommu_group *group;
544 if (dev->iommu_group)
551 group = dev->iommu_group;
620 static void __iommu_group_free_device(struct iommu_group *group,
626 sysfs_remove_link(&dev->kobj, "iommu_group");
643 /* Remove the iommu_group from the struct device. */
646 struct iommu_group *group = dev->iommu_group;
659 dev->iommu_group = NULL;
673 struct iommu_group *group = dev->iommu_group;
722 struct iommu_group *group = to_iommu_group(kobj);
735 struct iommu_group *group = to_iommu_group(kobj);
748 static int iommu_group_create_file(struct iommu_group *group,
754 static void iommu_group_remove_file(struct iommu_group *group,
760 static ssize_t iommu_group_show_name(struct iommu_group *group, char *buf)
841 int iommu_get_group_resv_regions(struct iommu_group *group,
870 static ssize_t iommu_group_show_resv_regions(struct iommu_group *group,
892 static ssize_t iommu_group_show_type(struct iommu_group *group,
932 struct iommu_group *group = to_iommu_group(kobj);
965 struct iommu_group *iommu_group_alloc(void)
967 struct iommu_group *group;
1034 void *iommu_group_get_iommudata(struct iommu_group *group)
1050 void iommu_group_set_iommudata(struct iommu_group *group, void *iommu_data,
1066 int iommu_group_set_name(struct iommu_group *group, const char *name)
1160 static struct group_device *iommu_group_alloc_device(struct iommu_group *group,
1172 ret = sysfs_create_link(&dev->kobj, &group->kobj, "iommu_group");
1208 sysfs_remove_link(&dev->kobj, "iommu_group");
1223 int iommu_group_add_device(struct iommu_group *group, struct device *dev)
1232 dev->iommu_group = group;
1250 struct iommu_group *group = dev->iommu_group;
1273 struct iommu_group *group = dev->iommu_group;
1280 static struct device *iommu_group_first_dev(struct iommu_group *group)
1297 int iommu_group_for_each_dev(struct iommu_group *group, void *data,
1323 struct iommu_group *iommu_group_get(struct device *dev)
1325 struct iommu_group *group = dev->iommu_group;
1341 struct iommu_group *iommu_group_ref_get(struct iommu_group *group)
1355 void iommu_group_put(struct iommu_group *group)
1368 int iommu_group_id(struct iommu_group *group)
1374 static struct iommu_group *get_pci_alias_group(struct pci_dev *pdev,
1393 static struct iommu_group *get_pci_function_alias_group(struct pci_dev *pdev,
1397 struct iommu_group *group;
1427 static struct iommu_group *get_pci_alias_group(struct pci_dev *pdev,
1431 struct iommu_group *group;
1465 struct iommu_group *group;
1486 struct iommu_group *generic_device_group(struct device *dev)
1497 struct iommu_group *generic_single_device_group(struct device *dev)
1502 struct iommu_group *group;
1517 struct iommu_group *pci_device_group(struct device *dev)
1522 struct iommu_group *group = NULL;
1582 struct iommu_group *fsl_mc_device_group(struct device *dev)
1585 struct iommu_group *group;
1595 __iommu_group_alloc_default_domain(struct iommu_group *group, int req_type)
1607 iommu_group_alloc_default_domain(struct iommu_group *group, int req_type)
1645 struct iommu_domain *iommu_group_default_domain(struct iommu_group *group)
1686 static int iommu_get_def_domain_type(struct iommu_group *group,
1728 static int iommu_get_default_domain_type(struct iommu_group *group,
1805 struct iommu_group *group, *next;
1904 bool iommu_group_has_isolated_msi(struct iommu_group *group)
1993 __iommu_group_domain_alloc(struct iommu_group *group, unsigned int type)
2046 static void __iommu_group_set_core_domain(struct iommu_group *group)
2089 struct iommu_group *group = dev->iommu_group;
2123 struct iommu_group *group = dev->iommu_group;
2142 struct iommu_group *group = dev->iommu_group;
2157 return dev->iommu_group->default_domain;
2161 struct iommu_group *group)
2188 int iommu_attach_group(struct iommu_domain *domain, struct iommu_group *group)
2211 int iommu_group_replace_domain(struct iommu_group *group,
2226 static int __iommu_device_set_domain(struct iommu_group *group,
2285 static int __iommu_group_set_domain_internal(struct iommu_group *group,
2351 void iommu_detach_group(struct iommu_domain *domain, struct iommu_group *group)
2926 static int iommu_setup_default_domain(struct iommu_group *group,
3023 static ssize_t iommu_group_store_type(struct iommu_group *group,
3098 struct iommu_group *group = dev->iommu_group;
3131 struct iommu_group *group = dev->iommu_group;
3143 static int __iommu_group_alloc_blocking_domain(struct iommu_group *group)
3165 static int __iommu_take_dma_ownership(struct iommu_group *group, void *owner)
3191 * ownership in iommu_group level. New invocations on this interface should be
3194 int iommu_group_claim_dma_owner(struct iommu_group *group, void *owner)
3227 struct iommu_group *group = dev->iommu_group;
3253 static void __iommu_release_dma_ownership(struct iommu_group *group)
3270 void iommu_group_release_dma_owner(struct iommu_group *group)
3287 struct iommu_group *group = dev->iommu_group;
3305 bool iommu_group_dma_owner_claimed(struct iommu_group *group)
3318 struct iommu_group *group, ioasid_t pasid)
3332 static void __iommu_remove_group_pasid(struct iommu_group *group,
3356 struct iommu_group *group = dev->iommu_group;
3409 struct iommu_group *group = dev->iommu_group;
3437 struct iommu_group *group = dev->iommu_group;