Home
last modified time | relevance | path

Searched refs:table_group (Results 1 – 7 of 7) sorted by relevance

/linux/drivers/vfio/
H A Dvfio_iommu_spapr_tce.c242 struct iommu_table_group *table_group; in tce_iommu_enable() local
282 table_group = iommu_group_get_iommudata(tcegrp->grp); in tce_iommu_enable()
283 if (!table_group) in tce_iommu_enable()
286 if (!table_group->tce32_size) in tce_iommu_enable()
293 locked = table_group->tce32_size >> PAGE_SHIFT; in tce_iommu_enable()
607 struct iommu_table_group *table_group, in tce_iommu_create_table() argument
616 table_size = table_group->ops->get_table_size(page_shift, window_size, in tce_iommu_create_table()
625 ret = table_group->ops->create_table(table_group, num, in tce_iommu_create_table()
648 struct iommu_table_group *table_group; in tce_iommu_create_window() local
659 table_group = iommu_group_get_iommudata(tcegrp->grp); in tce_iommu_create_window()
[all …]
/linux/arch/powerpc/include/asm/
H A Diommu.h174 long (*create_table)(struct iommu_table_group *table_group,
180 long (*set_window)(struct iommu_table_group *table_group,
183 long (*unset_window)(struct iommu_table_group *table_group,
186 long (*take_ownership)(struct iommu_table_group *table_group, struct device *dev);
188 void (*release_ownership)(struct iommu_table_group *table_group, struct device *dev);
194 struct iommu_table_group *table_group; member
212 extern void iommu_register_group(struct iommu_table_group *table_group,
214 extern int iommu_add_device(struct iommu_table_group *table_group,
228 static inline void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument
234 static inline int iommu_add_device(struct iommu_table_group *table_group, in iommu_add_device() argument
H A Dpci-bridge.h211 struct iommu_table_group *table_group; /* for phb's or bridges */ member
/linux/arch/powerpc/platforms/powernv/
H A Dpci-ioda-tce.c371 struct iommu_table_group *table_group) in pnv_pci_unlink_table_and_group() argument
377 if (!tbl || !table_group) in pnv_pci_unlink_table_and_group()
385 if (tgl->table_group == table_group) { in pnv_pci_unlink_table_and_group()
400 if (table_group->tables[i] == tbl) { in pnv_pci_unlink_table_and_group()
402 table_group->tables[i] = NULL; in pnv_pci_unlink_table_and_group()
412 struct iommu_table_group *table_group) in pnv_pci_link_table_and_group() argument
416 if (WARN_ON(!tbl || !table_group)) in pnv_pci_link_table_and_group()
424 tgl->table_group = table_group; in pnv_pci_link_table_and_group()
427 table_group->tables[num] = iommu_tce_table_get(tbl); in pnv_pci_link_table_and_group()
H A Dpci-ioda.c1040 set_iommu_table_base(&pdev->dev, pe->table_group.tables[0]); in pnv_pci_ioda_dma_dev_setup()
1043 if (pe->table_group.group) in pnv_pci_ioda_dma_dev_setup()
1044 iommu_add_device(&pe->table_group, &pdev->dev); in pnv_pci_ioda_dma_dev_setup()
1225 struct pnv_ioda_pe *pe = container_of(tgl->table_group, in pnv_pci_ioda2_tce_invalidate()
1226 struct pnv_ioda_pe, table_group); in pnv_pci_ioda2_tce_invalidate()
1275 static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group, in pnv_pci_ioda2_set_window() argument
1278 struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe, in pnv_pci_ioda2_set_window()
1279 table_group); in pnv_pci_ioda2_set_window()
1308 tbl, &pe->table_group); in pnv_pci_ioda2_set_window()
1342 static long pnv_pci_ioda2_create_table(struct iommu_table_group *table_group, in pnv_pci_ioda2_create_table() argument
[all …]
/linux/arch/powerpc/kernel/
H A Diommu.c1014 struct iommu_table_group *table_group = iommu_data; in group_release() local
1016 table_group->group = NULL; in group_release()
1019 void iommu_register_group(struct iommu_table_group *table_group, in iommu_register_group() argument
1031 table_group->group = grp; in iommu_register_group()
1032 iommu_group_set_iommudata(grp, table_group, group_release); in iommu_register_group()
1123 int iommu_add_device(struct iommu_table_group *table_group, struct device *dev) in iommu_add_device() argument
1141 __func__, dev_name(dev), iommu_group_id(table_group->group)); in iommu_add_device()
1163 struct iommu_table_group *table_group; in spapr_tce_platform_iommu_attach_dev() local
1171 table_group = iommu_group_get_iommudata(grp); in spapr_tce_platform_iommu_attach_dev()
1176 table_group->ops->release_ownership(table_group, dev); in spapr_tce_platform_iommu_attach_dev()
[all …]
/linux/arch/powerpc/kvm/
H A Dbook3s_64_vio.c87 struct iommu_table_group *table_group = NULL; in kvm_spapr_tce_release_iommu_group() local
92 table_group = iommu_group_get_iommudata(grp); in kvm_spapr_tce_release_iommu_group()
93 if (WARN_ON(!table_group)) in kvm_spapr_tce_release_iommu_group()
98 if (table_group->tables[i] != stit->tbl) in kvm_spapr_tce_release_iommu_group()
115 struct iommu_table_group *table_group; in kvm_spapr_tce_attach_iommu_group() local
135 table_group = iommu_group_get_iommudata(grp); in kvm_spapr_tce_attach_iommu_group()
136 if (WARN_ON(!table_group)) in kvm_spapr_tce_attach_iommu_group()
140 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group()