Searched refs:iovad (Results 1 – 5 of 5) sorted by relevance
/linux/drivers/iommu/ |
A D | iova.c | 60 iovad->cached_node = &iovad->anchor.node; in init_iova_domain() 61 iovad->cached32_node = &iovad->anchor.node; in init_iova_domain() 64 iovad->dma_32bit_pfn = 1UL << (32 - iova_shift(iovad)); in init_iova_domain() 65 iovad->max32_alloc_size = iovad->dma_32bit_pfn; in init_iova_domain() 67 iovad->fq = NULL; in init_iova_domain() 68 iovad->anchor.pfn_lo = iovad->anchor.pfn_hi = IOVA_ANCHOR; in init_iova_domain() 69 rb_link_node(&iovad->anchor.node, NULL, &iovad->rbroot.rb_node); in init_iova_domain() 70 rb_insert_color(&iovad->anchor.node, &iovad->rbroot); in init_iova_domain() 160 iovad->max32_alloc_size = iovad->dma_32bit_pfn; in __cached_rbnode_delete_update() 588 iovad->flush_cb(iovad); in iova_domain_flush() [all …]
|
A D | dma-iommu.c | 192 struct iova_domain *iovad = &cookie->iovad; in cookie_init_hw_msi_region() local 263 struct iova_domain *iovad = &cookie->iovad; in iova_reserve_iommu_regions() local 364 iovad = &cookie->iovad; in iommu_dma_init_domain() 435 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_alloc_iova() local 474 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_free_iova() local 480 queue_iova(iovad, iova_pfn(iovad, iova), in iommu_dma_free_iova() 493 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_unmap() local 516 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_map() local 609 struct iova_domain *iovad = &cookie->iovad; in __iommu_dma_alloc_noncontiguous() local 801 struct iova_domain *iovad = &cookie->iovad; in iommu_dma_map_page() local [all …]
|
/linux/include/linux/ |
A D | iova.h | 108 return __ffs(iovad->granule); in iova_shift() 113 return iovad->granule - 1; in iova_mask() 118 return iova & iova_mask(iovad); in iova_offset() 123 return ALIGN(size, iovad->granule); in iova_align() 128 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr() 133 return iova >> iova_shift(iovad); in iova_pfn() 147 void queue_iova(struct iova_domain *iovad, 156 int init_iova_flush_queue(struct iova_domain *iovad, 159 void put_iova_domain(struct iova_domain *iovad); 186 static inline void free_iova_fast(struct iova_domain *iovad, in free_iova_fast() argument [all …]
|
A D | intel-iommu.h | 552 struct iova_domain iovad; /* iova's that belong to this domain */ member
|
/linux/drivers/vdpa/vdpa_user/ |
A D | iova_domain.c | 288 vduse_domain_alloc_iova(struct iova_domain *iovad, in vduse_domain_alloc_iova() argument 291 unsigned long shift = iova_shift(iovad); in vduse_domain_alloc_iova() 311 unsigned long shift = iova_shift(iovad); in vduse_domain_free_iova() 314 free_iova_fast(iovad, iova >> shift, iova_len); in vduse_domain_free_iova() 322 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_map_page() local 341 vduse_domain_free_iova(iovad, iova, size); in vduse_domain_map_page() 349 struct iova_domain *iovad = &domain->stream_iovad; in vduse_domain_unmap_page() local 355 vduse_domain_free_iova(iovad, dma_addr, size); in vduse_domain_unmap_page() 362 struct iova_domain *iovad = &domain->consistent_iovad; in vduse_domain_alloc_coherent() local 387 vduse_domain_free_iova(iovad, iova, size); in vduse_domain_alloc_coherent() [all …]
|
Completed in 17 milliseconds