Home
last modified time | relevance | path

Searched refs:iovad (Results 1 – 7 of 7) sorted by relevance

/linux-6.15/drivers/iommu/
H A Diova.c50 iovad->cached_node = &iovad->anchor.node; in init_iova_domain()
51 iovad->cached32_node = &iovad->anchor.node; in init_iova_domain()
54 iovad->dma_32bit_pfn = 1UL << (32 - iova_shift(iovad)); in init_iova_domain()
55 iovad->max32_alloc_size = iovad->dma_32bit_pfn; in init_iova_domain()
56 iovad->anchor.pfn_lo = iovad->anchor.pfn_hi = IOVA_ANCHOR; in init_iova_domain()
57 rb_link_node(&iovad->anchor.node, NULL, &iovad->rbroot.rb_node); in init_iova_domain()
58 rb_insert_color(&iovad->anchor.node, &iovad->rbroot); in init_iova_domain()
92 iovad->max32_alloc_size = iovad->dma_32bit_pfn; in __cached_rbnode_delete_update()
450 if (iovad->rcaches) in put_iova_domain()
730 rcache->iovad = iovad; in iova_domain_init_rcaches()
[all …]
H A Ddma-iommu.c470 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region() local
551 struct iova_domain *iovad = &cookie->iovad; in iova_reserve_iommu_regions() local
666 iovad = &cookie->iovad; in iommu_dma_init_domain()
743 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_alloc_iova() local
788 struct iova_domain *iovad = &domain->iova_cookie->iovad; in iommu_dma_free_iova() local
798 free_iova_fast(iovad, iova_pfn(iovad, iova), in iommu_dma_free_iova()
807 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_unmap() local
830 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_map() local
924 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_alloc_noncontiguous() local
1149 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_map_page() local
[all …]
/linux-6.15/include/linux/
H A Diova.h50 return __ffs(iovad->granule); in iova_shift()
55 return iovad->granule - 1; in iova_mask()
60 return iova & iova_mask(iovad); in iova_offset()
65 return ALIGN(size, iovad->granule); in iova_align()
70 return ALIGN_DOWN(size, iovad->granule); in iova_align_down()
75 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr()
80 return iova >> iova_shift(iovad); in iova_pfn()
89 void free_iova(struct iova_domain *iovad, unsigned long pfn);
102 int iova_domain_init_rcaches(struct iova_domain *iovad);
104 void put_iova_domain(struct iova_domain *iovad);
[all …]
/linux-6.15/drivers/vdpa/vdpa_user/
H A Diova_domain.c358 vduse_domain_alloc_iova(struct iova_domain *iovad, in vduse_domain_alloc_iova() argument
361 unsigned long shift = iova_shift(iovad); in vduse_domain_alloc_iova()
373 unsigned long shift = iova_shift(iovad); in vduse_domain_free_iova()
376 free_iova_fast(iovad, iova >> shift, iova_len); in vduse_domain_free_iova()
404 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_map_page() local
429 vduse_domain_free_iova(iovad, iova, size); in vduse_domain_map_page()
437 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_unmap_page() local
445 vduse_domain_free_iova(iovad, dma_addr, size); in vduse_domain_unmap_page()
452 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_alloc_coherent() local
477 vduse_domain_free_iova(iovad, iova, size); in vduse_domain_alloc_coherent()
[all …]
/linux-6.15/drivers/media/pci/intel/ipu6/
H A Dipu6-dma.c174 iova = alloc_iova(&mmu->dmap->iovad, count, in ipu6_dma_alloc()
236 __free_iova(&mmu->dmap->iovad, iova); in ipu6_dma_alloc()
249 struct iova *iova = find_iova(&mmu->dmap->iovad, PHYS_PFN(dma_handle)); in ipu6_dma_free()
291 __free_iova(&mmu->dmap->iovad, iova); in ipu6_dma_free()
336 struct iova *iova = find_iova(&mmu->dmap->iovad, in ipu6_dma_unmap_sg()
370 __free_iova(&mmu->dmap->iovad, iova); in ipu6_dma_unmap_sg()
400 iova = alloc_iova(&mmu->dmap->iovad, npages, in ipu6_dma_map_sg()
H A Dipu6-mmu.c424 iova = alloc_iova(&mmu->dmap->iovad, n_pages, in allocate_trash_buffer()
469 __free_iova(&mmu->dmap->iovad, iova); in allocate_trash_buffer()
626 init_iova_domain(&dmap->iovad, SZ_4K, 1); in alloc_dma_mapping()
713 iova = find_iova(&dmap->iovad, PHYS_PFN(mmu->iova_trash_page)); in ipu6_mmu_destroy()
718 __free_iova(&dmap->iovad, iova); in ipu6_mmu_destroy()
804 put_iova_domain(&dmap->iovad); in ipu6_mmu_cleanup()
H A Dipu6-dma.h20 struct iova_domain iovad; member