| /Linux-v5.4/arch/powerpc/include/asm/ |
| D | iommu.h | 40 int (*set)(struct iommu_table *tbl, 51 int (*xchg_no_kill)(struct iommu_table *tbl, 57 void (*tce_kill)(struct iommu_table *tbl, 62 __be64 *(*useraddrptr)(struct iommu_table *tbl, long index, bool alloc); 64 void (*clear)(struct iommu_table *tbl, 67 unsigned long (*get)(struct iommu_table *tbl, long index); 68 void (*flush)(struct iommu_table *tbl); 69 void (*free)(struct iommu_table *tbl); 93 struct iommu_table { struct 126 int get_iommu_order(unsigned long size, struct iommu_table *tbl) in get_iommu_order() argument [all …]
|
| D | device.h | 11 struct iommu_table; 34 struct iommu_table *iommu_table_base;
|
| D | vio.h | 44 struct iommu_table;
|
| D | machdep.h | 21 struct iommu_table;
|
| D | pci-bridge.h | 181 struct iommu_table;
|
| /Linux-v5.4/arch/powerpc/platforms/powernv/ |
| D | pci.h | 182 extern struct iommu_table *pnv_pci_table_alloc(int nid); 225 extern int pnv_tce_build(struct iommu_table *tbl, long index, long npages, 228 extern void pnv_tce_free(struct iommu_table *tbl, long index, long npages); 229 extern int pnv_tce_xchg(struct iommu_table *tbl, long index, 232 extern __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, 234 extern unsigned long pnv_tce_get(struct iommu_table *tbl, long index); 238 bool alloc_userspace_copy, struct iommu_table *tbl); 239 extern void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl); 242 struct iommu_table *tbl, 244 extern void pnv_pci_unlink_table_and_group(struct iommu_table *tbl, [all …]
|
| D | pci-ioda-tce.c | 20 void pnv_pci_setup_iommu_table(struct iommu_table *tbl, in pnv_pci_setup_iommu_table() 55 static __be64 *pnv_tce(struct iommu_table *tbl, bool user, long idx, bool alloc) in pnv_tce() 96 int pnv_tce_build(struct iommu_table *tbl, long index, long npages, in pnv_tce_build() 119 int pnv_tce_xchg(struct iommu_table *tbl, long index, in pnv_tce_xchg() 154 __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, bool alloc) in pnv_tce_useraddrptr() 163 void pnv_tce_free(struct iommu_table *tbl, long index, long npages) in pnv_tce_free() 179 unsigned long pnv_tce_get(struct iommu_table *tbl, long index) in pnv_tce_get() 213 void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl) in pnv_pci_ioda2_table_free_pages() 265 bool alloc_userspace_copy, struct iommu_table *tbl) in pnv_pci_ioda2_table_alloc_pages() 351 void pnv_pci_unlink_table_and_group(struct iommu_table *tbl, in pnv_pci_unlink_table_and_group() [all …]
|
| D | pci-ioda.c | 1444 struct iommu_table *tbl; in pnv_pci_ioda2_release_dma_pe() 1890 static void pnv_pci_p7ioc_tce_invalidate(struct iommu_table *tbl, in pnv_pci_p7ioc_tce_invalidate() 1927 static int pnv_ioda1_tce_build(struct iommu_table *tbl, long index, in pnv_ioda1_tce_build() 1943 static int pnv_ioda_tce_xchg_no_kill(struct iommu_table *tbl, long index, in pnv_ioda_tce_xchg_no_kill() 1951 static void pnv_ioda1_tce_free(struct iommu_table *tbl, long index, in pnv_ioda1_tce_free() 2034 static void pnv_pci_ioda2_tce_invalidate(struct iommu_table *tbl, in pnv_pci_ioda2_tce_invalidate() 2078 static int pnv_ioda2_tce_build(struct iommu_table *tbl, long index, in pnv_ioda2_tce_build() 2092 static void pnv_ioda2_tce_free(struct iommu_table *tbl, long index, in pnv_ioda2_tce_free() 2165 struct iommu_table *tbl; in pnv_pci_ioda1_setup_dma_pe() 2285 int num, struct iommu_table *tbl) in pnv_pci_ioda2_set_window() [all …]
|
| D | npu-dma.c | 128 struct iommu_table *tbl) in pnv_npu_set_window() 277 struct iommu_table **ptbl) in pnv_npu_peers_create_table_userspace() 293 int num, struct iommu_table *tbl) in pnv_npu_peers_set_window()
|
| D | pci.c | 799 struct iommu_table *pnv_pci_table_alloc(int nid) in pnv_pci_table_alloc() 801 struct iommu_table *tbl; in pnv_pci_table_alloc() 803 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, nid); in pnv_pci_table_alloc()
|
| /Linux-v5.4/arch/powerpc/kernel/ |
| D | iommu.c | 43 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); 164 struct iommu_table *tbl, in iommu_range_alloc() 293 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc() 336 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check() 364 static struct iommu_pool *get_pool(struct iommu_table *tbl, in get_pool() 383 static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in __iommu_free() 405 static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free() 418 int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl, in ppc_iommu_map_sg() 563 void ppc_iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist, in ppc_iommu_unmap_sg() 595 static void iommu_table_clear(struct iommu_table *tbl) in iommu_table_clear() [all …]
|
| D | dma-iommu.c | 123 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_dma_supported() 150 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_get_required_mask()
|
| /Linux-v5.4/arch/x86/include/asm/ |
| D | calgary.h | 20 struct iommu_table { struct 34 void (*handle_quirks)(struct iommu_table *tbl, struct pci_dev *dev); argument 35 void (*tce_cache_blast)(struct iommu_table *tbl); 36 void (*dump_error_regs)(struct iommu_table *tbl);
|
| D | tce.h | 15 struct iommu_table; 28 extern void tce_build(struct iommu_table *tbl, unsigned long index, 30 extern void tce_free(struct iommu_table *tbl, long index, unsigned int npages);
|
| /Linux-v5.4/arch/x86/kernel/ |
| D | pci-calgary_64.c | 161 static void calgary_handle_quirks(struct iommu_table *tbl, struct pci_dev *dev); 162 static void calgary_tce_cache_blast(struct iommu_table *tbl); 163 static void calgary_dump_error_regs(struct iommu_table *tbl); 164 static void calioc2_handle_quirks(struct iommu_table *tbl, struct pci_dev *dev); 165 static void calioc2_tce_cache_blast(struct iommu_table *tbl); 166 static void calioc2_dump_error_regs(struct iommu_table *tbl); 167 static void calgary_init_bitmap_from_tce_table(struct iommu_table *tbl); 184 static inline int translation_enabled(struct iommu_table *tbl) in translation_enabled() 190 static void iommu_range_reserve(struct iommu_table *tbl, in iommu_range_reserve() 215 struct iommu_table *tbl, in iommu_range_alloc() [all …]
|
| D | tce_64.c | 36 void tce_build(struct iommu_table *tbl, unsigned long index, in tce_build() 62 void tce_free(struct iommu_table *tbl, long index, unsigned int npages) in tce_free() 85 static int tce_table_setparms(struct pci_dev *dev, struct iommu_table *tbl) in tce_table_setparms() 124 struct iommu_table *tbl; in build_tce_table() 133 tbl = kzalloc(sizeof(struct iommu_table), GFP_KERNEL); in build_tce_table()
|
| D | vmlinux.lds.S | 305 .iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) { 307 *(.iommu_table) argument
|
| /Linux-v5.4/arch/powerpc/platforms/pseries/ |
| D | iommu.c | 46 struct iommu_table *tbl; in iommu_pseries_alloc_group() 53 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, node); in iommu_pseries_alloc_group() 72 struct iommu_table *tbl; in iommu_pseries_free_group() 89 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries() 117 static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages) in tce_free_pSeries() 127 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries() 136 static void tce_free_pSeriesLP(struct iommu_table*, long, long); 137 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long); 139 static int tce_build_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_build_pSeriesLP() 182 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_buildmulti_pSeriesLP() [all …]
|
| D | vio.c | 518 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_page() 542 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_page() 553 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_sg() 587 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_sg() 699 struct iommu_table *tbl; in vio_cmo_bus_probe() 1164 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table() 1167 struct iommu_table *tbl; in vio_build_iommu_table() 1310 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
|
| /Linux-v5.4/drivers/vfio/ |
| D | vfio_iommu_spapr_tce.c | 68 struct iommu_table *tables[IOMMU_TABLE_GROUP_MAX_TABLES]; 202 phys_addr_t ioba, struct iommu_table **ptbl) in tce_iommu_find_table() 207 struct iommu_table *tbl = container->tables[i]; in tce_iommu_find_table() 337 struct iommu_table *tbl, 340 struct iommu_table *tbl); 360 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-v5.4/arch/powerpc/kvm/ |
| D | book3s_64_vio_hv.c | 222 struct iommu_table *tbl, in iommu_tce_xchg_no_kill_rm() 244 extern void iommu_tce_kill_rm(struct iommu_table *tbl, in iommu_tce_kill_rm() 251 static void kvmppc_rm_clear_tce(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_rm_clear_tce() 261 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_tce_iommu_mapped_dec() 283 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_tce_iommu_do_unmap() 307 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_unmap() 323 static long kvmppc_rm_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_do_map() 366 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_map()
|
| D | book3s_64_vio.c | 99 struct iommu_table *tbl = NULL; in kvm_spapr_tce_attach_iommu_group() 126 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group() 413 static void kvmppc_clear_tce(struct mm_struct *mm, struct iommu_table *tbl, in kvmppc_clear_tce() 423 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_mapped_dec() 444 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_do_unmap() 465 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_unmap() 481 long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_tce_iommu_do_map() 520 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_map()
|
| /Linux-v5.4/arch/powerpc/sysdev/ |
| D | dart_iommu.c | 48 static struct iommu_table iommu_table_dart; 163 static void dart_flush(struct iommu_table *tbl) in dart_flush() 172 static int dart_build(struct iommu_table *tbl, long index, in dart_build() 209 static void dart_free(struct iommu_table *tbl, long index, long npages) in dart_free()
|
| /Linux-v5.4/arch/powerpc/platforms/pasemi/ |
| D | iommu.c | 73 static struct iommu_table iommu_table_iobmap; 76 static int iobmap_build(struct iommu_table *tbl, long index, in iobmap_build() 105 static void iobmap_free(struct iommu_table *tbl, long index, in iobmap_free()
|
| /Linux-v5.4/arch/powerpc/platforms/cell/ |
| D | iommu.c | 106 struct iommu_table table; 154 static int tce_build_cell(struct iommu_table *tbl, long index, long npages, in tce_build_cell() 200 static void tce_free_cell(struct iommu_table *tbl, long index, long npages) in tce_free_cell() 539 static struct iommu_table *cell_get_iommu_table(struct device *dev) in cell_get_iommu_table()
|