table_group       167 arch/powerpc/include/asm/iommu.h 	long (*create_table)(struct iommu_table_group *table_group,
table_group       173 arch/powerpc/include/asm/iommu.h 	long (*set_window)(struct iommu_table_group *table_group,
table_group       176 arch/powerpc/include/asm/iommu.h 	long (*unset_window)(struct iommu_table_group *table_group,
table_group       179 arch/powerpc/include/asm/iommu.h 	void (*take_ownership)(struct iommu_table_group *table_group);
table_group       181 arch/powerpc/include/asm/iommu.h 	void (*release_ownership)(struct iommu_table_group *table_group);
table_group       187 arch/powerpc/include/asm/iommu.h 	struct iommu_table_group *table_group;
table_group       205 arch/powerpc/include/asm/iommu.h extern void iommu_register_group(struct iommu_table_group *table_group,
table_group       207 arch/powerpc/include/asm/iommu.h extern int iommu_add_device(struct iommu_table_group *table_group,
table_group       220 arch/powerpc/include/asm/iommu.h static inline void iommu_register_group(struct iommu_table_group *table_group,
table_group       226 arch/powerpc/include/asm/iommu.h static inline int iommu_add_device(struct iommu_table_group *table_group,
table_group       196 arch/powerpc/include/asm/pci-bridge.h 	struct	iommu_table_group *table_group;	/* for phb's or bridges */
table_group       934 arch/powerpc/kernel/iommu.c 	struct iommu_table_group *table_group = iommu_data;
table_group       936 arch/powerpc/kernel/iommu.c 	table_group->group = NULL;
table_group       939 arch/powerpc/kernel/iommu.c void iommu_register_group(struct iommu_table_group *table_group,
table_group       951 arch/powerpc/kernel/iommu.c 	table_group->group = grp;
table_group       952 arch/powerpc/kernel/iommu.c 	iommu_group_set_iommudata(grp, table_group, group_release);
table_group      1101 arch/powerpc/kernel/iommu.c int iommu_add_device(struct iommu_table_group *table_group, struct device *dev)
table_group      1119 arch/powerpc/kernel/iommu.c 		 __func__, dev_name(dev),  iommu_group_id(table_group->group));
table_group      1121 arch/powerpc/kernel/iommu.c 	return iommu_group_add_device(table_group->group, dev);
table_group        75 arch/powerpc/kvm/book3s_64_vio.c 	struct iommu_table_group *table_group = NULL;
table_group        79 arch/powerpc/kvm/book3s_64_vio.c 		table_group = iommu_group_get_iommudata(grp);
table_group        80 arch/powerpc/kvm/book3s_64_vio.c 		if (WARN_ON(!table_group))
table_group        85 arch/powerpc/kvm/book3s_64_vio.c 				if (table_group->tables[i] != stit->tbl)
table_group       100 arch/powerpc/kvm/book3s_64_vio.c 	struct iommu_table_group *table_group;
table_group       121 arch/powerpc/kvm/book3s_64_vio.c 	table_group = iommu_group_get_iommudata(grp);
table_group       122 arch/powerpc/kvm/book3s_64_vio.c 	if (WARN_ON(!table_group))
table_group       126 arch/powerpc/kvm/book3s_64_vio.c 		struct iommu_table *tbltmp = table_group->tables[i];
table_group       124 arch/powerpc/platforms/powernv/npu-dma.c static long pnv_npu_unset_window(struct iommu_table_group *table_group,
table_group       127 arch/powerpc/platforms/powernv/npu-dma.c static long pnv_npu_set_window(struct iommu_table_group *table_group, int num,
table_group       130 arch/powerpc/platforms/powernv/npu-dma.c 	struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe,
table_group       131 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       141 arch/powerpc/platforms/powernv/npu-dma.c 	if (npe->table_group.tables[num2])
table_group       142 arch/powerpc/platforms/powernv/npu-dma.c 		pnv_npu_unset_window(&npe->table_group, num2);
table_group       163 arch/powerpc/platforms/powernv/npu-dma.c 			tbl, &npe->table_group);
table_group       168 arch/powerpc/platforms/powernv/npu-dma.c static long pnv_npu_unset_window(struct iommu_table_group *table_group, int num)
table_group       170 arch/powerpc/platforms/powernv/npu-dma.c 	struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe,
table_group       171 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       175 arch/powerpc/platforms/powernv/npu-dma.c 	if (!npe->table_group.tables[num])
table_group       190 arch/powerpc/platforms/powernv/npu-dma.c 	pnv_pci_unlink_table_and_group(npe->table_group.tables[num],
table_group       191 arch/powerpc/platforms/powernv/npu-dma.c 			&npe->table_group);
table_group       197 arch/powerpc/platforms/powernv/npu-dma.c static void pnv_npu_take_ownership(struct iommu_table_group *table_group)
table_group       199 arch/powerpc/platforms/powernv/npu-dma.c 	struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe,
table_group       200 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       211 arch/powerpc/platforms/powernv/npu-dma.c 	if (npe->table_group.tables[0]) {
table_group       212 arch/powerpc/platforms/powernv/npu-dma.c 		pnv_npu_unset_window(&npe->table_group, 0);
table_group       231 arch/powerpc/platforms/powernv/npu-dma.c static void pnv_npu_release_ownership(struct iommu_table_group *table_group)
table_group       233 arch/powerpc/platforms/powernv/npu-dma.c 	struct pnv_ioda_pe *npe = container_of(table_group, struct pnv_ioda_pe,
table_group       234 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       262 arch/powerpc/platforms/powernv/npu-dma.c 	struct iommu_table_group table_group;
table_group       275 arch/powerpc/platforms/powernv/npu-dma.c 		struct iommu_table_group *table_group,
table_group       279 arch/powerpc/platforms/powernv/npu-dma.c 	struct npu_comp *npucomp = container_of(table_group, struct npu_comp,
table_group       280 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       283 arch/powerpc/platforms/powernv/npu-dma.c 			!npucomp->pe[0]->table_group.ops ||
table_group       284 arch/powerpc/platforms/powernv/npu-dma.c 			!npucomp->pe[0]->table_group.ops->create_table)
table_group       287 arch/powerpc/platforms/powernv/npu-dma.c 	return npucomp->pe[0]->table_group.ops->create_table(
table_group       288 arch/powerpc/platforms/powernv/npu-dma.c 			&npucomp->pe[0]->table_group, num, page_shift,
table_group       292 arch/powerpc/platforms/powernv/npu-dma.c static long pnv_npu_peers_set_window(struct iommu_table_group *table_group,
table_group       297 arch/powerpc/platforms/powernv/npu-dma.c 	struct npu_comp *npucomp = container_of(table_group, struct npu_comp,
table_group       298 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       303 arch/powerpc/platforms/powernv/npu-dma.c 		if (!pe->table_group.ops->set_window)
table_group       306 arch/powerpc/platforms/powernv/npu-dma.c 		ret = pe->table_group.ops->set_window(&pe->table_group,
table_group       316 arch/powerpc/platforms/powernv/npu-dma.c 			if (!pe->table_group.ops->unset_window)
table_group       319 arch/powerpc/platforms/powernv/npu-dma.c 			ret = pe->table_group.ops->unset_window(
table_group       320 arch/powerpc/platforms/powernv/npu-dma.c 					&pe->table_group, num);
table_group       325 arch/powerpc/platforms/powernv/npu-dma.c 		table_group->tables[num] = iommu_tce_table_get(tbl);
table_group       331 arch/powerpc/platforms/powernv/npu-dma.c static long pnv_npu_peers_unset_window(struct iommu_table_group *table_group,
table_group       336 arch/powerpc/platforms/powernv/npu-dma.c 	struct npu_comp *npucomp = container_of(table_group, struct npu_comp,
table_group       337 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       342 arch/powerpc/platforms/powernv/npu-dma.c 		WARN_ON(npucomp->table_group.tables[num] !=
table_group       343 arch/powerpc/platforms/powernv/npu-dma.c 				table_group->tables[num]);
table_group       344 arch/powerpc/platforms/powernv/npu-dma.c 		if (!npucomp->table_group.tables[num])
table_group       347 arch/powerpc/platforms/powernv/npu-dma.c 		if (!pe->table_group.ops->unset_window)
table_group       350 arch/powerpc/platforms/powernv/npu-dma.c 		ret = pe->table_group.ops->unset_window(&pe->table_group, num);
table_group       359 arch/powerpc/platforms/powernv/npu-dma.c 			if (!npucomp->table_group.tables[num])
table_group       362 arch/powerpc/platforms/powernv/npu-dma.c 			if (!pe->table_group.ops->set_window)
table_group       365 arch/powerpc/platforms/powernv/npu-dma.c 			ret = pe->table_group.ops->set_window(&pe->table_group,
table_group       366 arch/powerpc/platforms/powernv/npu-dma.c 					num, table_group->tables[num]);
table_group       370 arch/powerpc/platforms/powernv/npu-dma.c 	} else if (table_group->tables[num]) {
table_group       371 arch/powerpc/platforms/powernv/npu-dma.c 		iommu_tce_table_put(table_group->tables[num]);
table_group       372 arch/powerpc/platforms/powernv/npu-dma.c 		table_group->tables[num] = NULL;
table_group       378 arch/powerpc/platforms/powernv/npu-dma.c static void pnv_npu_peers_take_ownership(struct iommu_table_group *table_group)
table_group       381 arch/powerpc/platforms/powernv/npu-dma.c 	struct npu_comp *npucomp = container_of(table_group, struct npu_comp,
table_group       382 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       387 arch/powerpc/platforms/powernv/npu-dma.c 		if (!pe->table_group.ops->take_ownership)
table_group       389 arch/powerpc/platforms/powernv/npu-dma.c 		pe->table_group.ops->take_ownership(&pe->table_group);
table_group       394 arch/powerpc/platforms/powernv/npu-dma.c 		struct iommu_table_group *table_group)
table_group       397 arch/powerpc/platforms/powernv/npu-dma.c 	struct npu_comp *npucomp = container_of(table_group, struct npu_comp,
table_group       398 arch/powerpc/platforms/powernv/npu-dma.c 			table_group);
table_group       403 arch/powerpc/platforms/powernv/npu-dma.c 		if (!pe->table_group.ops->release_ownership)
table_group       405 arch/powerpc/platforms/powernv/npu-dma.c 		pe->table_group.ops->release_ownership(&pe->table_group);
table_group       430 arch/powerpc/platforms/powernv/npu-dma.c 	struct iommu_table_group *table_group;
table_group       449 arch/powerpc/platforms/powernv/npu-dma.c 		table_group = &hose->npu->npucomp.table_group;
table_group       451 arch/powerpc/platforms/powernv/npu-dma.c 		if (!table_group->group) {
table_group       452 arch/powerpc/platforms/powernv/npu-dma.c 			table_group->ops = &pnv_npu_peers_ops;
table_group       453 arch/powerpc/platforms/powernv/npu-dma.c 			iommu_register_group(table_group,
table_group       460 arch/powerpc/platforms/powernv/npu-dma.c 		table_group = &pe->npucomp->table_group;
table_group       461 arch/powerpc/platforms/powernv/npu-dma.c 		table_group->ops = &pnv_npu_peers_ops;
table_group       462 arch/powerpc/platforms/powernv/npu-dma.c 		iommu_register_group(table_group, hose->global_number,
table_group       467 arch/powerpc/platforms/powernv/npu-dma.c 	table_group->max_dynamic_windows_supported =
table_group       468 arch/powerpc/platforms/powernv/npu-dma.c 		pe->table_group.max_dynamic_windows_supported;
table_group       469 arch/powerpc/platforms/powernv/npu-dma.c 	table_group->tce32_start = pe->table_group.tce32_start;
table_group       470 arch/powerpc/platforms/powernv/npu-dma.c 	table_group->tce32_size = pe->table_group.tce32_size;
table_group       471 arch/powerpc/platforms/powernv/npu-dma.c 	table_group->max_levels = pe->table_group.max_levels;
table_group       472 arch/powerpc/platforms/powernv/npu-dma.c 	if (!table_group->pgsizes)
table_group       473 arch/powerpc/platforms/powernv/npu-dma.c 		table_group->pgsizes = pe->table_group.pgsizes;
table_group       475 arch/powerpc/platforms/powernv/npu-dma.c 	npucomp = container_of(table_group, struct npu_comp, table_group);
table_group       478 arch/powerpc/platforms/powernv/npu-dma.c 	return table_group;
table_group       483 arch/powerpc/platforms/powernv/npu-dma.c 	struct iommu_table_group *table_group;
table_group       499 arch/powerpc/platforms/powernv/npu-dma.c 	pe->table_group.ops = &pnv_pci_npu_ops;
table_group       501 arch/powerpc/platforms/powernv/npu-dma.c 	table_group = iommu_group_get_iommudata(
table_group       509 arch/powerpc/platforms/powernv/npu-dma.c 	table_group->pgsizes &= pe->table_group.pgsizes;
table_group       510 arch/powerpc/platforms/powernv/npu-dma.c 	npucomp = container_of(table_group, struct npu_comp, table_group);
table_group       519 arch/powerpc/platforms/powernv/npu-dma.c 		iommu_add_device(table_group, &npdev->dev);
table_group       522 arch/powerpc/platforms/powernv/npu-dma.c 	return table_group;
table_group       352 arch/powerpc/platforms/powernv/pci-ioda-tce.c 		struct iommu_table_group *table_group)
table_group       358 arch/powerpc/platforms/powernv/pci-ioda-tce.c 	if (!tbl || !table_group)
table_group       364 arch/powerpc/platforms/powernv/pci-ioda-tce.c 		if (tgl->table_group == table_group) {
table_group       377 arch/powerpc/platforms/powernv/pci-ioda-tce.c 		if (table_group->tables[i] == tbl) {
table_group       379 arch/powerpc/platforms/powernv/pci-ioda-tce.c 			table_group->tables[i] = NULL;
table_group       389 arch/powerpc/platforms/powernv/pci-ioda-tce.c 		struct iommu_table_group *table_group)
table_group       393 arch/powerpc/platforms/powernv/pci-ioda-tce.c 	if (WARN_ON(!tbl || !table_group))
table_group       401 arch/powerpc/platforms/powernv/pci-ioda-tce.c 	tgl->table_group = table_group;
table_group       404 arch/powerpc/platforms/powernv/pci-ioda-tce.c 	table_group->tables[num] = iommu_tce_table_get(tbl);
table_group      1439 arch/powerpc/platforms/powernv/pci-ioda.c static long pnv_pci_ioda2_unset_window(struct iommu_table_group *table_group,
table_group      1447 arch/powerpc/platforms/powernv/pci-ioda.c 	tbl = pe->table_group.tables[0];
table_group      1448 arch/powerpc/platforms/powernv/pci-ioda.c 	rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0);
table_group      1453 arch/powerpc/platforms/powernv/pci-ioda.c 	if (pe->table_group.group) {
table_group      1454 arch/powerpc/platforms/powernv/pci-ioda.c 		iommu_group_put(pe->table_group.group);
table_group      1455 arch/powerpc/platforms/powernv/pci-ioda.c 		BUG_ON(pe->table_group.group);
table_group      1538 arch/powerpc/platforms/powernv/pci-ioda.c 		struct iommu_table_group *table_group, struct pci_bus *bus);
table_group      1606 arch/powerpc/platforms/powernv/pci-ioda.c 		iommu_register_group(&pe->table_group,
table_group      1608 arch/powerpc/platforms/powernv/pci-ioda.c 		pnv_ioda_setup_bus_iommu_group(pe, &pe->table_group, NULL);
table_group      1762 arch/powerpc/platforms/powernv/pci-ioda.c 	set_iommu_table_base(&pdev->dev, pe->table_group.tables[0]);
table_group      1886 arch/powerpc/platforms/powernv/pci-ioda.c 		set_iommu_table_base(&dev->dev, pe->table_group.tables[0]);
table_group      1907 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(tgl->table_group,
table_group      1908 arch/powerpc/platforms/powernv/pci-ioda.c 			struct pnv_ioda_pe, table_group);
table_group      2051 arch/powerpc/platforms/powernv/pci-ioda.c 		struct pnv_ioda_pe *pe = container_of(tgl->table_group,
table_group      2052 arch/powerpc/platforms/powernv/pci-ioda.c 				struct pnv_ioda_pe, table_group);
table_group      2224 arch/powerpc/platforms/powernv/pci-ioda.c 	iommu_register_group(&pe->table_group, phb->hose->global_number,
table_group      2226 arch/powerpc/platforms/powernv/pci-ioda.c 	pnv_pci_link_table_and_group(phb->hose->node, 0, tbl, &pe->table_group);
table_group      2277 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.tce32_start = tbl->it_offset << tbl->it_page_shift;
table_group      2278 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.tce32_size = tbl->it_size << tbl->it_page_shift;
table_group      2290 arch/powerpc/platforms/powernv/pci-ioda.c 		pnv_pci_unlink_table_and_group(tbl, &pe->table_group);
table_group      2295 arch/powerpc/platforms/powernv/pci-ioda.c static long pnv_pci_ioda2_set_window(struct iommu_table_group *table_group,
table_group      2298 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe,
table_group      2299 arch/powerpc/platforms/powernv/pci-ioda.c 			table_group);
table_group      2328 arch/powerpc/platforms/powernv/pci-ioda.c 			tbl, &pe->table_group);
table_group      2362 arch/powerpc/platforms/powernv/pci-ioda.c static long pnv_pci_ioda2_create_table(struct iommu_table_group *table_group,
table_group      2366 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe,
table_group      2367 arch/powerpc/platforms/powernv/pci-ioda.c 			table_group);
table_group      2369 arch/powerpc/platforms/powernv/pci-ioda.c 	__u64 bus_offset = num ? pe->tce_bypass_base : table_group->tce32_start;
table_group      2434 arch/powerpc/platforms/powernv/pci-ioda.c 	rc = pnv_pci_ioda2_create_table(&pe->table_group, 0, PAGE_SHIFT,
table_group      2451 arch/powerpc/platforms/powernv/pci-ioda.c 	rc = pnv_pci_ioda2_set_window(&pe->table_group, 0, tbl);
table_group      2474 arch/powerpc/platforms/powernv/pci-ioda.c static long pnv_pci_ioda2_unset_window(struct iommu_table_group *table_group,
table_group      2477 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe,
table_group      2478 arch/powerpc/platforms/powernv/pci-ioda.c 			table_group);
table_group      2493 arch/powerpc/platforms/powernv/pci-ioda.c 	pnv_pci_unlink_table_and_group(table_group->tables[num], table_group);
table_group      2533 arch/powerpc/platforms/powernv/pci-ioda.c 		struct iommu_table_group *table_group,
table_group      2537 arch/powerpc/platforms/powernv/pci-ioda.c 	long ret = pnv_pci_ioda2_create_table(table_group,
table_group      2546 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_ioda2_take_ownership(struct iommu_table_group *table_group)
table_group      2548 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe,
table_group      2549 arch/powerpc/platforms/powernv/pci-ioda.c 						table_group);
table_group      2551 arch/powerpc/platforms/powernv/pci-ioda.c 	struct iommu_table *tbl = pe->table_group.tables[0];
table_group      2554 arch/powerpc/platforms/powernv/pci-ioda.c 	pnv_pci_ioda2_unset_window(&pe->table_group, 0);
table_group      2562 arch/powerpc/platforms/powernv/pci-ioda.c static void pnv_ioda2_release_ownership(struct iommu_table_group *table_group)
table_group      2564 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(table_group, struct pnv_ioda_pe,
table_group      2565 arch/powerpc/platforms/powernv/pci-ioda.c 						table_group);
table_group      2582 arch/powerpc/platforms/powernv/pci-ioda.c 		struct iommu_table_group *table_group,
table_group      2588 arch/powerpc/platforms/powernv/pci-ioda.c 		iommu_add_device(table_group, &dev->dev);
table_group      2592 arch/powerpc/platforms/powernv/pci-ioda.c 					table_group, dev->subordinate);
table_group      2597 arch/powerpc/platforms/powernv/pci-ioda.c 		struct iommu_table_group *table_group, struct pci_bus *bus)
table_group      2601 arch/powerpc/platforms/powernv/pci-ioda.c 		iommu_add_device(table_group, &pe->pdev->dev);
table_group      2604 arch/powerpc/platforms/powernv/pci-ioda.c 		pnv_ioda_setup_bus_iommu_group_add_devices(pe, table_group,
table_group      2638 arch/powerpc/platforms/powernv/pci-ioda.c 			struct iommu_table_group *table_group;
table_group      2640 arch/powerpc/platforms/powernv/pci-ioda.c 			table_group = pnv_try_setup_npu_table_group(pe);
table_group      2641 arch/powerpc/platforms/powernv/pci-ioda.c 			if (!table_group) {
table_group      2645 arch/powerpc/platforms/powernv/pci-ioda.c 				table_group = &pe->table_group;
table_group      2646 arch/powerpc/platforms/powernv/pci-ioda.c 				iommu_register_group(&pe->table_group,
table_group      2650 arch/powerpc/platforms/powernv/pci-ioda.c 			pnv_ioda_setup_bus_iommu_group(pe, table_group,
table_group      2674 arch/powerpc/platforms/powernv/pci-ioda.c 			pe->table_group.pgsizes = pgsizes;
table_group      2727 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.tce32_start = 0;
table_group      2728 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.tce32_size = phb->ioda.m32_pci_base;
table_group      2729 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.max_dynamic_windows_supported =
table_group      2731 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.max_levels = POWERNV_IOMMU_MAX_LEVELS;
table_group      2732 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.pgsizes = pnv_ioda_parse_tce_sizes(phb);
table_group      2734 arch/powerpc/platforms/powernv/pci-ioda.c 	pe->table_group.ops = &pnv_pci_ioda2_ops;
table_group      3418 arch/powerpc/platforms/powernv/pci-ioda.c static long pnv_pci_ioda1_unset_window(struct iommu_table_group *table_group,
table_group      3421 arch/powerpc/platforms/powernv/pci-ioda.c 	struct pnv_ioda_pe *pe = container_of(table_group,
table_group      3422 arch/powerpc/platforms/powernv/pci-ioda.c 					      struct pnv_ioda_pe, table_group);
table_group      3443 arch/powerpc/platforms/powernv/pci-ioda.c 	pnv_pci_unlink_table_and_group(table_group->tables[num], table_group);
table_group      3450 arch/powerpc/platforms/powernv/pci-ioda.c 	struct iommu_table *tbl = pe->table_group.tables[0];
table_group      3456 arch/powerpc/platforms/powernv/pci-ioda.c 	rc = pnv_pci_ioda1_unset_window(&pe->table_group, 0);
table_group      3461 arch/powerpc/platforms/powernv/pci-ioda.c 	if (pe->table_group.group) {
table_group      3462 arch/powerpc/platforms/powernv/pci-ioda.c 		iommu_group_put(pe->table_group.group);
table_group      3463 arch/powerpc/platforms/powernv/pci-ioda.c 		WARN_ON(pe->table_group.group);
table_group      3472 arch/powerpc/platforms/powernv/pci-ioda.c 	struct iommu_table *tbl = pe->table_group.tables[0];
table_group      3482 arch/powerpc/platforms/powernv/pci-ioda.c 	rc = pnv_pci_ioda2_unset_window(&pe->table_group, 0);
table_group      3488 arch/powerpc/platforms/powernv/pci-ioda.c 	if (pe->table_group.group) {
table_group      3489 arch/powerpc/platforms/powernv/pci-ioda.c 		iommu_group_put(pe->table_group.group);
table_group      3490 arch/powerpc/platforms/powernv/pci-ioda.c 		WARN_ON(pe->table_group.group);
table_group      1001 arch/powerpc/platforms/powernv/pci.c 		if (!pe->table_group.group)
table_group      1003 arch/powerpc/platforms/powernv/pci.c 		iommu_add_device(&pe->table_group, dev);
table_group        65 arch/powerpc/platforms/powernv/pci.h 	struct iommu_table_group table_group;
table_group       243 arch/powerpc/platforms/powernv/pci.h 		struct iommu_table_group *table_group);
table_group       245 arch/powerpc/platforms/powernv/pci.h 		struct iommu_table_group *table_group);
table_group        44 arch/powerpc/platforms/pseries/iommu.c 	struct iommu_table_group *table_group;
table_group        47 arch/powerpc/platforms/pseries/iommu.c 	table_group = kzalloc_node(sizeof(struct iommu_table_group), GFP_KERNEL,
table_group        49 arch/powerpc/platforms/pseries/iommu.c 	if (!table_group)
table_group        59 arch/powerpc/platforms/pseries/iommu.c 	table_group->tables[0] = tbl;
table_group        61 arch/powerpc/platforms/pseries/iommu.c 	return table_group;
table_group        64 arch/powerpc/platforms/pseries/iommu.c 	kfree(table_group);
table_group        68 arch/powerpc/platforms/pseries/iommu.c static void iommu_pseries_free_group(struct iommu_table_group *table_group,
table_group        73 arch/powerpc/platforms/pseries/iommu.c 	if (!table_group)
table_group        76 arch/powerpc/platforms/pseries/iommu.c 	tbl = table_group->tables[0];
table_group        78 arch/powerpc/platforms/pseries/iommu.c 	if (table_group->group) {
table_group        79 arch/powerpc/platforms/pseries/iommu.c 		iommu_group_put(table_group->group);
table_group        80 arch/powerpc/platforms/pseries/iommu.c 		BUG_ON(table_group->group);
table_group        85 arch/powerpc/platforms/pseries/iommu.c 	kfree(table_group);
table_group       533 arch/powerpc/platforms/pseries/iommu.c 				      struct iommu_table_group *table_group,
table_group       548 arch/powerpc/platforms/pseries/iommu.c 	table_group->tce32_start = offset;
table_group       549 arch/powerpc/platforms/pseries/iommu.c 	table_group->tce32_size = size;
table_group       622 arch/powerpc/platforms/pseries/iommu.c 	pci->table_group = iommu_pseries_alloc_group(pci->phb->node);
table_group       623 arch/powerpc/platforms/pseries/iommu.c 	tbl = pci->table_group->tables[0];
table_group       701 arch/powerpc/platforms/pseries/iommu.c 		 pdn, ppci->table_group);
table_group       703 arch/powerpc/platforms/pseries/iommu.c 	if (!ppci->table_group) {
table_group       704 arch/powerpc/platforms/pseries/iommu.c 		ppci->table_group = iommu_pseries_alloc_group(ppci->phb->node);
table_group       705 arch/powerpc/platforms/pseries/iommu.c 		tbl = ppci->table_group->tables[0];
table_group       707 arch/powerpc/platforms/pseries/iommu.c 				ppci->table_group, dma_window);
table_group       710 arch/powerpc/platforms/pseries/iommu.c 		iommu_register_group(ppci->table_group,
table_group       712 arch/powerpc/platforms/pseries/iommu.c 		pr_debug("  created table: %p\n", ppci->table_group);
table_group       734 arch/powerpc/platforms/pseries/iommu.c 		PCI_DN(dn)->table_group = iommu_pseries_alloc_group(phb->node);
table_group       735 arch/powerpc/platforms/pseries/iommu.c 		tbl = PCI_DN(dn)->table_group->tables[0];
table_group       747 arch/powerpc/platforms/pseries/iommu.c 	while (dn && PCI_DN(dn) && PCI_DN(dn)->table_group == NULL)
table_group       752 arch/powerpc/platforms/pseries/iommu.c 				PCI_DN(dn)->table_group->tables[0]);
table_group      1166 arch/powerpc/platforms/pseries/iommu.c 	for (pdn = dn; pdn && PCI_DN(pdn) && !PCI_DN(pdn)->table_group;
table_group      1182 arch/powerpc/platforms/pseries/iommu.c 	if (!pci->table_group) {
table_group      1183 arch/powerpc/platforms/pseries/iommu.c 		pci->table_group = iommu_pseries_alloc_group(pci->phb->node);
table_group      1184 arch/powerpc/platforms/pseries/iommu.c 		tbl = pci->table_group->tables[0];
table_group      1186 arch/powerpc/platforms/pseries/iommu.c 				pci->table_group, dma_window);
table_group      1189 arch/powerpc/platforms/pseries/iommu.c 		iommu_register_group(pci->table_group,
table_group      1191 arch/powerpc/platforms/pseries/iommu.c 		pr_debug("  created table: %p\n", pci->table_group);
table_group      1193 arch/powerpc/platforms/pseries/iommu.c 		pr_debug("  found DMA window, table: %p\n", pci->table_group);
table_group      1196 arch/powerpc/platforms/pseries/iommu.c 	set_iommu_table_base(&dev->dev, pci->table_group->tables[0]);
table_group      1197 arch/powerpc/platforms/pseries/iommu.c 	iommu_add_device(pci->table_group, &dev->dev);
table_group      1217 arch/powerpc/platforms/pseries/iommu.c 	for (pdn = dn; pdn && PCI_DN(pdn) && !PCI_DN(pdn)->table_group;
table_group      1291 arch/powerpc/platforms/pseries/iommu.c 		if (pci && pci->table_group)
table_group      1292 arch/powerpc/platforms/pseries/iommu.c 			iommu_pseries_free_group(pci->table_group,
table_group       240 drivers/vfio/vfio_iommu_spapr_tce.c 	struct iommu_table_group *table_group;
table_group       280 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       281 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group)
table_group       284 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group->tce32_size)
table_group       291 drivers/vfio/vfio_iommu_spapr_tce.c 	locked = table_group->tce32_size >> PAGE_SHIFT;
table_group       607 drivers/vfio/vfio_iommu_spapr_tce.c 			struct iommu_table_group *table_group,
table_group       616 drivers/vfio/vfio_iommu_spapr_tce.c 	table_size = table_group->ops->get_table_size(page_shift, window_size,
table_group       625 drivers/vfio/vfio_iommu_spapr_tce.c 	ret = table_group->ops->create_table(table_group, num,
table_group       648 drivers/vfio/vfio_iommu_spapr_tce.c 	struct iommu_table_group *table_group;
table_group       659 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       660 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group)
table_group       663 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!(table_group->pgsizes & (1ULL << page_shift)))
table_group       666 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group->ops->set_window || !table_group->ops->unset_window ||
table_group       667 drivers/vfio/vfio_iommu_spapr_tce.c 			!table_group->ops->get_table_size ||
table_group       668 drivers/vfio/vfio_iommu_spapr_tce.c 			!table_group->ops->create_table)
table_group       672 drivers/vfio/vfio_iommu_spapr_tce.c 	ret = tce_iommu_create_table(container, table_group, num,
table_group       684 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       686 drivers/vfio/vfio_iommu_spapr_tce.c 		ret = table_group->ops->set_window(table_group, num, tbl);
table_group       700 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       701 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group->ops->unset_window(table_group, num);
table_group       711 drivers/vfio/vfio_iommu_spapr_tce.c 	struct iommu_table_group *table_group = NULL;
table_group       724 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       733 drivers/vfio/vfio_iommu_spapr_tce.c 		if (!table_group->ops || !table_group->ops->unset_window)
table_group       736 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group->ops->unset_window(table_group, num);
table_group       752 drivers/vfio/vfio_iommu_spapr_tce.c 	struct iommu_table_group *table_group;
table_group       762 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       763 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group)
table_group       767 drivers/vfio/vfio_iommu_spapr_tce.c 			table_group->tce32_size, 1, &start_addr);
table_group       810 drivers/vfio/vfio_iommu_spapr_tce.c 		struct iommu_table_group *table_group;
table_group       817 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group = iommu_group_get_iommudata(tcegrp->grp);
table_group       819 drivers/vfio/vfio_iommu_spapr_tce.c 		if (!table_group)
table_group       831 drivers/vfio/vfio_iommu_spapr_tce.c 		info.dma32_window_start = table_group->tce32_start;
table_group       832 drivers/vfio/vfio_iommu_spapr_tce.c 		info.dma32_window_size = table_group->tce32_size;
table_group       836 drivers/vfio/vfio_iommu_spapr_tce.c 		if (table_group->max_dynamic_windows_supported &&
table_group       839 drivers/vfio/vfio_iommu_spapr_tce.c 			info.ddw.pgsizes = table_group->pgsizes;
table_group       841 drivers/vfio/vfio_iommu_spapr_tce.c 				table_group->max_dynamic_windows_supported;
table_group       842 drivers/vfio/vfio_iommu_spapr_tce.c 			info.ddw.levels = table_group->max_levels;
table_group      1142 drivers/vfio/vfio_iommu_spapr_tce.c 		struct iommu_table_group *table_group)
table_group      1161 drivers/vfio/vfio_iommu_spapr_tce.c 		struct iommu_table_group *table_group)
table_group      1166 drivers/vfio/vfio_iommu_spapr_tce.c 		struct iommu_table *tbl = table_group->tables[i];
table_group      1175 drivers/vfio/vfio_iommu_spapr_tce.c 						table_group->tables[j]);
table_group      1182 drivers/vfio/vfio_iommu_spapr_tce.c 		container->tables[i] = table_group->tables[i];
table_group      1188 drivers/vfio/vfio_iommu_spapr_tce.c 		struct iommu_table_group *table_group)
table_group      1192 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group->ops->unset_window) {
table_group      1199 drivers/vfio/vfio_iommu_spapr_tce.c 			table_group->ops->unset_window(table_group, i);
table_group      1201 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group->ops->release_ownership(table_group);
table_group      1205 drivers/vfio/vfio_iommu_spapr_tce.c 		struct iommu_table_group *table_group)
table_group      1209 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group->ops->create_table || !table_group->ops->set_window ||
table_group      1210 drivers/vfio/vfio_iommu_spapr_tce.c 			!table_group->ops->release_ownership) {
table_group      1215 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group->ops->take_ownership(table_group);
table_group      1224 drivers/vfio/vfio_iommu_spapr_tce.c 		ret = table_group->ops->set_window(table_group, i, tbl);
table_group      1233 drivers/vfio/vfio_iommu_spapr_tce.c 		table_group->ops->unset_window(table_group, i);
table_group      1235 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group->ops->release_ownership(table_group);
table_group      1245 drivers/vfio/vfio_iommu_spapr_tce.c 	struct iommu_table_group *table_group;
table_group      1252 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group = iommu_group_get_iommudata(iommu_group);
table_group      1253 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group) {
table_group      1258 drivers/vfio/vfio_iommu_spapr_tce.c 	if (tce_groups_attached(container) && (!table_group->ops ||
table_group      1259 drivers/vfio/vfio_iommu_spapr_tce.c 			!table_group->ops->take_ownership ||
table_group      1260 drivers/vfio/vfio_iommu_spapr_tce.c 			!table_group->ops->release_ownership)) {
table_group      1277 drivers/vfio/vfio_iommu_spapr_tce.c 				table_group->ops->create_table) {
table_group      1292 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group->ops || !table_group->ops->take_ownership ||
table_group      1293 drivers/vfio/vfio_iommu_spapr_tce.c 			!table_group->ops->release_ownership) {
table_group      1298 drivers/vfio/vfio_iommu_spapr_tce.c 		ret = tce_iommu_take_ownership(container, table_group);
table_group      1304 drivers/vfio/vfio_iommu_spapr_tce.c 		ret = tce_iommu_take_ownership_ddw(container, table_group);
table_group      1328 drivers/vfio/vfio_iommu_spapr_tce.c 	struct iommu_table_group *table_group;
table_group      1350 drivers/vfio/vfio_iommu_spapr_tce.c 	table_group = iommu_group_get_iommudata(iommu_group);
table_group      1351 drivers/vfio/vfio_iommu_spapr_tce.c 	BUG_ON(!table_group);
table_group      1353 drivers/vfio/vfio_iommu_spapr_tce.c 	if (!table_group->ops || !table_group->ops->release_ownership)
table_group      1354 drivers/vfio/vfio_iommu_spapr_tce.c 		tce_iommu_release_ownership(container, table_group);
table_group      1356 drivers/vfio/vfio_iommu_spapr_tce.c 		tce_iommu_release_ownership_ddw(container, table_group);