/linux-master/drivers/vfio/ |
H A D | vfio_iommu_spapr_tce.c | 242 struct iommu_table_group *table_group; local 282 table_group = iommu_group_get_iommudata(tcegrp->grp); 283 if (!table_group) 286 if (!table_group->tce32_size) 293 locked = table_group->tce32_size >> PAGE_SHIFT; 608 struct iommu_table_group *table_group, 617 table_size = table_group->ops->get_table_size(page_shift, window_size, 626 ret = table_group->ops->create_table(table_group, num, 649 struct iommu_table_group *table_group; local 607 tce_iommu_create_table(struct tce_container *container, struct iommu_table_group *table_group, int num, __u32 page_shift, __u64 window_size, __u32 levels, struct iommu_table **ptbl) argument 712 struct iommu_table_group *table_group = NULL; local 753 struct iommu_table_group *table_group; local 860 struct iommu_table_group *table_group; local 1190 tce_iommu_release_ownership(struct tce_container *container, struct iommu_table_group *table_group) argument 1205 tce_iommu_take_ownership(struct tce_container *container, struct iommu_table_group *table_group) argument 1236 struct iommu_table_group *table_group; local 1316 struct iommu_table_group *table_group; local [all...] |
/linux-master/arch/powerpc/include/asm/ |
H A D | iommu.h | 169 long (*create_table)(struct iommu_table_group *table_group, 175 long (*set_window)(struct iommu_table_group *table_group, 178 long (*unset_window)(struct iommu_table_group *table_group, 181 long (*take_ownership)(struct iommu_table_group *table_group); 183 void (*release_ownership)(struct iommu_table_group *table_group); 189 struct iommu_table_group *table_group; member in struct:iommu_table_group_link 207 extern void iommu_register_group(struct iommu_table_group *table_group, 209 extern int iommu_add_device(struct iommu_table_group *table_group, 223 static inline void iommu_register_group(struct iommu_table_group *table_group, argument 229 static inline int iommu_add_device(struct iommu_table_group *table_group, argument [all...] |
H A D | pci-bridge.h | 213 struct iommu_table_group *table_group; /* for phb's or bridges */ member in struct:pci_dn
|
/linux-master/arch/powerpc/platforms/pseries/ |
H A D | iommu.c | 72 struct iommu_table_group *table_group; local 74 table_group = kzalloc_node(sizeof(*table_group), GFP_KERNEL, node); 75 if (!table_group) 79 table_group->ops = &spapr_tce_table_group_ops; 80 table_group->pgsizes = SZ_4K; 83 table_group->tables[0] = iommu_pseries_alloc_table(node); 84 if (table_group->tables[0]) 85 return table_group; 87 kfree(table_group); 91 iommu_pseries_free_group(struct iommu_table_group *table_group, const char *node_name) argument [all...] |
/linux-master/arch/powerpc/platforms/powernv/ |
H A D | pci-ioda-tce.c | 371 struct iommu_table_group *table_group) 377 if (!tbl || !table_group) 385 if (tgl->table_group == table_group) { 400 if (table_group->tables[i] == tbl) { 402 table_group->tables[i] = NULL; 412 struct iommu_table_group *table_group) 416 if (WARN_ON(!tbl || !table_group)) 424 tgl->table_group = table_group; 370 pnv_pci_unlink_table_and_group(struct iommu_table *tbl, struct iommu_table_group *table_group) argument 410 pnv_pci_link_table_and_group(int node, int num, struct iommu_table *tbl, struct iommu_table_group *table_group) argument [all...] |
H A D | pci-ioda.c | 1042 set_iommu_table_base(&pdev->dev, pe->table_group.tables[0]); 1045 if (pe->table_group.group) 1046 iommu_add_device(&pe->table_group, &pdev->dev); 1227 struct pnv_ioda_pe *pe = container_of(tgl->table_group, 1228 struct pnv_ioda_pe, table_group); 1277 static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group, argument 1280 struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe, 1281 table_group); 1310 tbl, &pe->table_group); 1344 static long pnv_pci_ioda2_create_table(struct iommu_table_group *table_group, argument 1456 pnv_pci_ioda2_unset_window(struct iommu_table_group *table_group, int num) argument 1513 pnv_pci_ioda2_create_table_userspace( struct iommu_table_group *table_group, int num, __u32 page_shift, __u64 window_size, __u32 levels, struct iommu_table **ptbl) argument 1540 pnv_ioda2_take_ownership(struct iommu_table_group *table_group) argument 1565 pnv_ioda2_release_ownership(struct iommu_table_group *table_group) argument [all...] |
H A D | pci.h | 79 struct iommu_table_group table_group; member in struct:pnv_ioda_pe 321 struct iommu_table_group *table_group); 323 struct iommu_table_group *table_group);
|
/linux-master/arch/powerpc/kernel/ |
H A D | iommu.c | 995 struct iommu_table_group *table_group = iommu_data; local 997 table_group->group = NULL; 1000 void iommu_register_group(struct iommu_table_group *table_group, argument 1012 table_group->group = grp; 1013 iommu_group_set_iommudata(grp, table_group, group_release); 1157 int iommu_add_device(struct iommu_table_group *table_group, struct device *dev) argument 1175 __func__, dev_name(dev), iommu_group_id(table_group->group)); 1192 * one if it matches table_group->tce32_start/tce32_size/page_shift. 1205 static long spapr_tce_create_table(struct iommu_table_group *table_group, int num, argument 1209 struct iommu_table *tbl = table_group 1223 spapr_tce_set_window(struct iommu_table_group *table_group, int num, struct iommu_table *tbl) argument 1229 spapr_tce_unset_window(struct iommu_table_group *table_group, int num) argument 1234 spapr_tce_take_ownership(struct iommu_table_group *table_group) argument 1255 spapr_tce_release_ownership(struct iommu_table_group *table_group) argument 1288 struct iommu_table_group *table_group; local 1321 struct iommu_table_group *table_group; local [all...] |
/linux-master/arch/powerpc/kvm/ |
H A D | book3s_64_vio.c | 87 struct iommu_table_group *table_group = NULL; local 92 table_group = iommu_group_get_iommudata(grp); 93 if (WARN_ON(!table_group)) 98 if (table_group->tables[i] != stit->tbl) 115 struct iommu_table_group *table_group; local 138 table_group = iommu_group_get_iommudata(grp); 139 if (WARN_ON(!table_group)) 143 struct iommu_table *tbltmp = table_group->tables[i];
|