Home
last modified time | relevance | path

Searched refs:iommu_group (Results 1 – 25 of 47) sorted by relevance

12

/linux-6.12.1/drivers/vfio/
Dgroup.c123 if (!group->iommu_group) { in vfio_group_ioctl_set_container()
368 if (!group->iommu_group) { in vfio_group_ioctl_get_status()
383 else if (!iommu_group_dma_owner_claimed(group->iommu_group)) in vfio_group_ioctl_get_status()
516 vfio_group_find_from_iommu(struct iommu_group *iommu_group) in vfio_group_find_from_iommu() argument
527 if (group->iommu_group == iommu_group) in vfio_group_find_from_iommu()
539 WARN_ON(group->iommu_group); in vfio_group_release()
545 static struct vfio_group *vfio_group_alloc(struct iommu_group *iommu_group, in vfio_group_alloc() argument
573 group->iommu_group = iommu_group; in vfio_group_alloc()
575 iommu_group_ref_get(iommu_group); in vfio_group_alloc()
582 static struct vfio_group *vfio_create_group(struct iommu_group *iommu_group, in vfio_create_group() argument
[all …]
Dcontainer.c56 struct iommu_group *iommu_group, enum vfio_group_type type) in vfio_noiommu_attach_group() argument
62 struct iommu_group *iommu_group) in vfio_noiommu_detach_group() argument
243 ret = driver->ops->attach_group(data, group->iommu_group, in __vfio_container_attach_groups()
254 driver->ops->detach_group(data, group->iommu_group); in __vfio_container_attach_groups()
437 ret = iommu_group_claim_dma_owner(group->iommu_group, group); in vfio_container_attach_group()
445 group->iommu_group, in vfio_container_attach_group()
450 group->iommu_group); in vfio_container_attach_group()
481 group->iommu_group); in vfio_group_detach_container()
484 iommu_group_release_dma_owner(group->iommu_group); in vfio_group_detach_container()
536 struct iommu_group *iommu_group = device->group->iommu_group; in vfio_device_container_pin_pages() local
[all …]
Dvfio.h16 struct iommu_group;
81 struct iommu_group *iommu_group; member
210 struct iommu_group *group,
213 struct iommu_group *group);
215 struct iommu_group *group,
228 struct iommu_group *group);
Dvfio_iommu_type1.c113 struct iommu_group *iommu_group; member
158 struct iommu_group *iommu_group);
781 struct iommu_group *iommu_group, in vfio_iommu_type1_pin_pages() argument
877 group = vfio_iommu_find_iommu_group(iommu, iommu_group); in vfio_iommu_type1_pin_pages()
1850 struct iommu_group *iommu_group) in find_iommu_group() argument
1855 if (g->iommu_group == iommu_group) in find_iommu_group()
1864 struct iommu_group *iommu_group) in vfio_iommu_find_iommu_group() argument
1870 group = find_iommu_group(domain, iommu_group); in vfio_iommu_find_iommu_group()
1876 if (group->iommu_group == iommu_group) in vfio_iommu_find_iommu_group()
2139 struct iommu_group *iommu_group, enum vfio_group_type type) in vfio_iommu_type1_attach_group() argument
[all …]
Dvfio_iommu_spapr_tce.c35 struct iommu_group *iommu_group);
46 struct iommu_group *grp;
777 static long vfio_spapr_ioctl_eeh_pe_op(struct iommu_group *group, in vfio_spapr_ioctl_eeh_pe_op()
1237 struct iommu_group *iommu_group, enum vfio_group_type type) in tce_iommu_attach_group() argument
1251 table_group = iommu_group_get_iommudata(iommu_group); in tce_iommu_attach_group()
1276 if (tcegrp->grp == iommu_group) { in tce_iommu_attach_group()
1278 iommu_group_id(iommu_group)); in tce_iommu_attach_group()
1286 iommu_group_id(iommu_group), in tce_iommu_attach_group()
1304 tcegrp->grp = iommu_group; in tce_iommu_attach_group()
1318 struct iommu_group *iommu_group) in tce_iommu_detach_group() argument
[all …]
Diommufd.c87 struct iommu_group *group; in vfio_iommufd_get_dev_id()
/linux-6.12.1/drivers/iommu/
Diommu.c47 struct iommu_group { struct
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, in __iommu_group_set_domain()
119 static void __iommu_group_set_domain_nofail(struct iommu_group *group, in __iommu_group_set_domain_nofail()
126 static int iommu_setup_default_domain(struct iommu_group *group,
[all …]
Diommu-priv.h27 int iommu_group_replace_domain(struct iommu_group *group,
38 struct iommu_attach_handle *iommu_attach_handle_get(struct iommu_group *group,
42 struct iommu_group *group,
45 struct iommu_group *group);
46 int iommu_replace_group_handle(struct iommu_group *group,
Dio-pgfault.c125 attach_handle = iommu_attach_handle_get(dev->iommu_group, in find_fault_handler()
139 dev->iommu_group, IOMMU_NO_PASID, in find_fault_handler()
145 attach_handle = iommu_attach_handle_get(dev->iommu_group, in find_fault_handler()
Diommu-sva.c73 struct iommu_group *group = dev->iommu_group; in iommu_sva_bind_device()
Dfsl_pamu_domain.c383 static struct iommu_group *fsl_pamu_device_group(struct device *dev) in fsl_pamu_device_group()
385 struct iommu_group *group; in fsl_pamu_device_group()
Dapple-dart.c221 struct iommu_group *sid2group[DART_MAX_STREAMS];
867 static struct iommu_group *apple_dart_device_group(struct device *dev) in apple_dart_device_group()
873 struct iommu_group *group = NULL; in apple_dart_device_group()
874 struct iommu_group *res = ERR_PTR(-EINVAL); in apple_dart_device_group()
880 struct iommu_group *stream_group = in apple_dart_device_group()
/linux-6.12.1/include/linux/
Diommu.h35 struct iommu_group;
575 struct iommu_group *(*device_group)(struct device *dev);
687 struct iommu_group *singleton_group;
790 extern bool iommu_group_has_isolated_msi(struct iommu_group *group);
822 extern int iommu_get_group_resv_regions(struct iommu_group *group,
826 struct iommu_group *group);
828 struct iommu_group *group);
829 extern struct iommu_group *iommu_group_alloc(void);
830 extern void *iommu_group_get_iommudata(struct iommu_group *group);
831 extern void iommu_group_set_iommudata(struct iommu_group *group,
[all …]
Diommufd.h15 struct iommu_group;
61 bool iommufd_ctx_has_group(struct iommufd_ctx *ictx, struct iommu_group *group);
Ddevice.h45 struct iommu_group;
804 struct iommu_group *iommu_group; member
869 return (dev->iommu_group != NULL); in device_iommu_mapped()
Dhost1x.h27 struct iommu_group;
96 struct iommu_group *group;
/linux-6.12.1/virt/kvm/
Dvfio.c28 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(!kvf->iommu_group)) in kvm_spapr_tce_release_vfio_group()
106 kvm_spapr_tce_release_iommu_group(kvm, kvf->iommu_group); in kvm_spapr_tce_release_vfio_group()
107 iommu_group_put(kvf->iommu_group); in kvm_spapr_tce_release_vfio_group()
108 kvf->iommu_group = NULL; in kvm_spapr_tce_release_vfio_group()
254 if (!kvf->iommu_group) { in kvm_vfio_file_set_spapr_tce()
255 kvf->iommu_group = kvm_vfio_file_iommu_group(kvf->file); in kvm_vfio_file_set_spapr_tce()
[all …]
/linux-6.12.1/drivers/media/platform/nvidia/tegra-vde/
Dvde.h46 struct iommu_group;
114 struct iommu_group *group;
/linux-6.12.1/arch/powerpc/platforms/pseries/
Dpseries.h127 struct iommu_group *pSeries_pci_device_group(struct pci_controller *hose,
/linux-6.12.1/arch/powerpc/kernel/
Diommu.c1021 struct iommu_group *grp; in iommu_register_group()
1135 iommu_group_id(dev->iommu_group)); in iommu_add_device()
1162 struct iommu_group *grp; in spapr_tce_platform_iommu_attach_dev()
1193 struct iommu_group *grp = iommu_group_get(dev); in spapr_tce_blocked_iommu_attach_dev()
1247 static struct iommu_group *spapr_tce_iommu_device_group(struct device *dev) in spapr_tce_iommu_device_group()
/linux-6.12.1/drivers/iommu/iommufd/
Diommufd_private.h18 struct iommu_group;
402 struct iommu_group *group;
Ddevice.c40 struct iommu_group *group) in iommufd_group_try_get()
66 struct iommu_group *group; in iommufd_get_group()
247 bool iommufd_ctx_has_group(struct iommufd_ctx *ictx, struct iommu_group *group) in iommufd_ctx_has_group()
/linux-6.12.1/Documentation/networking/device_drivers/ethernet/amd/
Dpds_vfio_pci.rst50 After performing the steps above, a file in /dev/vfio/<iommu_group>
/linux-6.12.1/arch/powerpc/include/asm/
Dpci-bridge.h49 struct iommu_group *(*device_group)(struct pci_controller *hose,
/linux-6.12.1/drivers/vfio/pci/
Dvfio_pci_core.c824 struct iommu_group *iommu_group; in vfio_pci_fill_devs() local
826 iommu_group = iommu_group_get(&pdev->dev); in vfio_pci_fill_devs()
827 if (!iommu_group) in vfio_pci_fill_devs()
830 info->group_id = iommu_group_id(iommu_group); in vfio_pci_fill_devs()
831 iommu_group_put(iommu_group); in vfio_pci_fill_devs()

12