Searched refs:iovad (Results 1 – 4 of 4) sorted by relevance
/linux-6.3-rc2/drivers/iommu/ |
A D | iova.c | 63 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 D | dma-iommu.c | 403 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 D | iova.h | 50 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 D | iova_domain.c | 355 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