Home
last modified time | relevance | path

Searched refs:iommu_table (Results 1 - 25 of 53) sorted by relevance

123

/kernel/linux/linux-5.10/arch/powerpc/include/asm/
H A Diommu.h40 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 Ddevice.h11 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 Diommu.h43 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 Ddevice.h11 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 Dpci.h289 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 Dpci-ioda-tce.c48 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 Dpci.h275 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 Dpci-ioda-tce.c48 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 Diommu.c43 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 Ddma-iommu.c90 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 Diommu.c45 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 Dvfio_iommu_spapr_tce.c68 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 Diommu.c59 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 Dvfio_iommu_spapr_tce.c70 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 Diommu.c73 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 Dbook3s_64_vio.c101 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 Dbook3s_64_vio_hv.c221 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 Ddart_iommu.c48 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 Ddart_iommu.c48 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 Diommu.c74 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 Diommu.c57 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 Dbook3s_64_vio.c113 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 Dvmlinux.lds.S338 .iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) {
340 *(.iommu_table)
H A Dpci-swiotlb.c15 #include <asm/iommu_table.h>
/kernel/linux/linux-5.10/arch/x86/xen/
H A Dpci-swiotlb-xen.c11 #include <asm/iommu_table.h>

Completed in 18 milliseconds

123