arch/powerpc/include/asm/eeh.h
306
struct eeh_pe *eeh_iommu_group_to_pe(struct iommu_group *group);
arch/powerpc/include/asm/iommu.h
205
struct iommu_group *group;
arch/powerpc/include/asm/kvm_ppc.h
177
struct iommu_group *grp);
arch/powerpc/include/asm/kvm_ppc.h
179
struct iommu_group *grp);
arch/powerpc/include/asm/pci-bridge.h
49
struct iommu_group *(*device_group)(struct pci_controller *hose,
arch/powerpc/kernel/eeh.c
1277
struct eeh_pe *eeh_iommu_group_to_pe(struct iommu_group *group)
arch/powerpc/kernel/iommu.c
1022
struct iommu_group *grp;
arch/powerpc/kernel/iommu.c
1136
iommu_group_id(dev->iommu_group));
arch/powerpc/kernel/iommu.c
1164
struct iommu_group *grp;
arch/powerpc/kernel/iommu.c
1195
struct iommu_group *grp = iommu_group_get(dev);
arch/powerpc/kernel/iommu.c
1249
static struct iommu_group *spapr_tce_iommu_device_group(struct device *dev)
arch/powerpc/kvm/book3s_64_vio.c
110
struct iommu_group *grp)
arch/powerpc/kvm/book3s_64_vio.c
82
struct iommu_group *grp)
arch/powerpc/platforms/powernv/pci-ioda.c
2453
static struct iommu_group *pnv_pci_device_group(struct pci_controller *hose,
arch/powerpc/platforms/pseries/iommu.c
1945
static struct pci_dev *iommu_group_get_first_pci_dev(struct iommu_group *group)
arch/powerpc/platforms/pseries/iommu.c
2553
struct iommu_group *pSeries_pci_device_group(struct pci_controller *hose,
arch/powerpc/platforms/pseries/iommu.c
2557
struct iommu_group *grp;
arch/powerpc/platforms/pseries/pseries.h
127
struct iommu_group *pSeries_pci_device_group(struct pci_controller *hose,
drivers/accel/rocket/rocket_core.c
101
iommu_group_put(core->iommu_group);
drivers/accel/rocket/rocket_core.c
102
core->iommu_group = NULL;
drivers/accel/rocket/rocket_core.c
59
core->iommu_group = iommu_group_get(dev);
drivers/accel/rocket/rocket_core.c
63
iommu_group_put(core->iommu_group);
drivers/accel/rocket/rocket_core.c
64
core->iommu_group = NULL;
drivers/accel/rocket/rocket_core.h
42
struct iommu_group *iommu_group;
drivers/accel/rocket/rocket_job.c
317
ret = iommu_attach_group(job->domain->domain, core->iommu_group);
drivers/accel/rocket/rocket_job.c
367
iommu_detach_group(NULL, core->iommu_group);
drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
105
(adev->dev->iommu_group == bo_adev->dev->iommu_group);
drivers/gpu/drm/tegra/drm.c
947
struct iommu_group *group = NULL;
drivers/gpu/host1x/dev.h
144
struct iommu_group *group;
drivers/iommu/amd/amd_iommu_types.h
791
struct iommu_group *group;
drivers/iommu/amd/iommu.c
2518
static struct iommu_group *amd_iommu_device_group(struct device *dev)
drivers/iommu/amd/iommu.c
505
static struct iommu_group *acpihid_device_group(struct device *dev)
drivers/iommu/apple-dart.c
226
struct iommu_group *sid2group[DART_MAX_STREAMS];
drivers/iommu/apple-dart.c
891
static struct iommu_group *apple_dart_device_group(struct device *dev)
drivers/iommu/apple-dart.c
897
struct iommu_group *group = NULL;
drivers/iommu/apple-dart.c
898
struct iommu_group *res = ERR_PTR(-EINVAL);
drivers/iommu/apple-dart.c
904
struct iommu_group *stream_group =
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
3679
static struct iommu_group *arm_smmu_device_group(struct device *dev)
drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c
3681
struct iommu_group *group;
drivers/iommu/arm/arm-smmu/arm-smmu.c
1534
static struct iommu_group *arm_smmu_device_group(struct device *dev)
drivers/iommu/arm/arm-smmu/arm-smmu.c
1539
struct iommu_group *group = NULL;
drivers/iommu/arm/arm-smmu/arm-smmu.h
275
struct iommu_group *group;
drivers/iommu/fsl_pamu_domain.c
383
static struct iommu_group *fsl_pamu_device_group(struct device *dev)
drivers/iommu/fsl_pamu_domain.c
385
struct iommu_group *group;
drivers/iommu/intel/iommu.c
3438
static struct iommu_group *intel_iommu_device_group(struct device *dev)
drivers/iommu/io-pgfault.c
125
attach_handle = iommu_attach_handle_get(dev->iommu_group,
drivers/iommu/io-pgfault.c
139
dev->iommu_group, IOMMU_NO_PASID,
drivers/iommu/io-pgfault.c
145
attach_handle = iommu_attach_handle_get(dev->iommu_group,
drivers/iommu/iommu-priv.h
43
struct iommu_attach_handle *iommu_attach_handle_get(struct iommu_group *group,
drivers/iommu/iommu-priv.h
47
struct iommu_group *group,
drivers/iommu/iommu-priv.h
50
struct iommu_group *group);
drivers/iommu/iommu-priv.h
51
int iommu_replace_group_handle(struct iommu_group *group,
drivers/iommu/iommu-sva.c
74
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
1018
struct iommu_group *group = to_iommu_group(kobj);
drivers/iommu/iommu.c
1051
struct iommu_group *iommu_group_alloc(void)
drivers/iommu/iommu.c
1053
struct iommu_group *group;
drivers/iommu/iommu.c
110
struct iommu_group *group);
drivers/iommu/iommu.c
1120
void *iommu_group_get_iommudata(struct iommu_group *group)
drivers/iommu/iommu.c
1136
void iommu_group_set_iommudata(struct iommu_group *group, void *iommu_data,
drivers/iommu/iommu.c
1152
int iommu_group_set_name(struct iommu_group *group, const char *name)
drivers/iommu/iommu.c
119
static int __iommu_device_set_domain(struct iommu_group *group,
drivers/iommu/iommu.c
124
static int __iommu_group_set_domain_internal(struct iommu_group *group,
drivers/iommu/iommu.c
1245
static struct group_device *iommu_group_alloc_device(struct iommu_group *group,
drivers/iommu/iommu.c
127
static int __iommu_group_set_domain(struct iommu_group *group,
drivers/iommu/iommu.c
1308
int iommu_group_add_device(struct iommu_group *group, struct device *dev)
drivers/iommu/iommu.c
1317
dev->iommu_group = group;
drivers/iommu/iommu.c
132
static void __iommu_group_set_domain_nofail(struct iommu_group *group,
drivers/iommu/iommu.c
1335
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
1358
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
1365
static struct device *iommu_group_first_dev(struct iommu_group *group)
drivers/iommu/iommu.c
1382
int iommu_group_for_each_dev(struct iommu_group *group, void *data,
drivers/iommu/iommu.c
139
static int iommu_setup_default_domain(struct iommu_group *group,
drivers/iommu/iommu.c
1408
struct iommu_group *iommu_group_get(struct device *dev)
drivers/iommu/iommu.c
1410
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
1426
struct iommu_group *iommu_group_ref_get(struct iommu_group *group)
drivers/iommu/iommu.c
143
static ssize_t iommu_group_store_type(struct iommu_group *group,
drivers/iommu/iommu.c
1440
void iommu_group_put(struct iommu_group *group)
drivers/iommu/iommu.c
145
static struct group_device *iommu_group_alloc_device(struct iommu_group *group,
drivers/iommu/iommu.c
1453
int iommu_group_id(struct iommu_group *group)
drivers/iommu/iommu.c
1459
static struct iommu_group *get_pci_alias_group(struct pci_dev *pdev,
drivers/iommu/iommu.c
147
static void __iommu_group_free_device(struct iommu_group *group,
drivers/iommu/iommu.c
1478
static struct iommu_group *get_pci_function_alias_group(struct pci_dev *pdev,
drivers/iommu/iommu.c
1482
struct iommu_group *group;
drivers/iommu/iommu.c
1512
static struct iommu_group *get_pci_alias_group(struct pci_dev *pdev,
drivers/iommu/iommu.c
1516
struct iommu_group *group;
drivers/iommu/iommu.c
1550
struct iommu_group *group;
drivers/iommu/iommu.c
1571
struct iommu_group *generic_device_group(struct device *dev)
drivers/iommu/iommu.c
1582
struct iommu_group *generic_single_device_group(struct device *dev)
drivers/iommu/iommu.c
1587
struct iommu_group *group;
drivers/iommu/iommu.c
159
container_of(_kobj, struct iommu_group, kobj)
drivers/iommu/iommu.c
1602
struct iommu_group *pci_device_group(struct device *dev)
drivers/iommu/iommu.c
1607
struct iommu_group *group = NULL;
drivers/iommu/iommu.c
1667
struct iommu_group *fsl_mc_device_group(struct device *dev)
drivers/iommu/iommu.c
1670
struct iommu_group *group;
drivers/iommu/iommu.c
1700
__iommu_group_alloc_default_domain(struct iommu_group *group, int req_type)
drivers/iommu/iommu.c
1737
iommu_group_alloc_default_domain(struct iommu_group *group, int req_type)
drivers/iommu/iommu.c
1775
struct iommu_domain *iommu_group_default_domain(struct iommu_group *group)
drivers/iommu/iommu.c
1816
static int iommu_get_def_domain_type(struct iommu_group *group,
drivers/iommu/iommu.c
1858
static int iommu_get_default_domain_type(struct iommu_group *group,
drivers/iommu/iommu.c
1935
struct iommu_group *group, *next;
drivers/iommu/iommu.c
2011
bool iommu_group_has_isolated_msi(struct iommu_group *group)
drivers/iommu/iommu.c
2130
static void __iommu_group_set_core_domain(struct iommu_group *group)
drivers/iommu/iommu.c
2173
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
2206
guard(mutex)(&dev->iommu_group->mutex);
drivers/iommu/iommu.c
2215
if (dev->iommu_group->resetting_domain)
drivers/iommu/iommu.c
2223
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
2251
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
2271
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
2296
return dev->iommu_group->default_domain;
drivers/iommu/iommu.c
2324
struct iommu_group *group)
drivers/iommu/iommu.c
2352
int iommu_attach_group(struct iommu_domain *domain, struct iommu_group *group)
drivers/iommu/iommu.c
2364
static int __iommu_device_set_domain(struct iommu_group *group,
drivers/iommu/iommu.c
2425
static int __iommu_group_set_domain_internal(struct iommu_group *group,
drivers/iommu/iommu.c
2499
void iommu_detach_group(struct iommu_domain *domain, struct iommu_group *group)
drivers/iommu/iommu.c
3075
static int iommu_setup_default_domain(struct iommu_group *group,
drivers/iommu/iommu.c
3180
static ssize_t iommu_group_store_type(struct iommu_group *group,
drivers/iommu/iommu.c
3246
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3284
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3296
static int __iommu_group_alloc_blocking_domain(struct iommu_group *group)
drivers/iommu/iommu.c
3321
static int __iommu_take_dma_ownership(struct iommu_group *group, void *owner)
drivers/iommu/iommu.c
3350
int iommu_group_claim_dma_owner(struct iommu_group *group, void *owner)
drivers/iommu/iommu.c
3383
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3409
static void __iommu_release_dma_ownership(struct iommu_group *group)
drivers/iommu/iommu.c
3426
void iommu_group_release_dma_owner(struct iommu_group *group)
drivers/iommu/iommu.c
3443
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3461
bool iommu_group_dma_owner_claimed(struct iommu_group *group)
drivers/iommu/iommu.c
3484
struct iommu_group *group, ioasid_t pasid,
drivers/iommu/iommu.c
3522
static void __iommu_remove_group_pasid(struct iommu_group *group,
drivers/iommu/iommu.c
3551
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3648
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3740
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
3791
iommu_attach_handle_get(struct iommu_group *group, ioasid_t pasid, unsigned int type)
drivers/iommu/iommu.c
3827
struct iommu_group *group,
drivers/iommu/iommu.c
3873
struct iommu_group *group)
drivers/iommu/iommu.c
3898
int iommu_replace_group_handle(struct iommu_group *group,
drivers/iommu/iommu.c
3958
struct iommu_group *group = pdev->dev.iommu_group;
drivers/iommu/iommu.c
4015
struct iommu_group *group = pdev->dev.iommu_group;
drivers/iommu/iommu.c
4068
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
451
struct iommu_group *group;
drivers/iommu/iommu.c
468
if (!dev->iommu || dev->iommu_group)
drivers/iommu/iommu.c
507
dev->iommu_group = group;
drivers/iommu/iommu.c
529
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
589
dev->iommu_group = NULL;
drivers/iommu/iommu.c
608
struct iommu_group *group;
drivers/iommu/iommu.c
622
if (dev->iommu_group)
drivers/iommu/iommu.c
635
group = dev->iommu_group;
drivers/iommu/iommu.c
706
static void __iommu_group_free_device(struct iommu_group *group,
drivers/iommu/iommu.c
732
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
745
dev->iommu_group = NULL;
drivers/iommu/iommu.c
759
struct iommu_group *group = dev->iommu_group;
drivers/iommu/iommu.c
808
struct iommu_group *group = to_iommu_group(kobj);
drivers/iommu/iommu.c
821
struct iommu_group *group = to_iommu_group(kobj);
drivers/iommu/iommu.c
834
static int iommu_group_create_file(struct iommu_group *group,
drivers/iommu/iommu.c
840
static void iommu_group_remove_file(struct iommu_group *group,
drivers/iommu/iommu.c
846
static ssize_t iommu_group_show_name(struct iommu_group *group, char *buf)
drivers/iommu/iommu.c
87
ssize_t (*show)(struct iommu_group *group, char *buf);
drivers/iommu/iommu.c
88
ssize_t (*store)(struct iommu_group *group,
drivers/iommu/iommu.c
927
int iommu_get_group_resv_regions(struct iommu_group *group,
drivers/iommu/iommu.c
956
static ssize_t iommu_group_show_resv_regions(struct iommu_group *group,
drivers/iommu/iommu.c
978
static ssize_t iommu_group_show_type(struct iommu_group *group,
drivers/iommu/iommufd/device.c
303
bool iommufd_ctx_has_group(struct iommufd_ctx *ictx, struct iommu_group *group)
drivers/iommu/iommufd/device.c
46
struct iommu_group *group)
drivers/iommu/iommufd/device.c
72
struct iommu_group *group;
drivers/iommu/iommufd/driver.c
267
iommu_attach_handle_get(dev->iommu_group, IOMMU_NO_PASID, 0);
drivers/iommu/iommufd/iommufd_private.h
19
struct iommu_group;
drivers/iommu/iommufd/iommufd_private.h
473
struct iommu_group *group;
drivers/iommu/iommufd/selftest.c
1856
handle = iommu_attach_handle_get(mdev->dev.iommu_group,
drivers/iommu/mtk_iommu.c
261
struct iommu_group *m4u_group[MTK_IOMMU_GROUP_MAX];
drivers/iommu/mtk_iommu.c
974
static struct iommu_group *mtk_iommu_device_group(struct device *dev)
drivers/iommu/mtk_iommu.c
978
struct iommu_group *group;
drivers/iommu/riscv/iommu.c
1472
static struct iommu_group *riscv_iommu_device_group(struct device *dev)
drivers/iommu/tegra-smmu.c
28
struct iommu_group *group;
drivers/iommu/tegra-smmu.c
915
static struct iommu_group *tegra_smmu_device_group(struct device *dev)
drivers/iommu/tegra-smmu.c
922
struct iommu_group *grp;
drivers/iommu/virtio-iommu.c
1065
static struct iommu_group *viommu_device_group(struct device *dev)
drivers/media/platform/nvidia/tegra-vde/vde.h
114
struct iommu_group *group;
drivers/media/platform/nvidia/tegra-vde/vde.h
46
struct iommu_group;
drivers/vfio/container.c
243
ret = driver->ops->attach_group(data, group->iommu_group,
drivers/vfio/container.c
254
driver->ops->detach_group(data, group->iommu_group);
drivers/vfio/container.c
437
ret = iommu_group_claim_dma_owner(group->iommu_group, group);
drivers/vfio/container.c
445
group->iommu_group,
drivers/vfio/container.c
450
group->iommu_group);
drivers/vfio/container.c
481
group->iommu_group);
drivers/vfio/container.c
484
iommu_group_release_dma_owner(group->iommu_group);
drivers/vfio/container.c
536
struct iommu_group *iommu_group = device->group->iommu_group;
drivers/vfio/container.c
544
return driver->ops->pin_pages(container->iommu_data, iommu_group, iova,
drivers/vfio/container.c
56
struct iommu_group *iommu_group, enum vfio_group_type type)
drivers/vfio/container.c
62
struct iommu_group *iommu_group)
drivers/vfio/group.c
122
if (!group->iommu_group) {
drivers/vfio/group.c
335
if (!group->iommu_group) {
drivers/vfio/group.c
350
else if (!iommu_group_dma_owner_claimed(group->iommu_group))
drivers/vfio/group.c
483
vfio_group_find_from_iommu(struct iommu_group *iommu_group)
drivers/vfio/group.c
494
if (group->iommu_group == iommu_group)
drivers/vfio/group.c
506
WARN_ON(group->iommu_group);
drivers/vfio/group.c
512
static struct vfio_group *vfio_group_alloc(struct iommu_group *iommu_group,
drivers/vfio/group.c
540
group->iommu_group = iommu_group;
drivers/vfio/group.c
542
iommu_group_ref_get(iommu_group);
drivers/vfio/group.c
549
static struct vfio_group *vfio_create_group(struct iommu_group *iommu_group,
drivers/vfio/group.c
558
group = vfio_group_alloc(iommu_group, type);
drivers/vfio/group.c
564
iommu_group_id(iommu_group));
drivers/vfio/group.c
588
struct iommu_group *iommu_group;
drivers/vfio/group.c
592
iommu_group = iommu_group_alloc();
drivers/vfio/group.c
593
if (IS_ERR(iommu_group))
drivers/vfio/group.c
594
return ERR_CAST(iommu_group);
drivers/vfio/group.c
596
ret = iommu_group_set_name(iommu_group, "vfio-noiommu");
drivers/vfio/group.c
599
ret = iommu_group_add_device(iommu_group, dev);
drivers/vfio/group.c
604
group = vfio_create_group(iommu_group, type);
drivers/vfio/group.c
610
iommu_group_put(iommu_group);
drivers/vfio/group.c
616
iommu_group_put(iommu_group);
drivers/vfio/group.c
637
struct iommu_group *iommu_group;
drivers/vfio/group.c
640
iommu_group = iommu_group_get(dev);
drivers/vfio/group.c
641
if (!iommu_group && vfio_noiommu) {
drivers/vfio/group.c
656
if (!iommu_group)
drivers/vfio/group.c
660
group = vfio_group_find_from_iommu(iommu_group);
drivers/vfio/group.c
667
group = vfio_create_group(iommu_group, VFIO_IOMMU);
drivers/vfio/group.c
672
iommu_group_put(iommu_group);
drivers/vfio/group.c
697
struct iommu_group *iommu_group;
drivers/vfio/group.c
732
iommu_group = group->iommu_group;
drivers/vfio/group.c
733
group->iommu_group = NULL;
drivers/vfio/group.c
737
iommu_group_put(iommu_group);
drivers/vfio/group.c
807
struct iommu_group *vfio_file_iommu_group(struct file *file)
drivers/vfio/group.c
810
struct iommu_group *iommu_group = NULL;
drivers/vfio/group.c
819
if (group->iommu_group) {
drivers/vfio/group.c
820
iommu_group = group->iommu_group;
drivers/vfio/group.c
821
iommu_group_ref_get(iommu_group);
drivers/vfio/group.c
824
return iommu_group;
drivers/vfio/iommufd.c
91
struct iommu_group *group;
drivers/vfio/pci/vfio_pci_core.c
852
struct iommu_group *iommu_group;
drivers/vfio/pci/vfio_pci_core.c
854
iommu_group = iommu_group_get(&pdev->dev);
drivers/vfio/pci/vfio_pci_core.c
855
if (!iommu_group)
drivers/vfio/pci/vfio_pci_core.c
858
info->group_id = iommu_group_id(iommu_group);
drivers/vfio/pci/vfio_pci_core.c
859
iommu_group_put(iommu_group);
drivers/vfio/vfio.h
16
struct iommu_group;
drivers/vfio/vfio.h
210
struct iommu_group *group,
drivers/vfio/vfio.h
213
struct iommu_group *group);
drivers/vfio/vfio.h
215
struct iommu_group *group,
drivers/vfio/vfio.h
228
struct iommu_group *group);
drivers/vfio/vfio.h
81
struct iommu_group *iommu_group;
drivers/vfio/vfio_iommu_spapr_tce.c
1237
struct iommu_group *iommu_group, enum vfio_group_type type)
drivers/vfio/vfio_iommu_spapr_tce.c
1251
table_group = iommu_group_get_iommudata(iommu_group);
drivers/vfio/vfio_iommu_spapr_tce.c
1276
if (tcegrp->grp == iommu_group) {
drivers/vfio/vfio_iommu_spapr_tce.c
1278
iommu_group_id(iommu_group));
drivers/vfio/vfio_iommu_spapr_tce.c
1286
iommu_group_id(iommu_group),
drivers/vfio/vfio_iommu_spapr_tce.c
1304
tcegrp->grp = iommu_group;
drivers/vfio/vfio_iommu_spapr_tce.c
1318
struct iommu_group *iommu_group)
drivers/vfio/vfio_iommu_spapr_tce.c
1328
if (tcegrp->grp == iommu_group) {
drivers/vfio/vfio_iommu_spapr_tce.c
1336
iommu_group_id(iommu_group));
drivers/vfio/vfio_iommu_spapr_tce.c
1343
table_group = iommu_group_get_iommudata(iommu_group);
drivers/vfio/vfio_iommu_spapr_tce.c
35
struct iommu_group *iommu_group);
drivers/vfio/vfio_iommu_spapr_tce.c
46
struct iommu_group *grp;
drivers/vfio/vfio_iommu_spapr_tce.c
777
static long vfio_spapr_ioctl_eeh_pe_op(struct iommu_group *group,
drivers/vfio/vfio_iommu_type1.c
114
struct iommu_group *iommu_group;
drivers/vfio/vfio_iommu_type1.c
159
struct iommu_group *iommu_group);
drivers/vfio/vfio_iommu_type1.c
1949
struct iommu_group *iommu_group)
drivers/vfio/vfio_iommu_type1.c
1954
if (g->iommu_group == iommu_group)
drivers/vfio/vfio_iommu_type1.c
1963
struct iommu_group *iommu_group)
drivers/vfio/vfio_iommu_type1.c
1969
group = find_iommu_group(domain, iommu_group);
drivers/vfio/vfio_iommu_type1.c
1975
if (group->iommu_group == iommu_group)
drivers/vfio/vfio_iommu_type1.c
2238
struct iommu_group *iommu_group, enum vfio_group_type type)
drivers/vfio/vfio_iommu_type1.c
2258
if (vfio_iommu_find_iommu_group(iommu, iommu_group))
drivers/vfio/vfio_iommu_type1.c
2265
group->iommu_group = iommu_group;
drivers/vfio/vfio_iommu_type1.c
2290
iommu_group_for_each_dev(iommu_group, &domain->domain,
drivers/vfio/vfio_iommu_type1.c
2297
ret = iommu_attach_group(domain->domain, group->iommu_group);
drivers/vfio/vfio_iommu_type1.c
2309
ret = iommu_get_group_resv_regions(iommu_group, &group_resv_regions);
drivers/vfio/vfio_iommu_type1.c
2342
!iommu_group_has_isolated_msi(iommu_group)) {
drivers/vfio/vfio_iommu_type1.c
2370
iommu_detach_group(domain->domain, group->iommu_group);
drivers/vfio/vfio_iommu_type1.c
2372
group->iommu_group)) {
drivers/vfio/vfio_iommu_type1.c
2380
group->iommu_group);
drivers/vfio/vfio_iommu_type1.c
2415
iommu_detach_group(domain->domain, group->iommu_group);
drivers/vfio/vfio_iommu_type1.c
2513
ret = iommu_get_group_resv_regions(g->iommu_group,
drivers/vfio/vfio_iommu_type1.c
2540
struct iommu_group *iommu_group)
drivers/vfio/vfio_iommu_type1.c
2550
if (group->iommu_group != iommu_group)
drivers/vfio/vfio_iommu_type1.c
2572
group = find_iommu_group(domain, iommu_group);
drivers/vfio/vfio_iommu_type1.c
2576
iommu_detach_group(domain->domain, group->iommu_group);
drivers/vfio/vfio_iommu_type1.c
2663
iommu_detach_group(domain->domain, group->iommu_group);
drivers/vfio/vfio_iommu_type1.c
3232
struct iommu_group *iommu_group)
drivers/vfio/vfio_iommu_type1.c
3238
if (!iommu || !iommu_group)
drivers/vfio/vfio_iommu_type1.c
3243
if (find_iommu_group(d, iommu_group)) {
drivers/vfio/vfio_iommu_type1.c
895
struct iommu_group *iommu_group,
drivers/vfio/vfio_iommu_type1.c
997
group = vfio_iommu_find_iommu_group(iommu, iommu_group);
include/linux/device.h
45
struct iommu_group;
include/linux/device.h
652
struct iommu_group *iommu_group;
include/linux/device.h
765
return (dev->iommu_group != NULL);
include/linux/host1x.h
101
struct iommu_group *group;
include/linux/host1x.h
32
struct iommu_group;
include/linux/iommu.h
1089
extern struct iommu_group *pci_device_group(struct device *dev);
include/linux/iommu.h
1091
extern struct iommu_group *generic_device_group(struct device *dev);
include/linux/iommu.h
1093
struct iommu_group *fsl_mc_device_group(struct device *dev);
include/linux/iommu.h
1094
extern struct iommu_group *generic_single_device_group(struct device *dev);
include/linux/iommu.h
1178
int iommu_group_claim_dma_owner(struct iommu_group *group, void *owner);
include/linux/iommu.h
1179
void iommu_group_release_dma_owner(struct iommu_group *group);
include/linux/iommu.h
1180
bool iommu_group_dma_owner_claimed(struct iommu_group *group);
include/linux/iommu.h
1298
static inline int iommu_get_group_resv_regions(struct iommu_group *group,
include/linux/iommu.h
1318
struct iommu_group *group)
include/linux/iommu.h
1324
struct iommu_group *group)
include/linux/iommu.h
1328
static inline struct iommu_group *iommu_group_alloc(void)
include/linux/iommu.h
1333
static inline void *iommu_group_get_iommudata(struct iommu_group *group)
include/linux/iommu.h
1338
static inline void iommu_group_set_iommudata(struct iommu_group *group,
include/linux/iommu.h
1344
static inline int iommu_group_set_name(struct iommu_group *group,
include/linux/iommu.h
1350
static inline int iommu_group_add_device(struct iommu_group *group,
include/linux/iommu.h
1360
static inline int iommu_group_for_each_dev(struct iommu_group *group,
include/linux/iommu.h
1367
static inline struct iommu_group *iommu_group_get(struct device *dev)
include/linux/iommu.h
1372
static inline void iommu_group_put(struct iommu_group *group)
include/linux/iommu.h
1376
static inline int iommu_group_id(struct iommu_group *group)
include/linux/iommu.h
1478
iommu_group_claim_dma_owner(struct iommu_group *group, void *owner)
include/linux/iommu.h
1483
static inline void iommu_group_release_dma_owner(struct iommu_group *group)
include/linux/iommu.h
1487
static inline bool iommu_group_dma_owner_claimed(struct iommu_group *group)
include/linux/iommu.h
36
struct iommu_group;
include/linux/iommu.h
686
struct iommu_group *(*device_group)(struct device *dev);
include/linux/iommu.h
799
struct iommu_group *singleton_group;
include/linux/iommu.h
901
extern bool iommu_group_has_isolated_msi(struct iommu_group *group);
include/linux/iommu.h
941
extern int iommu_get_group_resv_regions(struct iommu_group *group,
include/linux/iommu.h
945
struct iommu_group *group);
include/linux/iommu.h
947
struct iommu_group *group);
include/linux/iommu.h
948
extern struct iommu_group *iommu_group_alloc(void);
include/linux/iommu.h
949
extern void *iommu_group_get_iommudata(struct iommu_group *group);
include/linux/iommu.h
950
extern void iommu_group_set_iommudata(struct iommu_group *group,
include/linux/iommu.h
953
extern int iommu_group_set_name(struct iommu_group *group, const char *name);
include/linux/iommu.h
954
extern int iommu_group_add_device(struct iommu_group *group,
include/linux/iommu.h
957
extern int iommu_group_for_each_dev(struct iommu_group *group, void *data,
include/linux/iommu.h
959
extern struct iommu_group *iommu_group_get(struct device *dev);
include/linux/iommu.h
960
extern struct iommu_group *iommu_group_ref_get(struct iommu_group *group);
include/linux/iommu.h
961
extern void iommu_group_put(struct iommu_group *group);
include/linux/iommu.h
963
extern int iommu_group_id(struct iommu_group *group);
include/linux/iommu.h
964
extern struct iommu_domain *iommu_group_default_domain(struct iommu_group *);
include/linux/iommufd.h
19
struct iommu_group;
include/linux/iommufd.h
204
bool iommufd_ctx_has_group(struct iommufd_ctx *ictx, struct iommu_group *group);
include/linux/vfio.h
324
struct iommu_group *vfio_file_iommu_group(struct file *file);
virt/kvm/vfio.c
103
if (WARN_ON_ONCE(!kvf->iommu_group))
virt/kvm/vfio.c
106
kvm_spapr_tce_release_iommu_group(kvm, kvf->iommu_group);
virt/kvm/vfio.c
107
iommu_group_put(kvf->iommu_group);
virt/kvm/vfio.c
108
kvf->iommu_group = NULL;
virt/kvm/vfio.c
247
if (!kvf->iommu_group) {
virt/kvm/vfio.c
248
kvf->iommu_group = kvm_vfio_file_iommu_group(kvf->file);
virt/kvm/vfio.c
249
if (WARN_ON_ONCE(!kvf->iommu_group)) {
virt/kvm/vfio.c
256
kvf->iommu_group);
virt/kvm/vfio.c
28
struct iommu_group *iommu_group;
virt/kvm/vfio.c
84
static struct iommu_group *kvm_vfio_file_iommu_group(struct file *file)
virt/kvm/vfio.c
86
struct iommu_group *(*fn)(struct file *file);
virt/kvm/vfio.c
87
struct iommu_group *ret;