Lines Matching refs:iova

32 					unsigned long iova,
37 iter->cur_iova = iova;
39 iter->area = iopt_area_iter_first(iopt, iova, iova);
108 static int iopt_alloc_iova(struct io_pagetable *iopt, unsigned long *iova,
156 *iova = used_span.start_hole;
163 static int iopt_check_iova(struct io_pagetable *iopt, unsigned long iova,
170 if ((iova & (iopt->iova_alignment - 1)))
173 if (check_add_overflow(iova, length - 1, &last))
177 if (iopt_reserved_iter_first(iopt, iova, last))
181 if (iopt_area_iter_first(iopt, iova, last))
190 struct iopt_pages *pages, unsigned long iova,
204 area->node.start = iova;
205 if (check_add_overflow(iova, length - 1, &area->node.last))
242 unsigned long iova;
281 iova = *dst_iova;
283 rc = iopt_insert_area(iopt, elm->area, elm->pages, iova,
287 iova += elm->length;
379 * iopt_map_user_pages() - Map a user VA to an iova in the io page table
382 * @iova: If IOPT_ALLOC_IOVA is set this is unused on input and contains
383 * the chosen iova on output. Otherwise is the iova to map to on input
389 * iova, uptr, and length must be aligned to iova_alignment. For domain backed
390 * page tables this will pin the pages and load them into the domain at iova.
398 unsigned long *iova, void __user *uptr,
416 rc = iopt_map_pages(iopt, &pages_list, length, iova, iommu_prot, flags);
427 int iopt_get_pages(struct io_pagetable *iopt, unsigned long iova,
437 if (check_add_overflow(iova, length - 1, &last_iova))
441 iopt_for_each_contig_area(&iter, area, iopt, iova, last_iova) {
548 * iopt_unmap_iova() - Remove a range of iova
550 * @iova: Starting iova to unmap
557 int iopt_unmap_iova(struct io_pagetable *iopt, unsigned long iova,
565 if (check_add_overflow(iova, length - 1, &iova_last))
568 return iopt_unmap_iova_range(iopt, iova, iova_last, unmapped);
988 * iopt_area_split - Split an area into two parts at iova
990 * @iova: Becomes the last of a new area
996 static int iopt_area_split(struct iopt_area *area, unsigned long iova)
1001 unsigned long new_start = iova + 1;
1010 if (iova == start_iova || iova == last_iova)