Searched refs:iovad (Results 1 – 3 of 3) sorted by relevance
/linux-4.1.27/drivers/iommu/ |
D | iova.c | 58 init_iova_domain(struct iova_domain *iovad, unsigned long granule, in init_iova_domain() argument 68 spin_lock_init(&iovad->iova_rbtree_lock); in init_iova_domain() 69 iovad->rbroot = RB_ROOT; in init_iova_domain() 70 iovad->cached32_node = NULL; in init_iova_domain() 71 iovad->granule = granule; in init_iova_domain() 72 iovad->start_pfn = start_pfn; in init_iova_domain() 73 iovad->dma_32bit_pfn = pfn_32bit; in init_iova_domain() 77 __get_cached_rbnode(struct iova_domain *iovad, unsigned long *limit_pfn) in __get_cached_rbnode() argument 79 if ((*limit_pfn != iovad->dma_32bit_pfn) || in __get_cached_rbnode() 80 (iovad->cached32_node == NULL)) in __get_cached_rbnode() [all …]
|
D | intel-iommu.c | 323 struct iova_domain iovad; /* iova's that belong to this domain */ member 1688 copy_reserved_iova(&reserved_iova_list, &domain->iovad); in domain_reserve_special_ranges() 1711 init_iova_domain(&domain->iovad, VTD_PAGE_SIZE, IOVA_START_PFN, in domain_init() 1775 put_iova_domain(&domain->iovad); in domain_exit() 2331 if (!reserve_iova(&domain->iovad, dma_to_mm_pfn(first_vpfn), in iommu_domain_identity_map() 2947 iova = alloc_iova(&domain->iovad, nrpages, in intel_alloc_iova() 2952 iova = alloc_iova(&domain->iovad, nrpages, IOVA_PFN(dma_mask), 1); in intel_alloc_iova() 3105 __free_iova(&domain->iovad, iova); in __intel_map_single() 3154 __free_iova(&deferred_flush[i].domain[j]->iovad, iova); in flush_unmaps() 3216 iova = find_iova(&domain->iovad, IOVA_PFN(dev_addr)); in intel_unmap() [all …]
|
/linux-4.1.27/include/linux/ |
D | iova.h | 41 static inline unsigned long iova_shift(struct iova_domain *iovad) in iova_shift() argument 43 return __ffs(iovad->granule); in iova_shift() 46 static inline unsigned long iova_mask(struct iova_domain *iovad) in iova_mask() argument 48 return iovad->granule - 1; in iova_mask() 51 static inline size_t iova_offset(struct iova_domain *iovad, dma_addr_t iova) in iova_offset() argument 53 return iova & iova_mask(iovad); in iova_offset() 56 static inline size_t iova_align(struct iova_domain *iovad, size_t size) in iova_align() argument 58 return ALIGN(size, iovad->granule); in iova_align() 61 static inline dma_addr_t iova_dma_addr(struct iova_domain *iovad, struct iova *iova) in iova_dma_addr() argument 63 return (dma_addr_t)iova->pfn_lo << iova_shift(iovad); in iova_dma_addr() [all …]
|