| /Linux-v6.1/include/linux/ |
| D | iommu.h | 36 struct iommu_group; 238 struct iommu_group *(*device_group)(struct device *dev); 423 extern struct iommu_group *iommu_group_get_by_id(int id); 459 extern int iommu_get_group_resv_regions(struct iommu_group *group, 463 struct iommu_group *group); 465 struct iommu_group *group); 466 extern struct iommu_group *iommu_group_alloc(void); 467 extern void *iommu_group_get_iommudata(struct iommu_group *group); 468 extern void iommu_group_set_iommudata(struct iommu_group *group, 471 extern int iommu_group_set_name(struct iommu_group *group, const char *name); [all …]
|
| D | vfio.h | 202 struct iommu_group *vfio_file_iommu_group(struct file *file); 239 long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group, unsigned int cmd, 250 static inline long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group, in vfio_spapr_iommu_eeh_ioctl()
|
| D | host1x.h | 26 struct iommu_group; 95 struct iommu_group *group;
|
| D | device.h | 45 struct iommu_group; 633 struct iommu_group *iommu_group; member 695 return (dev->iommu_group != NULL); in device_iommu_mapped()
|
| /Linux-v6.1/drivers/iommu/ |
| D | iommu.c | 41 struct iommu_group { struct 66 ssize_t (*show)(struct iommu_group *group, char *buf); argument 67 ssize_t (*store)(struct iommu_group *group, 84 static int iommu_alloc_default_domain(struct iommu_group *group, 91 struct iommu_group *group); 92 static int __iommu_group_set_domain(struct iommu_group *group, 94 static int iommu_create_device_direct_mappings(struct iommu_group *group, 96 static struct iommu_group *iommu_group_get_for_dev(struct device *dev); 97 static ssize_t iommu_group_store_type(struct iommu_group *group, 107 container_of(_kobj, struct iommu_group, kobj) [all …]
|
| D | fsl_pamu_domain.c | 337 static struct iommu_group *get_device_iommu_group(struct device *dev) in get_device_iommu_group() 339 struct iommu_group *group; in get_device_iommu_group() 360 static struct iommu_group *get_shared_pci_device_group(struct pci_dev *pdev) in get_shared_pci_device_group() 363 struct iommu_group *group; in get_shared_pci_device_group() 385 static struct iommu_group *get_pci_device_group(struct pci_dev *pdev) in get_pci_device_group() 389 struct iommu_group *group = NULL; in get_pci_device_group() 401 if (pci_ctl->parent->iommu_group) in get_pci_device_group() 414 if (pci_ctl->parent->iommu_group) { in get_pci_device_group() 428 static struct iommu_group *fsl_pamu_device_group(struct device *dev) in fsl_pamu_device_group() 430 struct iommu_group *group = ERR_PTR(-ENODEV); in fsl_pamu_device_group()
|
| D | apple-dart.c | 122 struct iommu_group *sid2group[DART_MAX_STREAMS]; 673 static struct iommu_group *apple_dart_device_group(struct device *dev) in apple_dart_device_group() 679 struct iommu_group *group = NULL; in apple_dart_device_group() 680 struct iommu_group *res = ERR_PTR(-EINVAL); in apple_dart_device_group() 686 struct iommu_group *stream_group = in apple_dart_device_group()
|
| D | omap-iommu.h | 83 struct iommu_group *group;
|
| D | sprd-iommu.c | 71 struct iommu_group *group; 386 static struct iommu_group *sprd_iommu_device_group(struct device *dev) in sprd_iommu_device_group()
|
| D | ipmmu-vmsa.c | 67 struct iommu_group *group; 855 static struct iommu_group *ipmmu_find_group(struct device *dev) in ipmmu_find_group() 858 struct iommu_group *group; in ipmmu_find_group()
|
| D | tegra-smmu.c | 26 struct iommu_group *group; 890 static struct iommu_group *tegra_smmu_device_group(struct device *dev) in tegra_smmu_device_group() 897 struct iommu_group *grp; in tegra_smmu_device_group()
|
| D | sun50i-iommu.c | 107 struct iommu_group *group; 741 static struct iommu_group *sun50i_iommu_device_group(struct device *dev) in sun50i_iommu_device_group()
|
| /Linux-v6.1/drivers/vfio/ |
| D | vfio_main.c | 145 __vfio_group_get_from_iommu(struct iommu_group *iommu_group) in __vfio_group_get_from_iommu() argument 154 if (group->iommu_group == iommu_group) { in __vfio_group_get_from_iommu() 163 vfio_group_get_from_iommu(struct iommu_group *iommu_group) in vfio_group_get_from_iommu() argument 168 group = __vfio_group_get_from_iommu(iommu_group); in vfio_group_get_from_iommu() 179 WARN_ON(group->iommu_group); in vfio_group_release() 184 static struct vfio_group *vfio_group_alloc(struct iommu_group *iommu_group, in vfio_group_alloc() argument 211 group->iommu_group = iommu_group; in vfio_group_alloc() 213 iommu_group_ref_get(iommu_group); in vfio_group_alloc() 220 static struct vfio_group *vfio_create_group(struct iommu_group *iommu_group, in vfio_create_group() argument 227 group = vfio_group_alloc(iommu_group, type); in vfio_create_group() [all …]
|
| D | vfio.h | 13 struct iommu_group; 52 struct iommu_group *iommu_group; member 81 struct iommu_group *group, 84 struct iommu_group *group); 86 struct iommu_group *group, 99 struct iommu_group *group);
|
| D | container.c | 63 struct iommu_group *iommu_group, enum vfio_group_type type) in vfio_noiommu_attach_group() argument 69 struct iommu_group *iommu_group) in vfio_noiommu_detach_group() argument 249 ret = driver->ops->attach_group(data, group->iommu_group, in __vfio_container_attach_groups() 260 driver->ops->detach_group(data, group->iommu_group); in __vfio_container_attach_groups() 448 ret = iommu_group_claim_dma_owner(group->iommu_group, group); in vfio_container_attach_group() 456 group->iommu_group, in vfio_container_attach_group() 461 group->iommu_group); in vfio_container_attach_group() 492 group->iommu_group); in vfio_group_detach_container() 495 iommu_group_release_dma_owner(group->iommu_group); in vfio_group_detach_container() 574 group->iommu_group, iova, in vfio_pin_pages()
|
| D | vfio_iommu_type1.c | 114 struct iommu_group *iommu_group; member 161 struct iommu_group *iommu_group); 842 struct iommu_group *iommu_group, in vfio_iommu_type1_pin_pages() argument 943 group = vfio_iommu_find_iommu_group(iommu, iommu_group); in vfio_iommu_type1_pin_pages() 1883 struct iommu_group *iommu_group) in find_iommu_group() argument 1888 if (g->iommu_group == iommu_group) in find_iommu_group() 1897 struct iommu_group *iommu_group) in vfio_iommu_find_iommu_group() argument 1903 group = find_iommu_group(domain, iommu_group); in vfio_iommu_find_iommu_group() 1909 if (group->iommu_group == iommu_group) in vfio_iommu_find_iommu_group() 2178 struct iommu_group *iommu_group, enum vfio_group_type type) in vfio_iommu_type1_attach_group() argument [all …]
|
| D | vfio_iommu_spapr_tce.c | 34 struct iommu_group *iommu_group); 45 struct iommu_group *grp; 1241 struct iommu_group *iommu_group, enum vfio_group_type type) in tce_iommu_attach_group() argument 1255 table_group = iommu_group_get_iommudata(iommu_group); in tce_iommu_attach_group() 1275 if (tcegrp->grp == iommu_group) { in tce_iommu_attach_group() 1277 iommu_group_id(iommu_group)); in tce_iommu_attach_group() 1285 iommu_group_id(iommu_group), in tce_iommu_attach_group() 1316 tcegrp->grp = iommu_group; in tce_iommu_attach_group() 1331 struct iommu_group *iommu_group) in tce_iommu_detach_group() argument 1341 if (tcegrp->grp == iommu_group) { in tce_iommu_detach_group() [all …]
|
| D | vfio_spapr_eeh.c | 31 long vfio_spapr_iommu_eeh_ioctl(struct iommu_group *group, in vfio_spapr_iommu_eeh_ioctl()
|
| /Linux-v6.1/virt/kvm/ |
| D | vfio.c | 28 struct iommu_group *iommu_group; member 84 static struct iommu_group *kvm_vfio_file_iommu_group(struct file *file) in kvm_vfio_file_iommu_group() 86 struct iommu_group *(*fn)(struct file *file); in kvm_vfio_file_iommu_group() 87 struct iommu_group *ret; in kvm_vfio_file_iommu_group() 103 if (WARN_ON_ONCE(!kvg->iommu_group)) in kvm_spapr_tce_release_vfio_group() 106 kvm_spapr_tce_release_iommu_group(kvm, kvg->iommu_group); in kvm_spapr_tce_release_vfio_group() 107 iommu_group_put(kvg->iommu_group); in kvm_spapr_tce_release_vfio_group() 108 kvg->iommu_group = NULL; in kvm_spapr_tce_release_vfio_group() 261 if (!kvg->iommu_group) { in kvm_vfio_group_set_spapr_tce() 262 kvg->iommu_group = kvm_vfio_file_iommu_group(kvg->file); in kvm_vfio_group_set_spapr_tce() [all …]
|
| /Linux-v6.1/drivers/media/platform/nvidia/tegra-vde/ |
| D | vde.h | 46 struct iommu_group; 115 struct iommu_group *group;
|
| /Linux-v6.1/drivers/vfio/pci/ |
| D | vfio_pci_core.c | 776 struct iommu_group *iommu_group; in vfio_pci_fill_devs() local 781 iommu_group = iommu_group_get(&pdev->dev); in vfio_pci_fill_devs() 782 if (!iommu_group) in vfio_pci_fill_devs() 785 fill->devices[fill->cur].group_id = iommu_group_id(iommu_group); in vfio_pci_fill_devs() 790 iommu_group_put(iommu_group); in vfio_pci_fill_devs()
|
| /Linux-v6.1/arch/powerpc/include/asm/ |
| D | iommu.h | 197 struct iommu_group *group;
|
| /Linux-v6.1/arch/powerpc/kvm/ |
| D | book3s_64_vio.c | 81 struct iommu_group *grp) in kvm_spapr_tce_release_iommu_group() 109 struct iommu_group *grp) in kvm_spapr_tce_attach_iommu_group()
|
| /Linux-v6.1/drivers/gpu/host1x/ |
| D | dev.h | 135 struct iommu_group *group;
|
| /Linux-v6.1/drivers/iommu/amd/ |
| D | iommu_v2.c | 114 struct iommu_group *group; in free_device_state() 733 struct iommu_group *group; in amd_iommu_init_device()
|