Home
last modified time | relevance | path

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

/linux-6.12.1/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 size_t iova_align_down(struct iova_domain *iovad, size_t size) in iova_align_down()
73 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr()
78 static inline unsigned long iova_pfn(struct iova_domain *iovad, dma_addr_t iova) in iova_pfn()
89 void free_iova(struct iova_domain *iovad, unsigned long pfn);
90 void __free_iova(struct iova_domain *iovad, struct iova *iova);
[all …]
/linux-6.12.1/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.12.1/drivers/iommu/
Diova.c21 static bool iova_rcache_insert(struct iova_domain *iovad,
24 static unsigned long iova_rcache_get(struct iova_domain *iovad,
27 static void free_iova_rcaches(struct iova_domain *iovad);
28 static void free_cpu_cached_iovas(unsigned int cpu, struct iova_domain *iovad);
29 static void free_global_cached_iovas(struct iova_domain *iovad);
37 init_iova_domain(struct iova_domain *iovad, unsigned long granule, in init_iova_domain()
62 __get_cached_rbnode(struct iova_domain *iovad, unsigned long limit_pfn) in __get_cached_rbnode()
71 __cached_rbnode_insert_update(struct iova_domain *iovad, struct iova *new) in __cached_rbnode_insert_update()
80 __cached_rbnode_delete_update(struct iova_domain *iovad, struct iova *free) in __cached_rbnode_delete_update()
98 static struct rb_node *iova_find_limit(struct iova_domain *iovad, unsigned long limit_pfn) in iova_find_limit()
[all …]
Ddma-iommu.c65 struct iova_domain iovad;
486 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region()
518 struct iova_domain *iovad) in iova_reserve_pci_windows()
567 struct iova_domain *iovad = &cookie->iovad; in iova_reserve_iommu_regions()
676 struct iova_domain *iovad; in iommu_dma_init_domain()
766 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_alloc_iova()
811 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_free_iova()
830 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_unmap()
853 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_map()
947 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_alloc_noncontiguous()
[all …]
/linux-6.12.1/drivers/vdpa/vdpa_user/
Diova_domain.h29 struct iova_domain stream_iovad;
30 struct iova_domain consistent_iovad;
Diova_domain.c358 vduse_domain_alloc_iova(struct iova_domain *iovad, in vduse_domain_alloc_iova()
370 static void vduse_domain_free_iova(struct iova_domain *iovad, in vduse_domain_free_iova()
404 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_map_page()
437 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_unmap_page()
452 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_alloc_coherent()
486 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_free_coherent()
DMakefile3 vduse-y := vduse_dev.o iova_domain.o
/linux-6.12.1/drivers/media/pci/intel/ipu6/
Dipu6-dma.h14 struct iova_domain iovad;
/linux-6.12.1/drivers/gpu/drm/tegra/
Ddrm.h40 struct iova_domain domain;
/linux-6.12.1/drivers/media/platform/nvidia/tegra-vde/
Dvde.h115 struct iova_domain iova;
/linux-6.12.1/drivers/gpu/host1x/
Ddev.h146 struct iova_domain iova;