Home
last modified time | relevance | path

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

/linux-6.3-rc2/drivers/iommu/
A Diova.c63 iovad->rbroot = RB_ROOT; in init_iova_domain()
64 iovad->cached_node = &iovad->anchor.node; in init_iova_domain()
65 iovad->cached32_node = &iovad->anchor.node; in init_iova_domain()
68 iovad->dma_32bit_pfn = 1UL << (32 - iova_shift(iovad)); in init_iova_domain()
69 iovad->max32_alloc_size = iovad->dma_32bit_pfn; in init_iova_domain()
70 iovad->anchor.pfn_lo = iovad->anchor.pfn_hi = IOVA_ANCHOR; in init_iova_domain()
71 rb_link_node(&iovad->anchor.node, NULL, &iovad->rbroot.rb_node); in init_iova_domain()
72 rb_insert_color(&iovad->anchor.node, &iovad->rbroot); in init_iova_domain()
106 iovad->max32_alloc_size = iovad->dma_32bit_pfn; in __cached_rbnode_delete_update()
512 if (iovad->rcaches) in put_iova_domain()
[all …]
A Ddma-iommu.c403 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region() local
484 struct iova_domain *iovad = &cookie->iovad; in iova_reserve_iommu_regions() local
551 iovad = &cookie->iovad; in iommu_dma_init_domain()
632 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_alloc_iova() local
663 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_free_iova() local
673 free_iova_fast(iovad, iova_pfn(iovad, iova), in iommu_dma_free_iova()
682 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_unmap() local
705 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_map() local
795 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_alloc_noncontiguous() local
994 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_map_page() local
[all …]
/linux-6.3-rc2/include/linux/
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 (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr()
75 return iova >> iova_shift(iovad); in iova_pfn()
84 void free_iova(struct iova_domain *iovad, unsigned long pfn);
97 int iova_domain_init_rcaches(struct iova_domain *iovad);
99 void put_iova_domain(struct iova_domain *iovad);
126 static inline void free_iova_fast(struct iova_domain *iovad, in free_iova_fast() argument
[all …]
/linux-6.3-rc2/drivers/vdpa/vdpa_user/
A Diova_domain.c355 vduse_domain_alloc_iova(struct iova_domain *iovad, in vduse_domain_alloc_iova() argument
358 unsigned long shift = iova_shift(iovad); in vduse_domain_alloc_iova()
370 unsigned long shift = iova_shift(iovad); in vduse_domain_free_iova()
373 free_iova_fast(iovad, iova >> shift, iova_len); in vduse_domain_free_iova()
381 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_map_page() local
405 vduse_domain_free_iova(iovad, iova, size); in vduse_domain_map_page()
413 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_unmap_page() local
421 vduse_domain_free_iova(iovad, dma_addr, size); in vduse_domain_unmap_page()
428 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_alloc_coherent() local
453 vduse_domain_free_iova(iovad, iova, size); in vduse_domain_alloc_coherent()
[all …]

Completed in 17 milliseconds