Lines Matching defs:iova

104 					 u64 iova, u64 size, u64 paddr)
107 u64 last = iova + size - 1;
109 while (iova <= last) {
110 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
118 iova += PAGE_SIZE;
124 u64 iova, u64 size)
127 u64 last = iova + size - 1;
129 while (iova <= last) {
130 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
132 iova += PAGE_SIZE;
161 dma_addr_t iova, size_t size,
169 if (iova >= domain->bounce_size)
173 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
174 offset = offset_in_page(iova);
185 iova += sz;
190 vduse_domain_get_coherent_page(struct vduse_iova_domain *domain, u64 iova)
192 u64 start = iova & PAGE_MASK;
202 page = pfn_to_page((map->addr + iova - map->start) >> PAGE_SHIFT);
211 vduse_domain_get_bounce_page(struct vduse_iova_domain *domain, u64 iova)
217 map = &domain->bounce_maps[iova >> PAGE_SHIFT];
368 dma_addr_t iova, size_t size)
373 free_iova_fast(iovad, iova >> shift, iova_len);
404 dma_addr_t iova = vduse_domain_alloc_iova(iovad, size, limit);
406 if (!iova)
413 if (vduse_domain_map_bounce_page(domain, (u64)iova, (u64)size, pa))
418 vduse_domain_bounce(domain, iova, size, DMA_TO_DEVICE);
422 return iova;
426 vduse_domain_free_iova(iovad, iova, size);
451 dma_addr_t iova = vduse_domain_alloc_iova(iovad, size, limit);
454 if (!iova || !orig)
458 if (vduse_iotlb_add_range(domain, (u64)iova, (u64)iova + size - 1,
460 domain->file, (u64)iova)) {
466 *dma_addr = iova;
473 if (iova)
474 vduse_domain_free_iova(iovad, iova, size);
509 unsigned long iova = vmf->pgoff << PAGE_SHIFT;
515 if (iova < domain->bounce_size)
516 page = vduse_domain_get_bounce_page(domain, iova);
518 page = vduse_domain_get_coherent_page(domain, iova);