Home
last modified time | relevance | path

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

/linux/arch/powerpc/include/asm/
H A Diommu.h45 int (*set)(struct iommu_table *tbl,
56 int (*xchg_no_kill)(struct iommu_table *tbl,
61 void (*tce_kill)(struct iommu_table *tbl,
65 __be64 *(*useraddrptr)(struct iommu_table *tbl, long index, bool alloc);
67 void (*clear)(struct iommu_table *tbl,
70 unsigned long (*get)(struct iommu_table *tbl, long index);
71 void (*flush)(struct iommu_table *tbl);
72 void (*free)(struct iommu_table *tbl);
96 struct iommu_table { struct
129 int get_iommu_order(unsigned long size, struct iommu_table *tbl) in get_iommu_order() argument
[all …]
H A Dvio.h44 struct iommu_table;
H A Dpci-bridge.h196 struct iommu_table;
/linux/drivers/iommu/generic_pt/
H A Diommu_pt.h44 struct pt_iommu *iommu_table, pt_vaddr_t iova, in gather_range_pages() argument
48 struct pt_common *common = common_from_iommu(iommu_table); in gather_range_pages()
52 iommu_table->iommu_device); in gather_range_pages()
65 iommu_iotlb_sync(&iommu_table->domain, iotlb_gather); in gather_range_pages()
134 struct pt_iommu *iommu_table = iommu_from_common(pts->range->common); in compute_best_pgsize() local
144 iommu_table->domain.pgsize_bitmap, in compute_best_pgsize()
184 struct pt_iommu *iommu_table = in DOMAIN_NS() local
190 ret = make_range(common_from_iommu(iommu_table), &range, iova, 1); in DOMAIN_NS()
285 struct pt_iommu *iommu_table = in DOMAIN_NS() local
298 ret = make_range(common_from_iommu(iommu_table), &range, iova, size); in DOMAIN_NS()
[all …]
H A Dkunit_iommu.h91 static void pt_kunit_change_top(struct pt_iommu *iommu_table, in pt_kunit_change_top() argument
96 static spinlock_t *pt_kunit_get_top_lock(struct pt_iommu *iommu_table) in pt_kunit_get_top_lock() argument
99 iommu_table, struct kunit_iommu_priv, fmt_table.iommu); in pt_kunit_get_top_lock()
/linux/arch/powerpc/kernel/
H A Diommu.c47 struct iommu_table *tbl = data; in iommu_debugfs_weight_get()
53 static void iommu_debugfs_add(struct iommu_table *tbl) in iommu_debugfs_add()
70 static void iommu_debugfs_del(struct iommu_table *tbl) in iommu_debugfs_del()
78 static void iommu_debugfs_add(struct iommu_table *tbl){} in iommu_debugfs_add()
79 static void iommu_debugfs_del(struct iommu_table *tbl){} in iommu_debugfs_del()
84 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int);
216 struct iommu_table *tbl, in iommu_range_alloc()
347 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc()
390 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check()
418 static struct iommu_pool *get_pool(struct iommu_table *tbl, in get_pool()
[all …]
H A Ddma-iommu.c160 struct iommu_table *tbl; in dma_iommu_dma_supported()
194 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_get_required_mask()
/linux/arch/powerpc/platforms/powernv/
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 *tbl, in pnv_pci_unlink_table_and_group()
[all …]
/linux/arch/powerpc/platforms/pseries/
H A Diommu.c59 static struct iommu_table *iommu_pseries_alloc_table(int node) in iommu_pseries_alloc_table()
61 struct iommu_table *tbl; in iommu_pseries_alloc_table()
63 tbl = kzalloc_node(sizeof(struct iommu_table), GFP_KERNEL, node); in iommu_pseries_alloc_table()
122 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries()
152 static void tce_clear_pSeries(struct iommu_table *tbl, long index, long npages) in tce_clear_pSeries()
162 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries()
172 static long pseries_tce_iommu_userspace_view_alloc(struct iommu_table *tbl) in pseries_tce_iommu_userspace_view_alloc()
192 static void tce_iommu_userspace_view_free(struct iommu_table *tbl) in tce_iommu_userspace_view_free()
198 static void tce_free_pSeries(struct iommu_table *tbl) in tce_free_pSeries()
205 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long);
[all …]
H A Dvio.c521 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_phys()
548 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_phys()
559 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_sg()
594 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_sg()
708 struct iommu_table *tbl; in vio_cmo_bus_probe()
1156 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table()
1159 struct iommu_table *tbl; in vio_build_iommu_table()
1320 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
/linux/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()
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/drivers/iommu/generic_pt/fmt/
H A Dvtdss.h203 static inline struct pt_common *common_from_iommu(struct pt_iommu *iommu_table) in common_from_iommu() argument
205 return &container_of(iommu_table, struct pt_iommu_table, iommu) in common_from_iommu()
247 static inline int vtdss_pt_iommu_fmt_init(struct pt_iommu_vtdss *iommu_table, in vtdss_pt_iommu_fmt_init() argument
250 struct pt_vtdss *table = &iommu_table->vtdss_pt; in vtdss_pt_iommu_fmt_init()
H A Damdv1.h329 static inline struct pt_common *common_from_iommu(struct pt_iommu *iommu_table) in common_from_iommu() argument
331 return &container_of(iommu_table, struct pt_iommu_amdv1, iommu) in common_from_iommu()
366 static inline int amdv1pt_iommu_fmt_init(struct pt_iommu_amdv1 *iommu_table, in amdv1pt_iommu_fmt_init() argument
369 struct pt_amdv1 *table = &iommu_table->amdpt; in amdv1pt_iommu_fmt_init()
/linux/arch/powerpc/sysdev/
H A Ddart_iommu.c47 static struct iommu_table iommu_table_dart;
162 static void dart_flush(struct iommu_table *tbl) in dart_flush()
171 static int dart_build(struct iommu_table *tbl, long index, in dart_build()
208 static void dart_free(struct iommu_table *tbl, long index, long npages) in dart_free()
/linux/arch/powerpc/kvm/
H A Dbook3s_64_vio.c114 struct iommu_table *tbl = NULL; in kvm_spapr_tce_attach_iommu_group()
140 struct iommu_table *tbltmp = table_group->tables[i]; in kvm_spapr_tce_attach_iommu_group()
434 struct iommu_table *tbl, unsigned long entry) in kvmppc_clear_tce()
449 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_mapped_dec()
470 struct iommu_table *tbl, unsigned long entry) in kvmppc_tce_iommu_do_unmap()
491 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_unmap()
509 static long kvmppc_tce_iommu_do_map(struct kvm *kvm, struct iommu_table *tbl, in kvmppc_tce_iommu_do_map()
548 struct kvmppc_spapr_tce_table *stt, struct iommu_table *tbl, in kvmppc_tce_iommu_map()
/linux/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()
/linux/drivers/iommu/amd/
H A Diommu.c81 static void amd_iommu_change_top(struct pt_iommu *iommu_table,
2587 static void amd_iommu_change_top(struct pt_iommu *iommu_table, in amd_iommu_change_top() argument
2591 container_of(iommu_table, struct protection_domain, iommu); in amd_iommu_change_top()
/linux/drivers/net/ethernet/ibm/
H A Dibmveth.c1703 struct iommu_table *tbl; in ibmveth_get_desired_dma()
H A Dibmvnic.c6700 struct iommu_table *tbl; in ibmvnic_get_desired_dma()