/linux/arch/powerpc/include/asm/ |
H A D | iommu.h | 45 int (*set)(struct iommu_table *tbl, 56 int (*xchg_no_kill)(struct iommu_table *tbl, 61 void (*tce_kill)(struct iommu_table *tbl, 65 __be64 *(*useraddrptr)(struct iommu_table *tbl, long index, bool alloc); 67 void (*clear)(struct iommu_table *tbl, 70 unsigned long (*get)(struct iommu_table *tbl, long index); 71 void (*flush)(struct iommu_table *tbl); 72 void (*free)(struct iommu_table *tbl); 96 struct iommu_table { struct 129 int get_iommu_order(unsigned long size, struct iommu_table *tbl) in get_iommu_order() argument [all …]
|
H A D | device.h | 11 struct iommu_table; 29 struct iommu_table *iommu_table_base;
|
H A D | vio.h | 44 struct iommu_table;
|
H A D | pci-bridge.h | 198 struct iommu_table;
|
/linux/arch/powerpc/platforms/powernv/ |
H A D | pci.h | 275 extern struct iommu_table *pnv_pci_table_alloc(int nid); 303 extern int pnv_tce_build(struct iommu_table *tbl, long index, long npages, 306 extern void pnv_tce_free(struct iommu_table *tbl, long index, long npages); 307 extern int pnv_tce_xchg(struct iommu_table *tbl, long index, 309 extern __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, 311 extern unsigned long pnv_tce_get(struct iommu_table *tbl, long index); 315 bool alloc_userspace_copy, struct iommu_table *tbl); 316 extern void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl); 319 struct iommu_table *tbl, 321 extern void pnv_pci_unlink_table_and_group(struct iommu_table *tbl, [all …]
|
H A D | pci-ioda-tce.c | 48 void pnv_pci_setup_iommu_table(struct iommu_table *tbl, in pnv_pci_setup_iommu_table() 83 static __be64 *pnv_tce(struct iommu_table *tbl, bool user, long idx, bool alloc) in pnv_tce() 124 int pnv_tce_build(struct iommu_table *tbl, long index, long npages, in pnv_tce_build() 147 int pnv_tce_xchg(struct iommu_table *tbl, long index, in pnv_tce_xchg() 181 __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, bool alloc) in pnv_tce_useraddrptr() 190 void pnv_tce_free(struct iommu_table *tbl, long index, long npages) in pnv_tce_free() 206 unsigned long pnv_tce_get(struct iommu_table *tbl, long index) in pnv_tce_get() 240 void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl) in pnv_pci_ioda2_table_free_pages() 292 bool alloc_userspace_copy, struct iommu_table *tbl) in pnv_pci_ioda2_table_alloc_pages() 370 void pnv_pci_unlink_table_and_group(struct iommu_table *tbl, in pnv_pci_unlink_table_and_group() [all …]
|
H A D | pci-ioda.c | 1165 static int pnv_ioda_tce_xchg_no_kill(struct iommu_table *tbl, long index, in pnv_ioda_tce_xchg_no_kill() 1221 static void pnv_pci_ioda2_tce_invalidate(struct iommu_table *tbl, in pnv_pci_ioda2_tce_invalidate() 1243 static int pnv_ioda2_tce_build(struct iommu_table *tbl, long index, in pnv_ioda2_tce_build() 1257 static void pnv_ioda2_tce_free(struct iommu_table *tbl, long index, in pnv_ioda2_tce_free() 1278 int num, struct iommu_table *tbl) in pnv_pci_ioda2_set_window() 1346 bool alloc_userspace_copy, struct iommu_table **ptbl) in pnv_pci_ioda2_create_table() 1353 struct iommu_table *tbl; in pnv_pci_ioda2_create_table() 1376 struct iommu_table *tbl = NULL; in pnv_pci_ioda2_setup_default_config() 1516 struct iommu_table **ptbl) in pnv_pci_ioda2_create_table_userspace() 1546 struct iommu_table *tbl = pe->table_group.tables[0]; in pnv_ioda2_take_ownership() [all …]
|
H A D | pci.c | 733 struct iommu_table *pnv_pci_table_alloc(int nid) in pnv_pci_table_alloc() 735 struct iommu_table *tbl; in pnv_pci_table_alloc() 737 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, nid); in pnv_pci_table_alloc()
|
/linux/drivers/vfio/ |
H A D | vfio_iommu_spapr_tce.c | 70 struct iommu_table *tables[IOMMU_TABLE_GROUP_MAX_TABLES]; 204 phys_addr_t ioba, struct iommu_table **ptbl) in tce_iommu_find_table() 209 struct iommu_table *tbl = container->tables[i]; in tce_iommu_find_table() 339 struct iommu_table *tbl, 342 struct iommu_table *tbl); 362 struct iommu_table *tbl = container->tables[i]; in tce_iommu_release() 410 struct iommu_table *tbl, unsigned long entry) in tce_iommu_unuse_page_v2() 432 struct iommu_table *tbl, in tce_iommu_clear() 500 struct iommu_table *tbl, in tce_iommu_build() 548 struct iommu_table *tbl, in tce_iommu_build_v2() [all …]
|
/linux/arch/powerpc/sysdev/ |
H A D | dart_iommu.c | 47 static struct iommu_table iommu_table_dart; 162 static void dart_flush(struct iommu_table *tbl) in dart_flush() 171 static int dart_build(struct iommu_table *tbl, long index, in dart_build() 208 static void dart_free(struct iommu_table *tbl, long index, long npages) in dart_free()
|
/linux/arch/powerpc/kvm/ |
H A D | book3s_64_vio.c | 114 struct iommu_table *tbl = NULL; in kvm_spapr_tce_attach_iommu_group() 140 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group() 434 struct iommu_table *tbl, unsigned long entry) in kvmppc_clear_tce() 449 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_mapped_dec() 470 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_do_unmap() 491 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_unmap() 509 static long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_tce_iommu_do_map() 548 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_map()
|
/linux/arch/powerpc/platforms/pasemi/ |
H A D | iommu.c | 74 static struct iommu_table iommu_table_iobmap; 77 static int iobmap_build(struct iommu_table *tbl, long index, in iobmap_build() 106 static void iobmap_free(struct iommu_table *tbl, long index, in iobmap_free()
|
/linux/arch/powerpc/platforms/pseries/ |
H A D | vio.c | 521 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_page() 545 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_page() 556 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_sg() 591 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_sg() 705 struct iommu_table *tbl; in vio_cmo_bus_probe() 1154 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table() 1157 struct iommu_table *tbl; in vio_build_iommu_table() 1318 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
|
/linux/drivers/net/ethernet/ibm/ |
H A D | ibmveth.c | 1555 struct iommu_table *tbl; in ibmveth_get_desired_dma()
|
H A D | ibmvnic.c | 6643 struct iommu_table *tbl; in ibmvnic_get_desired_dma()
|