Home
last modified time | relevance | path

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

/linux-6.1.9/include/linux/
Diova.h28 struct iova_domain { struct
48 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument
53 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask()
58 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset()
63 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align()
68 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
73 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
84 void free_iova(struct iova_domain *iovad, unsigned long pfn);
85 void __free_iova(struct iova_domain *iovad, struct iova *iova);
86 struct iova *alloc_iova(struct iova_domain *iovad, unsigned long size,
[all …]
/linux-6.1.9/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-6.1.9/drivers/iommu/
Diova.c20 static bool iova_rcache_insert(struct iova_domain *iovad,
23 static unsigned long iova_rcache_get(struct iova_domain *iovad,
26 static void free_cpu_cached_iovas(unsigned int cpu, struct iova_domain *iovad);
27 static void free_iova_rcaches(struct iova_domain *iovad);
36 struct iova_domain *iovad; in iova_cpuhp_dead()
38 iovad = hlist_entry_safe(node, struct iova_domain, cpuhp_dead); in iova_cpuhp_dead()
44 static void free_global_cached_iovas(struct iova_domain *iovad);
52 init_iova_domain(struct iova_domain *iovad, unsigned long granule, in init_iova_domain()
77 __get_cached_rbnode(struct iova_domain *iovad, unsigned long limit_pfn) in __get_cached_rbnode()
86 __cached_rbnode_insert_update(struct iova_domain *iovad, struct iova *new) in __cached_rbnode_insert_update()
[all …]
Ddma-iommu.c50 struct iova_domain iovad;
400 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region()
432 struct iova_domain *iovad) in iova_reserve_pci_windows()
481 struct iova_domain *iovad = &cookie->iovad; in iova_reserve_iommu_regions()
542 struct iova_domain *iovad; in iommu_dma_init_domain()
629 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_alloc_iova()
660 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_free_iova()
679 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_unmap()
702 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_map()
795 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_alloc_noncontiguous()
[all …]
/linux-6.1.9/drivers/vdpa/vdpa_user/
Diova_domain.h29 struct iova_domain stream_iovad;
30 struct iova_domain consistent_iovad;
Diova_domain.c355 vduse_domain_alloc_iova(struct iova_domain *iovad, in vduse_domain_alloc_iova()
367 static void vduse_domain_free_iova(struct iova_domain *iovad, in vduse_domain_free_iova()
381 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_map_page()
413 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_unmap_page()
428 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_alloc_coherent()
462 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_free_coherent()
DMakefile3 vduse-y := vduse_dev.o iova_domain.o
/linux-6.1.9/drivers/vdpa/vdpa_sim/
Dvdpa_sim.h63 struct iova_domain iova;
/linux-6.1.9/drivers/gpu/drm/tegra/
Ddrm.h48 struct iova_domain domain;
/linux-6.1.9/drivers/media/platform/nvidia/tegra-vde/
Dvde.h116 struct iova_domain iova;
/linux-6.1.9/drivers/gpu/host1x/
Ddev.h137 struct iova_domain iova;