Home
last modified time | relevance | path

Searched refs:iommu_table (Results 1 – 25 of 30) sorted by relevance

12

/Linux-v4.19/arch/powerpc/include/asm/
Diommu.h53 int (*set)(struct iommu_table *tbl,
64 int (*exchange)(struct iommu_table *tbl,
69 int (*exchange_rm)(struct iommu_table *tbl,
74 __be64 *(*useraddrptr)(struct iommu_table *tbl, long index, bool alloc);
76 void (*clear)(struct iommu_table *tbl,
79 unsigned long (*get)(struct iommu_table *tbl, long index);
80 void (*flush)(struct iommu_table *tbl);
81 void (*free)(struct iommu_table *tbl);
105 struct iommu_table { struct
136 int get_iommu_order(unsigned long size, struct iommu_table *tbl) in get_iommu_order() argument
[all …]
Ddevice.h12 struct iommu_table;
30 struct iommu_table *iommu_table_base;
Dvio.h48 struct iommu_table;
Dpci-bridge.h183 struct iommu_table;
Dmachdep.h27 struct iommu_table;
/Linux-v4.19/arch/powerpc/platforms/powernv/
Dpci.h207 extern struct iommu_table *pnv_pci_table_alloc(int nid);
239 struct iommu_table *tbl);
249 extern int pnv_tce_build(struct iommu_table *tbl, long index, long npages,
252 extern void pnv_tce_free(struct iommu_table *tbl, long index, long npages);
253 extern int pnv_tce_xchg(struct iommu_table *tbl, long index,
256 extern __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index,
258 extern unsigned long pnv_tce_get(struct iommu_table *tbl, long index);
262 bool alloc_userspace_copy, struct iommu_table *tbl);
263 extern void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl);
266 struct iommu_table *tbl,
[all …]
Dpci-ioda-tce.c20 void pnv_pci_setup_iommu_table(struct iommu_table *tbl, in pnv_pci_setup_iommu_table()
51 static __be64 *pnv_tce(struct iommu_table *tbl, bool user, long idx, bool alloc) in pnv_tce()
87 int pnv_tce_build(struct iommu_table *tbl, long index, long npages, in pnv_tce_build()
110 int pnv_tce_xchg(struct iommu_table *tbl, long index, in pnv_tce_xchg()
145 __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index, bool alloc) in pnv_tce_useraddrptr()
154 void pnv_tce_free(struct iommu_table *tbl, long index, long npages) in pnv_tce_free()
167 unsigned long pnv_tce_get(struct iommu_table *tbl, long index) in pnv_tce_get()
201 void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl) in pnv_pci_ioda2_table_free_pages()
253 bool alloc_userspace_copy, struct iommu_table *tbl) in pnv_pci_ioda2_table_alloc_pages()
344 void pnv_pci_unlink_table_and_group(struct iommu_table *tbl, in pnv_pci_unlink_table_and_group()
[all …]
Dpci-ioda.c1443 struct iommu_table *tbl; in pnv_pci_ioda2_release_dma_pe()
1952 static void pnv_pci_p7ioc_tce_invalidate(struct iommu_table *tbl, in pnv_pci_p7ioc_tce_invalidate()
1989 static int pnv_ioda1_tce_build(struct iommu_table *tbl, long index, in pnv_ioda1_tce_build()
2004 static int pnv_ioda1_tce_xchg(struct iommu_table *tbl, long index, in pnv_ioda1_tce_xchg()
2015 static int pnv_ioda1_tce_xchg_rm(struct iommu_table *tbl, long index, in pnv_ioda1_tce_xchg_rm()
2027 static void pnv_ioda1_tce_free(struct iommu_table *tbl, long index, in pnv_ioda1_tce_free()
2110 static void pnv_pci_ioda2_tce_invalidate(struct iommu_table *tbl, in pnv_pci_ioda2_tce_invalidate()
2154 static int pnv_ioda2_tce_build(struct iommu_table *tbl, long index, in pnv_ioda2_tce_build()
2169 static int pnv_ioda2_tce_xchg(struct iommu_table *tbl, long index, in pnv_ioda2_tce_xchg()
2180 static int pnv_ioda2_tce_xchg_rm(struct iommu_table *tbl, long index, in pnv_ioda2_tce_xchg_rm()
[all …]
Dpci.c805 struct iommu_table *pnv_pci_table_alloc(int nid) in pnv_pci_table_alloc()
807 struct iommu_table *tbl; in pnv_pci_table_alloc()
809 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, nid); in pnv_pci_table_alloc()
/Linux-v4.19/arch/x86/include/asm/
Dcalgary.h33 struct iommu_table { struct
47 void (*handle_quirks)(struct iommu_table *tbl, struct pci_dev *dev); argument
48 void (*tce_cache_blast)(struct iommu_table *tbl);
49 void (*dump_error_regs)(struct iommu_table *tbl);
Dtce.h28 struct iommu_table;
41 extern void tce_build(struct iommu_table *tbl, unsigned long index,
43 extern void tce_free(struct iommu_table *tbl, long index, unsigned int npages);
/Linux-v4.19/arch/x86/kernel/
Dpci-calgary_64.c177 static void calgary_handle_quirks(struct iommu_table *tbl, struct pci_dev *dev);
178 static void calgary_tce_cache_blast(struct iommu_table *tbl);
179 static void calgary_dump_error_regs(struct iommu_table *tbl);
180 static void calioc2_handle_quirks(struct iommu_table *tbl, struct pci_dev *dev);
181 static void calioc2_tce_cache_blast(struct iommu_table *tbl);
182 static void calioc2_dump_error_regs(struct iommu_table *tbl);
183 static void calgary_init_bitmap_from_tce_table(struct iommu_table *tbl);
200 static inline int translation_enabled(struct iommu_table *tbl) in translation_enabled()
206 static void iommu_range_reserve(struct iommu_table *tbl, in iommu_range_reserve()
231 struct iommu_table *tbl, in iommu_range_alloc()
[all …]
Dtce_64.c49 void tce_build(struct iommu_table *tbl, unsigned long index, in tce_build()
75 void tce_free(struct iommu_table *tbl, long index, unsigned int npages) in tce_free()
98 static int tce_table_setparms(struct pci_dev *dev, struct iommu_table *tbl) in tce_table_setparms()
137 struct iommu_table *tbl; in build_tce_table()
146 tbl = kzalloc(sizeof(struct iommu_table), GFP_KERNEL); in build_tce_table()
Dvmlinux.lds.S315 .iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) {
317 *(.iommu_table) argument
/Linux-v4.19/arch/powerpc/kernel/
Diommu.c55 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int);
176 struct iommu_table *tbl, in iommu_range_alloc()
305 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc()
348 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check()
376 static struct iommu_pool *get_pool(struct iommu_table *tbl, in get_pool()
395 static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in __iommu_free()
417 static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free()
430 int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl, in ppc_iommu_map_sg()
575 void ppc_iommu_unmap_sg(struct iommu_table *tbl, struct scatterlist *sglist, in ppc_iommu_unmap_sg()
607 static void iommu_table_clear(struct iommu_table *tbl) in iommu_table_clear()
[all …]
Ddma-iommu.c79 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_dma_supported()
98 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_get_required_mask()
Ddma.c134 struct iommu_table *iommu; in dma_nommu_alloc_coherent()
158 struct iommu_table *iommu; in dma_nommu_free_coherent()
/Linux-v4.19/arch/powerpc/platforms/pseries/
Diommu.c59 struct iommu_table *tbl; in iommu_pseries_alloc_group()
67 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, node); in iommu_pseries_alloc_group()
95 struct iommu_table *tbl; in iommu_pseries_free_group()
123 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries()
151 static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages) in tce_free_pSeries()
161 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries()
170 static void tce_free_pSeriesLP(struct iommu_table*, long, long);
171 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long);
173 static int tce_build_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_build_pSeriesLP()
216 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_buildmulti_pSeriesLP()
[all …]
Dvio.c521 struct iommu_table *tbl; in vio_dma_iommu_map_page()
545 struct iommu_table *tbl; in vio_dma_iommu_unmap_page()
558 struct iommu_table *tbl; in vio_dma_iommu_map_sg()
594 struct iommu_table *tbl; in vio_dma_iommu_unmap_sg()
718 struct iommu_table *tbl; in vio_cmo_bus_probe()
1183 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table()
1186 struct iommu_table *tbl; in vio_build_iommu_table()
1329 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
/Linux-v4.19/drivers/vfio/
Dvfio_iommu_spapr_tce.c115 struct iommu_table *tables[IOMMU_TABLE_GROUP_MAX_TABLES];
230 phys_addr_t ioba, struct iommu_table **ptbl) in tce_iommu_find_table()
235 struct iommu_table *tbl = container->tables[i]; in tce_iommu_find_table()
365 struct iommu_table *tbl,
368 struct iommu_table *tbl);
387 struct iommu_table *tbl = container->tables[i]; in tce_iommu_release()
442 struct iommu_table *tbl, unsigned long entry) in tce_iommu_unuse_page_v2()
464 struct iommu_table *tbl, in tce_iommu_clear()
509 struct iommu_table *tbl, in tce_iommu_build()
555 struct iommu_table *tbl, in tce_iommu_build_v2()
[all …]
/Linux-v4.19/arch/powerpc/kvm/
Dbook3s_64_vio_hv.c190 static long iommu_tce_xchg_rm(struct mm_struct *mm, struct iommu_table *tbl, in iommu_tce_xchg_rm()
212 static void kvmppc_rm_clear_tce(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_rm_clear_tce()
222 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_tce_iommu_mapped_dec()
244 struct iommu_table *tbl, unsigned long entry) in kvmppc_rm_tce_iommu_do_unmap()
268 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_unmap()
284 static long kvmppc_rm_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_do_map()
327 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_rm_tce_iommu_map()
Dbook3s_64_vio.c147 struct iommu_table *tbl = NULL; in kvm_spapr_tce_attach_iommu_group()
174 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group()
366 static void kvmppc_clear_tce(struct iommu_table *tbl, unsigned long entry) in kvmppc_clear_tce()
375 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_mapped_dec()
397 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_do_unmap()
417 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_unmap()
433 long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_tce_iommu_do_map()
472 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_map()
/Linux-v4.19/arch/powerpc/sysdev/
Ddart_iommu.c62 static struct iommu_table iommu_table_dart;
177 static void dart_flush(struct iommu_table *tbl) in dart_flush()
186 static int dart_build(struct iommu_table *tbl, long index, in dart_build()
223 static void dart_free(struct iommu_table *tbl, long index, long npages) in dart_free()
/Linux-v4.19/arch/powerpc/platforms/pasemi/
Diommu.c85 static struct iommu_table iommu_table_iobmap;
88 static int iobmap_build(struct iommu_table *tbl, long index, in iobmap_build()
117 static void iobmap_free(struct iommu_table *tbl, long index, in iobmap_free()
/Linux-v4.19/arch/powerpc/platforms/cell/
Diommu.c119 struct iommu_table table;
167 static int tce_build_cell(struct iommu_table *tbl, long index, long npages, in tce_build_cell()
213 static void tce_free_cell(struct iommu_table *tbl, long index, long npages) in tce_free_cell()
551 static struct iommu_table *cell_get_iommu_table(struct device *dev) in cell_get_iommu_table()

12