Lines Matching refs: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;
621 static void __iommu_group_free_device(struct iommu_group *group,
627 sysfs_remove_link(&dev->kobj, "iommu_group");
644 /* Remove the iommu_group from the struct device. */
647 struct iommu_group *group = dev->iommu_group;
660 dev->iommu_group = NULL;
674 struct iommu_group *group = dev->iommu_group;
723 struct iommu_group *group = to_iommu_group(kobj);
736 struct iommu_group *group = to_iommu_group(kobj);
749 static int iommu_group_create_file(struct iommu_group *group,
755 static void iommu_group_remove_file(struct iommu_group *group,
761 static ssize_t iommu_group_show_name(struct iommu_group *group, char *buf)
842 int iommu_get_group_resv_regions(struct iommu_group *group,
871 static ssize_t iommu_group_show_resv_regions(struct iommu_group *group,
893 static ssize_t iommu_group_show_type(struct iommu_group *group,
933 struct iommu_group *group = to_iommu_group(kobj);
966 struct iommu_group *iommu_group_alloc(void)
968 struct iommu_group *group;
1035 void *iommu_group_get_iommudata(struct iommu_group *group)
1051 void iommu_group_set_iommudata(struct iommu_group *group, void *iommu_data,
1067 int iommu_group_set_name(struct iommu_group *group, const char *name)
1161 static struct group_device *iommu_group_alloc_device(struct iommu_group *group,
1173 ret = sysfs_create_link(&dev->kobj, &group->kobj, "iommu_group");
1209 sysfs_remove_link(&dev->kobj, "iommu_group");
1224 int iommu_group_add_device(struct iommu_group *group, struct device *dev)
1233 dev->iommu_group = group;
1251 struct iommu_group *group = dev->iommu_group;
1274 struct iommu_group *group = dev->iommu_group;
1281 static struct device *iommu_group_first_dev(struct iommu_group *group)
1298 int iommu_group_for_each_dev(struct iommu_group *group, void *data,
1324 struct iommu_group *iommu_group_get(struct device *dev)
1326 struct iommu_group *group = dev->iommu_group;
1342 struct iommu_group *iommu_group_ref_get(struct iommu_group *group)
1356 void iommu_group_put(struct iommu_group *group)
1369 int iommu_group_id(struct iommu_group *group)
1375 static struct iommu_group *get_pci_alias_group(struct pci_dev *pdev,
1394 static struct iommu_group *get_pci_function_alias_group(struct pci_dev *pdev,
1398 struct iommu_group *group;
1428 static struct iommu_group *get_pci_alias_group(struct pci_dev *pdev,
1432 struct iommu_group *group;
1466 struct iommu_group *group;
1487 struct iommu_group *generic_device_group(struct device *dev)
1498 struct iommu_group *generic_single_device_group(struct device *dev)
1503 struct iommu_group *group;
1518 struct iommu_group *pci_device_group(struct device *dev)
1523 struct iommu_group *group = NULL;
1583 struct iommu_group *fsl_mc_device_group(struct device *dev)
1586 struct iommu_group *group;
1596 __iommu_group_alloc_default_domain(struct iommu_group *group, int req_type)
1608 iommu_group_alloc_default_domain(struct iommu_group *group, int req_type)
1646 struct iommu_domain *iommu_group_default_domain(struct iommu_group *group)
1687 static int iommu_get_def_domain_type(struct iommu_group *group,
1729 static int iommu_get_default_domain_type(struct iommu_group *group,
1806 struct iommu_group *group, *next;
1907 bool iommu_group_has_isolated_msi(struct iommu_group *group)
1996 __iommu_group_domain_alloc(struct iommu_group *group, unsigned int type)
2049 static void __iommu_group_set_core_domain(struct iommu_group *group)
2092 struct iommu_group *group = dev->iommu_group;
2126 struct iommu_group *group = dev->iommu_group;
2145 struct iommu_group *group = dev->iommu_group;
2160 return dev->iommu_group->default_domain;
2164 struct iommu_group *group)
2191 int iommu_attach_group(struct iommu_domain *domain, struct iommu_group *group)
2214 int iommu_group_replace_domain(struct iommu_group *group,
2229 static int __iommu_device_set_domain(struct iommu_group *group,
2288 static int __iommu_group_set_domain_internal(struct iommu_group *group,
2354 void iommu_detach_group(struct iommu_domain *domain, struct iommu_group *group)
2929 static int iommu_setup_default_domain(struct iommu_group *group,
3026 static ssize_t iommu_group_store_type(struct iommu_group *group,
3092 struct iommu_group *group = dev->iommu_group;
3125 struct iommu_group *group = dev->iommu_group;
3137 static int __iommu_group_alloc_blocking_domain(struct iommu_group *group)
3159 static int __iommu_take_dma_ownership(struct iommu_group *group, void *owner)
3185 * ownership in iommu_group level. New invocations on this interface should be
3188 int iommu_group_claim_dma_owner(struct iommu_group *group, void *owner)
3221 struct iommu_group *group = dev->iommu_group;
3247 static void __iommu_release_dma_ownership(struct iommu_group *group)
3264 void iommu_group_release_dma_owner(struct iommu_group *group)
3281 struct iommu_group *group = dev->iommu_group;
3299 bool iommu_group_dma_owner_claimed(struct iommu_group *group)
3312 struct iommu_group *group, ioasid_t pasid)
3337 static void __iommu_remove_group_pasid(struct iommu_group *group,
3362 struct iommu_group *group = dev->iommu_group;
3413 struct iommu_group *group = dev->iommu_group;
3441 struct iommu_group *group = dev->iommu_group;