Home
last modified time | relevance | path

Searched refs:iova_domain (Results 1 – 13 of 13) sorted by relevance

/Linux-v5.15/include/linux/
Diova.h38 struct iova_domain;
41 typedef void (* iova_flush_cb)(struct iova_domain *domain);
68 struct iova_domain { struct
106 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument
111 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask()
116 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset()
121 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align()
126 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
131 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
140 void free_iova(struct iova_domain *iovad, unsigned long pfn);
[all …]
Dintel-iommu.h555 struct iova_domain iovad; /* iova's that belong to this domain */
/Linux-v5.15/drivers/staging/media/ipu3/
Dipu3-dmamap.c96 unsigned long shift = iova_shift(&imgu->iova_domain); in imgu_dmamap_alloc()
107 iova = alloc_iova(&imgu->iova_domain, size >> shift, in imgu_dmamap_alloc()
117 iovaddr = iova_dma_addr(&imgu->iova_domain, iova); in imgu_dmamap_alloc()
133 map->daddr = iova_dma_addr(&imgu->iova_domain, iova); in imgu_dmamap_alloc()
142 imgu_mmu_unmap(imgu->mmu, iova_dma_addr(&imgu->iova_domain, iova), in imgu_dmamap_alloc()
146 __free_iova(&imgu->iova_domain, iova); in imgu_dmamap_alloc()
155 iova = find_iova(&imgu->iova_domain, in imgu_dmamap_unmap()
156 iova_pfn(&imgu->iova_domain, map->daddr)); in imgu_dmamap_unmap()
160 imgu_mmu_unmap(imgu->mmu, iova_dma_addr(&imgu->iova_domain, iova), in imgu_dmamap_unmap()
161 iova_size(iova) << iova_shift(&imgu->iova_domain)); in imgu_dmamap_unmap()
[all …]
Dipu3.h134 struct iova_domain iova_domain; member
/Linux-v5.15/drivers/iommu/
Diova.c18 static bool iova_rcache_insert(struct iova_domain *iovad,
21 static unsigned long iova_rcache_get(struct iova_domain *iovad,
24 static void init_iova_rcaches(struct iova_domain *iovad);
25 static void free_cpu_cached_iovas(unsigned int cpu, struct iova_domain *iovad);
26 static void free_iova_rcaches(struct iova_domain *iovad);
27 static void fq_destroy_all_entries(struct iova_domain *iovad);
32 struct iova_domain *iovad; in iova_cpuhp_dead()
34 iovad = hlist_entry_safe(node, struct iova_domain, cpuhp_dead); in iova_cpuhp_dead()
40 static void free_global_cached_iovas(struct iova_domain *iovad);
48 init_iova_domain(struct iova_domain *iovad, unsigned long granule, in init_iova_domain()
[all …]
Ddma-iommu.c44 struct iova_domain iovad;
199 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region()
222 struct iova_domain *iovad) in iova_reserve_pci_windows()
270 struct iova_domain *iovad = &cookie->iovad; in iova_reserve_iommu_regions()
304 static void iommu_dma_flush_iotlb_all(struct iova_domain *iovad) in iommu_dma_flush_iotlb_all()
361 struct iova_domain *iovad; in iommu_dma_init_domain()
437 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_alloc_iova()
476 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_free_iova()
495 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_unmap()
535 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_map()
[all …]
/Linux-v5.15/drivers/vdpa/vdpa_user/
Diova_domain.h28 struct iova_domain stream_iovad;
29 struct iova_domain consistent_iovad;
Diova_domain.c288 vduse_domain_alloc_iova(struct iova_domain *iovad, in vduse_domain_alloc_iova()
308 static void vduse_domain_free_iova(struct iova_domain *iovad, in vduse_domain_free_iova()
322 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_map_page()
349 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_unmap_page()
362 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_alloc_coherent()
396 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_free_coherent()
DMakefile3 vduse-y := vduse_dev.o iova_domain.o
/Linux-v5.15/drivers/staging/media/tegra-vde/
Dvde.h48 struct iova_domain iova;
/Linux-v5.15/drivers/vdpa/vdpa_sim/
Dvdpa_sim.h61 struct iova_domain iova;
/Linux-v5.15/drivers/gpu/drm/tegra/
Ddrm.h48 struct iova_domain domain;
/Linux-v5.15/drivers/gpu/host1x/
Ddev.h125 struct iova_domain iova;