Home
last modified time | relevance | path

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

/linux-6.1.9/arch/powerpc/include/asm/
Diommu.h40 int (*set)(struct iommu_table *tbl,
51 int (*xchg_no_kill)(struct iommu_table *tbl,
56 void (*tce_kill)(struct iommu_table *tbl,
60 __be64 *(*useraddrptr)(struct iommu_table *tbl, long index, bool alloc);
62 void (*clear)(struct iommu_table *tbl,
65 unsigned long (*get)(struct iommu_table *tbl, long index);
66 void (*flush)(struct iommu_table *tbl);
67 void (*free)(struct iommu_table *tbl);
91 struct iommu_table { struct
124 int get_iommu_order(unsigned long size, struct iommu_table *tbl) in get_iommu_order() argument
[all …]
Ddevice.h11 struct iommu_table;
29 struct iommu_table *iommu_table_base;
Dvio.h44 struct iommu_table;
Dmachdep.h14 struct iommu_table;
Dpci-bridge.h189 struct iommu_table;
Dkvm_host.h184 struct iommu_table *tbl;
/linux-6.1.9/arch/powerpc/platforms/powernv/
Dpci.h280 extern struct iommu_table *pnv_pci_table_alloc(int nid);
309 extern int pnv_tce_build(struct iommu_table *tbl, long index, long npages,
312 extern void pnv_tce_free(struct iommu_table *tbl, long index, long npages);
313 extern int pnv_tce_xchg(struct iommu_table *tbl, long index,
315 extern __be64 *pnv_tce_useraddrptr(struct iommu_table *tbl, long index,
317 extern unsigned long pnv_tce_get(struct iommu_table *tbl, long index);
321 bool alloc_userspace_copy, struct iommu_table *tbl);
322 extern void pnv_pci_ioda2_table_free_pages(struct iommu_table *tbl);
325 struct iommu_table *tbl,
327 extern void pnv_pci_unlink_table_and_group(struct iommu_table *tbl,
[all …]
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 *tbl, in pnv_pci_unlink_table_and_group()
[all …]
Dpci-ioda.c1276 static void pnv_pci_p7ioc_tce_invalidate(struct iommu_table *tbl, in pnv_pci_p7ioc_tce_invalidate()
1309 static int pnv_ioda1_tce_build(struct iommu_table *tbl, long index, in pnv_ioda1_tce_build()
1325 static int pnv_ioda_tce_xchg_no_kill(struct iommu_table *tbl, long index, in pnv_ioda_tce_xchg_no_kill()
1332 static void pnv_ioda1_tce_free(struct iommu_table *tbl, long index, in pnv_ioda1_tce_free()
1400 static void pnv_pci_ioda2_tce_invalidate(struct iommu_table *tbl, in pnv_pci_ioda2_tce_invalidate()
1422 static int pnv_ioda2_tce_build(struct iommu_table *tbl, long index, in pnv_ioda2_tce_build()
1436 static void pnv_ioda2_tce_free(struct iommu_table *tbl, long index, in pnv_ioda2_tce_free()
1509 struct iommu_table *tbl; in pnv_pci_ioda1_setup_dma_pe()
1629 int num, struct iommu_table *tbl) in pnv_pci_ioda2_set_window()
1697 bool alloc_userspace_copy, struct iommu_table **ptbl) in pnv_pci_ioda2_create_table()
[all …]
Dpci.c733 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-6.1.9/arch/powerpc/kernel/
Diommu.c44 struct iommu_table *tbl = data; in iommu_debugfs_weight_get()
50 static void iommu_debugfs_add(struct iommu_table *tbl) in iommu_debugfs_add()
67 static void iommu_debugfs_del(struct iommu_table *tbl) in iommu_debugfs_del()
77 static void iommu_debugfs_add(struct iommu_table *tbl){} in iommu_debugfs_add()
78 static void iommu_debugfs_del(struct iommu_table *tbl){} in iommu_debugfs_del()
83 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int);
204 struct iommu_table *tbl, in iommu_range_alloc()
335 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc()
378 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check()
406 static struct iommu_pool *get_pool(struct iommu_table *tbl, in get_pool()
[all …]
Ddma-iommu.c147 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_dma_supported()
184 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_get_required_mask()
/linux-6.1.9/drivers/vfio/
Dvfio_iommu_spapr_tce.c69 struct iommu_table *tables[IOMMU_TABLE_GROUP_MAX_TABLES];
203 phys_addr_t ioba, struct iommu_table **ptbl) in tce_iommu_find_table()
208 struct iommu_table *tbl = container->tables[i]; in tce_iommu_find_table()
338 struct iommu_table *tbl,
341 struct iommu_table *tbl);
361 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-6.1.9/arch/powerpc/platforms/pseries/
Diommu.c56 static struct iommu_table *iommu_pseries_alloc_table(int node) in iommu_pseries_alloc_table()
58 struct iommu_table *tbl; in iommu_pseries_alloc_table()
60 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, node); in iommu_pseries_alloc_table()
88 struct iommu_table *tbl; in iommu_pseries_free_group()
105 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries()
135 static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages) in tce_free_pSeries()
145 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries()
155 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long);
200 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_buildmulti_pSeriesLP()
306 static void tce_freemulti_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages) in tce_freemulti_pSeriesLP()
[all …]
Dvio.c521 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()
1170 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table()
1173 struct iommu_table *tbl; in vio_build_iommu_table()
1334 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
/linux-6.1.9/arch/powerpc/sysdev/
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()
/linux-6.1.9/arch/powerpc/platforms/pasemi/
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()
/linux-6.1.9/arch/powerpc/kvm/
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()
/linux-6.1.9/arch/powerpc/platforms/cell/
Diommu.c108 struct iommu_table table;
156 static int tce_build_cell(struct iommu_table *tbl, long index, long npages, in tce_build_cell()
202 static void tce_free_cell(struct iommu_table *tbl, long index, long npages) in tce_free_cell()
542 static struct iommu_table *cell_get_iommu_table(struct device *dev) in cell_get_iommu_table()
/linux-6.1.9/drivers/net/ethernet/ibm/
Dibmveth.c1585 struct iommu_table *tbl; in ibmveth_get_desired_dma()
Dibmvnic.c6279 struct iommu_table *tbl; in ibmvnic_get_desired_dma()