Home
last modified time | relevance | path

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

/linux-4.1.27/drivers/iommu/
Diova.c58 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 …]
Dintel-iommu.c323 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/
Diova.h41 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 …]