Home
last modified time | relevance | path

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

/linux-4.4.14/drivers/iommu/
Diova.c25 init_iova_domain(struct iova_domain *iovad, unsigned long granule, in init_iova_domain() argument
35 spin_lock_init(&iovad->iova_rbtree_lock); in init_iova_domain()
36 iovad->rbroot = RB_ROOT; in init_iova_domain()
37 iovad->cached32_node = NULL; in init_iova_domain()
38 iovad->granule = granule; in init_iova_domain()
39 iovad->start_pfn = start_pfn; in init_iova_domain()
40 iovad->dma_32bit_pfn = pfn_32bit; in init_iova_domain()
45 __get_cached_rbnode(struct iova_domain *iovad, unsigned long *limit_pfn) in __get_cached_rbnode() argument
47 if ((*limit_pfn != iovad->dma_32bit_pfn) || in __get_cached_rbnode()
48 (iovad->cached32_node == NULL)) in __get_cached_rbnode()
[all …]
Ddma-iommu.c46 struct iova_domain *iovad; in iommu_get_dma_cookie() local
51 iovad = kzalloc(sizeof(*iovad), GFP_KERNEL); in iommu_get_dma_cookie()
52 domain->iova_cookie = iovad; in iommu_get_dma_cookie()
54 return iovad ? 0 : -ENOMEM; in iommu_get_dma_cookie()
66 struct iova_domain *iovad = domain->iova_cookie; in iommu_put_dma_cookie() local
68 if (!iovad) in iommu_put_dma_cookie()
71 put_iova_domain(iovad); in iommu_put_dma_cookie()
72 kfree(iovad); in iommu_put_dma_cookie()
90 struct iova_domain *iovad = domain->iova_cookie; in iommu_dma_init_domain() local
93 if (!iovad) in iommu_dma_init_domain()
[all …]
Dintel-iommu.c394 struct iova_domain iovad; /* iova's that belong to this domain */ member
1844 copy_reserved_iova(&reserved_iova_list, &domain->iovad); in domain_reserve_special_ranges()
1867 init_iova_domain(&domain->iovad, VTD_PAGE_SIZE, IOVA_START_PFN, in domain_init()
1930 put_iova_domain(&domain->iovad); in domain_exit()
2492 if (!reserve_iova(&domain->iovad, dma_to_mm_pfn(first_vpfn), in iommu_domain_identity_map()
3319 iova = alloc_iova(&domain->iovad, nrpages, in intel_alloc_iova()
3324 iova = alloc_iova(&domain->iovad, nrpages, IOVA_PFN(dma_mask), 1); in intel_alloc_iova()
3485 __free_iova(&domain->iovad, iova); in __intel_map_single()
3534 __free_iova(&deferred_flush[i].domain[j]->iovad, iova); in flush_unmaps()
3596 iova = find_iova(&domain->iovad, IOVA_PFN(dev_addr)); in intel_unmap()
[all …]
/linux-4.4.14/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 …]
/linux-4.4.14/drivers/misc/mic/scif/
Dscif_rma.h102 struct iova_domain iovad; member
Dscif_epd.c107 put_iova_domain(&ep->rma_info.iovad); in scif_cleanup_zombie_epd()
Dscif_rma.c39 init_iova_domain(&rma->iovad, PAGE_SIZE, SCIF_IOVA_START_PFN, in scif_rma_ep_init()
1017 iova_ptr = reserve_iova(&ep->rma_info.iovad, page_index, in scif_get_window_offset()
1022 iova_ptr = alloc_iova(&ep->rma_info.iovad, num_pages, in scif_get_window_offset()
1045 free_iova(&ep->rma_info.iovad, offset >> PAGE_SHIFT); in scif_free_window_offset()