Home
last modified time | relevance | path

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

/linux-4.1.27/arch/powerpc/include/asm/
Diommu.h64 struct iommu_table { struct
81 void (*set_bypass)(struct iommu_table *tbl, bool enable); argument
89 int get_iommu_order(unsigned long size, struct iommu_table *tbl) in get_iommu_order() argument
108 extern void iommu_free_table(struct iommu_table *tbl, const char *node_name);
113 extern struct iommu_table *iommu_init_table(struct iommu_table * tbl,
116 extern void iommu_register_group(struct iommu_table *tbl,
122 static inline void iommu_register_group(struct iommu_table *tbl, in iommu_register_group()
150 extern int ppc_iommu_map_sg(struct device *dev, struct iommu_table *tbl,
155 extern void ppc_iommu_unmap_sg(struct iommu_table *tbl,
161 extern void *iommu_alloc_coherent(struct device *dev, struct iommu_table *tbl,
[all …]
Dmachdep.h27 struct iommu_table;
68 int (*tce_build)(struct iommu_table *tbl,
74 void (*tce_free)(struct iommu_table *tbl,
77 unsigned long (*tce_get)(struct iommu_table *tbl,
79 void (*tce_flush)(struct iommu_table *tbl);
82 int (*tce_build_rm)(struct iommu_table *tbl,
88 void (*tce_free_rm)(struct iommu_table *tbl,
91 void (*tce_flush_rm)(struct iommu_table *tbl);
Dpci-bridge.h174 struct iommu_table;
188 struct iommu_table *iommu_table; /* for phb's or bridges */ member
Dvio.h48 struct iommu_table;
/linux-4.1.27/arch/powerpc/platforms/pseries/
Diommu.c54 static void tce_invalidate_pSeries_sw(struct iommu_table *tbl, in tce_invalidate_pSeries_sw()
83 static int tce_build_pSeries(struct iommu_table *tbl, long index, in tce_build_pSeries()
114 static void tce_free_pSeries(struct iommu_table *tbl, long index, long npages) in tce_free_pSeries()
127 static unsigned long tce_get_pseries(struct iommu_table *tbl, long index) in tce_get_pseries()
136 static void tce_free_pSeriesLP(struct iommu_table*, long, long);
137 static void tce_freemulti_pSeriesLP(struct iommu_table*, long, long);
139 static int tce_build_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_build_pSeriesLP()
182 static int tce_buildmulti_pSeriesLP(struct iommu_table *tbl, long tcenum, in tce_buildmulti_pSeriesLP()
265 static void tce_free_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages) in tce_free_pSeriesLP()
284 static void tce_freemulti_pSeriesLP(struct iommu_table *tbl, long tcenum, long npages) in tce_freemulti_pSeriesLP()
[all …]
/linux-4.1.27/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-4.1.27/arch/powerpc/kernel/
Diommu.c55 static void __iommu_free(struct iommu_table *, dma_addr_t, unsigned int);
177 struct iommu_table *tbl, in iommu_range_alloc()
306 static dma_addr_t iommu_alloc(struct device *dev, struct iommu_table *tbl, in iommu_alloc()
349 static bool iommu_free_check(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free_check()
377 static struct iommu_pool *get_pool(struct iommu_table *tbl, in get_pool()
396 static void __iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in __iommu_free()
418 static void iommu_free(struct iommu_table *tbl, dma_addr_t dma_addr, in iommu_free()
431 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.c78 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_dma_supported()
97 struct iommu_table *tbl = get_iommu_table_base(dev); in dma_iommu_get_required_mask()
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()
717 struct iommu_table *tbl; in vio_cmo_bus_probe()
1172 static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev) in vio_build_iommu_table()
1175 struct iommu_table *tbl; in vio_build_iommu_table()
1313 struct iommu_table *tbl = get_iommu_table_base(dev); in vio_dev_release()
Deeh.c1430 struct iommu_table *tbl; in dev_has_iommu_table()
/linux-4.1.27/arch/x86/kernel/
Dpci-calgary_64.c174 static void calgary_handle_quirks(struct iommu_table *tbl, struct pci_dev *dev);
175 static void calgary_tce_cache_blast(struct iommu_table *tbl);
176 static void calgary_dump_error_regs(struct iommu_table *tbl);
177 static void calioc2_handle_quirks(struct iommu_table *tbl, struct pci_dev *dev);
178 static void calioc2_tce_cache_blast(struct iommu_table *tbl);
179 static void calioc2_dump_error_regs(struct iommu_table *tbl);
180 static void calgary_init_bitmap_from_tce_table(struct iommu_table *tbl);
197 static inline int translation_enabled(struct iommu_table *tbl) in translation_enabled()
203 static void iommu_range_reserve(struct iommu_table *tbl, in iommu_range_reserve()
228 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.S255 .iommu_table : AT(ADDR(.iommu_table) - LOAD_OFFSET) {
257 *(.iommu_table) argument
DMakefile43 obj-y += pci-iommu_table.o
/linux-4.1.27/arch/powerpc/platforms/powernv/
Dpci.h60 struct iommu_table *tce32_table;
125 struct iommu_table iommu_table; member
210 extern void pnv_pci_setup_iommu_table(struct iommu_table *tbl,
216 extern void pnv_pci_ioda_tce_invalidate(struct iommu_table *tbl,
Dpci-p5ioc2.c89 if (phb->p5ioc2.iommu_table.it_map == NULL) { in pnv_pci_p5ioc2_dma_dev_setup()
90 iommu_init_table(&phb->p5ioc2.iommu_table, phb->hose->node); in pnv_pci_p5ioc2_dma_dev_setup()
91 iommu_register_group(&phb->p5ioc2.iommu_table, in pnv_pci_p5ioc2_dma_dev_setup()
95 set_iommu_table_base_and_group(&pdev->dev, &phb->p5ioc2.iommu_table); in pnv_pci_p5ioc2_dma_dev_setup()
172 pnv_pci_setup_iommu_table(&phb->p5ioc2.iommu_table, in pnv_pci_init_p5ioc2_phb()
Dpci.c576 static int pnv_tce_build(struct iommu_table *tbl, long index, long npages, in pnv_tce_build()
606 static int pnv_tce_build_vm(struct iommu_table *tbl, long index, long npages, in pnv_tce_build_vm()
615 static void pnv_tce_free(struct iommu_table *tbl, long index, long npages, in pnv_tce_free()
629 static void pnv_tce_free_vm(struct iommu_table *tbl, long index, long npages) in pnv_tce_free_vm()
634 static unsigned long pnv_tce_get(struct iommu_table *tbl, long index) in pnv_tce_get()
639 static int pnv_tce_build_rm(struct iommu_table *tbl, long index, long npages, in pnv_tce_build_rm()
647 static void pnv_tce_free_rm(struct iommu_table *tbl, long index, long npages) in pnv_tce_free_rm()
652 void pnv_pci_setup_iommu_table(struct iommu_table *tbl, in pnv_pci_setup_iommu_table()
Dpci-ioda.c1089 pe->tce32_table = kzalloc_node(sizeof(struct iommu_table), in pnv_ioda_setup_bus_PE()
1291 struct iommu_table *tbl; in pnv_pci_ioda2_release_dma_pe()
1463 pe->tce32_table = kzalloc_node(sizeof(struct iommu_table), in pnv_ioda_setup_vf_PE()
1676 struct iommu_table *tbl, in pnv_pci_ioda1_tce_invalidate()
1723 struct iommu_table *tbl, in pnv_pci_ioda2_tce_invalidate()
1754 void pnv_pci_ioda_tce_invalidate(struct iommu_table *tbl, in pnv_pci_ioda_tce_invalidate()
1773 struct iommu_table *tbl; in pnv_pci_ioda_setup_dma_pe()
1863 static void pnv_pci_ioda2_set_bypass(struct iommu_table *tbl, bool enable) in pnv_pci_ioda2_set_bypass()
1922 struct iommu_table *tbl; in pnv_pci_ioda2_setup_dma_pe()
/linux-4.1.27/drivers/vfio/
Dvfio_iommu_spapr_tce.c46 struct iommu_table *tbl;
54 struct iommu_table *tbl = container->tbl; in tce_iommu_enable()
172 struct iommu_table *tbl = container->tbl; in tce_iommu_ioctl()
197 struct iommu_table *tbl = container->tbl; in tce_iommu_ioctl()
250 struct iommu_table *tbl = container->tbl; in tce_iommu_ioctl()
311 struct iommu_table *tbl = iommu_group_get_iommudata(iommu_group); in tce_iommu_attach_group()
342 struct iommu_table *tbl = iommu_group_get_iommudata(iommu_group); in tce_iommu_detach_group()
/linux-4.1.27/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-4.1.27/arch/powerpc/sysdev/
Ddart_iommu.c67 static struct iommu_table iommu_table_dart;
154 static void dart_flush(struct iommu_table *tbl) in dart_flush()
163 static int dart_build(struct iommu_table *tbl, long index, in dart_build()
204 static void dart_free(struct iommu_table *tbl, long index, long npages) in dart_free()
/linux-4.1.27/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()
545 static struct iommu_table *cell_get_iommu_table(struct device *dev) in cell_get_iommu_table()
/linux-4.1.27/drivers/net/ethernet/ibm/
Dibmveth.c1298 struct iommu_table *tbl; in ibmveth_get_desired_dma()