/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A 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 *tb [all...] |
H A D | device.h | 11 struct iommu_table; 24 * an iommu_table for remapped DMA. 29 struct iommu_table *iommu_table_base;
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | iommu.h | 43 int (*set)(struct iommu_table *tbl, 54 int (*xchg_no_kill)(struct iommu_table *tbl, 59 void (*tce_kill)(struct iommu_table *tbl, 63 __be64 *(*useraddrptr)(struct iommu_table *tbl, long index, bool alloc); 65 void (*clear)(struct iommu_table *tbl, 68 unsigned long (*get)(struct iommu_table *tbl, long index); 69 void (*flush)(struct iommu_table *tbl); 70 void (*free)(struct iommu_table *tbl); 94 struct iommu_table { struct 127 int get_iommu_order(unsigned long size, struct iommu_table *tb [all...] |
H A D | device.h | 11 struct iommu_table; 24 * an iommu_table for remapped DMA. 29 struct iommu_table *iommu_table_base;
|
/kernel/linux/linux-5.10/arch/powerpc/platforms/powernv/ |
H A D | pci.h | 289 extern struct iommu_table *pnv_pci_table_alloc(int nid); 327 extern int pnv_tce_build(struct iommu_table *tbl, long index, long npages, 330 extern void pnv_tce_free(struct iommu_table *tbl, long index, long npages); 331 extern int pnv_tce_xchg(struct iommu_table *tbl, long index, 334 extern __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, 336 extern unsigned long pnv_tce_get(struct iommu_table *tbl, long index); 340 bool alloc_userspace_copy, struct iommu_table *tbl); 341 extern void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl); 344 struct iommu_table *tbl, 346 extern void pnv_pci_unlink_table_and_group(struct iommu_table *tb [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() 182 __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, bool alloc) in pnv_tce_useraddrptr() 191 void pnv_tce_free(struct iommu_table *tbl, long index, long npages) in pnv_tce_free() 207 unsigned long pnv_tce_get(struct iommu_table *tbl, long index) in pnv_tce_get() 241 void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl) in pnv_pci_ioda2_table_free_pages() 293 bool alloc_userspace_copy, struct iommu_table *tbl) in pnv_pci_ioda2_table_alloc_pages() 371 void pnv_pci_unlink_table_and_group(struct iommu_table *tb [all...] |
/kernel/linux/linux-6.6/arch/powerpc/platforms/powernv/ |
H A D | pci.h | 275 extern struct iommu_table *pnv_pci_table_alloc(int nid); 304 extern int pnv_tce_build(struct iommu_table *tbl, long index, long npages, 307 extern void pnv_tce_free(struct iommu_table *tbl, long index, long npages); 308 extern int pnv_tce_xchg(struct iommu_table *tbl, long index, 310 extern __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, 312 extern unsigned long pnv_tce_get(struct iommu_table *tbl, long index); 316 bool alloc_userspace_copy, struct iommu_table *tbl); 317 extern void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl); 320 struct iommu_table *tbl, 322 extern void pnv_pci_unlink_table_and_group(struct iommu_table *tb [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 *tb [all...] |
/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | iommu.c | 43 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); 175 struct iommu_table *tbl, in iommu_range_alloc() 297 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc() 340 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check() 368 static struct iommu_pool *get_pool(struct iommu_table *tbl, in get_pool() 387 static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in __iommu_free() 409 static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free() 422 int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl, in ppc_iommu_map_sg() 567 void ppc_iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist, in ppc_iommu_unmap_sg() 599 static void iommu_table_clear(struct iommu_table *tb [all...] |
H A D | dma-iommu.c | 90 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_dma_supported() 117 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_get_required_mask()
|
/kernel/linux/linux-6.6/arch/powerpc/kernel/ |
H A D | iommu.c | 45 struct iommu_table *tbl = data; in iommu_debugfs_weight_get() 51 static void iommu_debugfs_add(struct iommu_table *tbl) in iommu_debugfs_add() 68 static void iommu_debugfs_del(struct iommu_table *tbl) in iommu_debugfs_del() 76 static void iommu_debugfs_add(struct iommu_table *tbl){} in iommu_debugfs_add() 77 static void iommu_debugfs_del(struct iommu_table *tbl){} in iommu_debugfs_del() 82 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); 214 struct iommu_table *tbl, in iommu_range_alloc() 345 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc() 388 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check() 416 static struct iommu_pool *get_pool(struct iommu_table *tb [all...] |
/kernel/linux/linux-5.10/drivers/vfio/ |
H A 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 *tb in tce_iommu_build_v2() [all...] |
/kernel/linux/linux-5.10/arch/powerpc/platforms/pseries/ |
H A D | iommu.c | 59 struct iommu_table *tbl; in iommu_pseries_alloc_group() 66 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, node); in iommu_pseries_alloc_group() 85 struct iommu_table *tbl; in iommu_pseries_free_group() 102 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries() 130 static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages) in tce_free_pSeries() 140 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries() 150 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long); 195 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_buildmulti_pSeriesLP() 299 static void tce_freemulti_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages) in tce_freemulti_pSeriesLP() 317 static unsigned long tce_get_pSeriesLP(struct iommu_table *tb [all...] |
/kernel/linux/linux-6.6/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() 411 struct iommu_table *tbl, unsigned long entry) in tce_iommu_unuse_page_v2() 433 struct iommu_table *tbl, in tce_iommu_clear() 501 struct iommu_table *tbl, in tce_iommu_build() 549 struct iommu_table *tb in tce_iommu_build_v2() [all...] |
/kernel/linux/linux-5.10/arch/powerpc/platforms/pasemi/ |
H A 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()
|
/kernel/linux/linux-5.10/arch/powerpc/kvm/ |
H A D | book3s_64_vio.c | 101 struct iommu_table *tbl = NULL; in kvm_spapr_tce_attach_iommu_group() 130 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group() 425 struct iommu_table *tbl, unsigned long entry) in kvmppc_clear_tce() 440 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_mapped_dec() 461 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_do_unmap() 482 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_unmap() 500 static long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_tce_iommu_do_map() 539 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_map()
|
H A D | book3s_64_vio_hv.c | 221 struct iommu_table *tbl, in iommu_tce_xchg_no_kill_rm() 243 static void iommu_tce_kill_rm(struct iommu_table *tbl, in iommu_tce_kill_rm() 251 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_clear_tce() 266 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_tce_iommu_mapped_dec() 288 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_tce_iommu_do_unmap() 312 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_unmap() 330 static long kvmppc_rm_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_do_map() 373 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_map()
|
/kernel/linux/linux-5.10/arch/powerpc/sysdev/ |
H A 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()
|
/kernel/linux/linux-6.6/arch/powerpc/sysdev/ |
H A 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()
|
/kernel/linux/linux-6.6/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()
|
/kernel/linux/linux-6.6/arch/powerpc/platforms/pseries/ |
H A D | iommu.c | 57 static struct iommu_table *iommu_pseries_alloc_table(int node) in iommu_pseries_alloc_table() 59 struct iommu_table *tbl; in iommu_pseries_alloc_table() 61 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, node); in iommu_pseries_alloc_table() 116 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries() 146 static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages) in tce_free_pSeries() 156 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries() 166 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long); 211 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_buildmulti_pSeriesLP() 317 static void tce_freemulti_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages) in tce_freemulti_pSeriesLP() 346 static unsigned long tce_get_pSeriesLP(struct iommu_table *tb [all...] |
/kernel/linux/linux-6.6/arch/powerpc/kvm/ |
H A D | book3s_64_vio.c | 113 struct iommu_table *tbl = NULL; in kvm_spapr_tce_attach_iommu_group() 142 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group() 436 struct iommu_table *tbl, unsigned long entry) in kvmppc_clear_tce() 451 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_mapped_dec() 472 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_do_unmap() 493 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_unmap() 511 static long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_tce_iommu_do_map() 550 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_map()
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | vmlinux.lds.S | 338 .iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) { 340 *(.iommu_table)
|
H A D | pci-swiotlb.c | 15 #include <asm/iommu_table.h>
|
/kernel/linux/linux-5.10/arch/x86/xen/ |
H A D | pci-swiotlb-xen.c | 11 #include <asm/iommu_table.h>
|