| /linux/arch/powerpc/include/asm/ |
| H A D | iommu.h | 45 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 D | vio.h | 44 struct iommu_table;
|
| H A D | pci-bridge.h | 196 struct iommu_table;
|
| /linux/drivers/iommu/generic_pt/ |
| H A D | iommu_pt.h | 69 struct pt_iommu *iommu_table, pt_vaddr_t iova, in gather_range_pages() 73 struct pt_common *common = common_from_iommu(iommu_table); in gather_range_pages() 77 iommu_table->iommu_device); 90 iommu_iotlb_sync(&iommu_table->domain, iotlb_gather); in make_range_ul() 169 struct pt_iommu *iommu_table = iommu_from_common(pts->range->common); 179 iommu_table->domain.pgsize_bitmap, 219 struct pt_iommu *iommu_table = in record_dirty() 225 ret = make_range(common_from_iommu(iommu_table), &range, iova, 1); in record_dirty() 320 struct pt_iommu *iommu_table = in __set_dirty() 333 ret = make_range(common_from_iommu(iommu_table), in NS() 44 gather_range_pages(struct iommu_iotlb_gather * iotlb_gather,struct pt_iommu * iommu_table,pt_vaddr_t iova,pt_vaddr_t len,struct iommu_pages_list * free_list) gather_range_pages() argument 134 struct pt_iommu *iommu_table = iommu_from_common(pts->range->common); compute_best_pgsize() local 184 struct pt_iommu *iommu_table = DOMAIN_NS() local 285 struct pt_iommu *iommu_table = DOMAIN_NS() local 380 struct pt_iommu *iommu_table = iommu_from_common(common); _table_alloc() local 491 struct pt_iommu *iommu_table = clear_contig() local 533 struct pt_iommu *iommu_table = iommu_from_common(range->common); __map_range_leaf() local 736 increase_top(struct pt_iommu * iommu_table,struct pt_range * range,struct pt_iommu_map_args * map) increase_top() argument 841 check_map_range(struct pt_iommu * iommu_table,struct pt_range * range,struct pt_iommu_map_args * map) check_map_range() argument 1190 pt_iommu_init_domain(struct pt_iommu * iommu_table,struct iommu_domain * domain) pt_iommu_init_domain() argument 1233 struct pt_iommu *iommu_table = &fmt_table->iommu; pt_iommu_zero() local 1251 struct pt_iommu *iommu_table = &fmt_table->iommu; pt_iommu_init() local 1312 struct pt_iommu *iommu_table = &fmt_table->iommu; pt_iommu_hw_info() local [all...] |
| H A D | kunit_iommu.h | 91 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 D | iommu.c | 48 struct iommu_table *tbl = data; in iommu_debugfs_weight_get() 54 static void iommu_debugfs_add(struct iommu_table *tbl) in iommu_debugfs_add() 71 static void iommu_debugfs_del(struct iommu_table *tbl) in iommu_debugfs_del() 79 static void iommu_debugfs_add(struct iommu_table *tbl){} in iommu_debugfs_del() 80 static void iommu_debugfs_del(struct iommu_table *tbl){} 85 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int); 217 struct iommu_table *tbl, in iommu_range_alloc() 348 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc() 391 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check() 419 static struct iommu_pool *get_pool(struct iommu_table *tb in get_pool() [all...] |
| H A D | dma-iommu.c | 160 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 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 *tbl, in pnv_pci_unlink_table_and_group() [all …]
|
| /linux/arch/powerpc/platforms/pseries/ |
| H A D | iommu.c | 59 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 D | vio.c | 522 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_phys() 549 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_phys() 560 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_map_sg() 595 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dma_iommu_unmap_sg() 709 struct iommu_table *tbl; in vio_cmo_bus_probe() 1157 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table() 1160 struct iommu_table *tbl; in vio_build_iommu_table() 1321 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
|
| /linux/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() 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 D | vtdss.h | 203 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 D | amdv1.h | 329 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 D | dart_iommu.c | 47 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 D | book3s_64_vio.c | 114 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 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()
|
| /linux/drivers/iommu/amd/ |
| H A D | iommu.c | 81 static void amd_iommu_change_top(struct pt_iommu *iommu_table, 2580 static void amd_iommu_change_top(struct pt_iommu *iommu_table, in amd_iommu_get_top_lock() 2584 container_of(iommu_table, struct protection_domain, iommu); in amd_iommu_get_top_lock() 2591 amd_iommu_change_top(struct pt_iommu * iommu_table,phys_addr_t top_paddr,unsigned int top_level) amd_iommu_change_top() argument
|
| /linux/drivers/net/ethernet/ibm/ |
| H A D | ibmveth.c | 1703 struct iommu_table *tbl; in ibmveth_get_desired_dma()
|
| H A D | ibmvnic.c | 6700 struct iommu_table *tbl; in ibmvnic_get_desired_dma()
|