Lines Matching refs:iova
135 static u64 *v2_alloc_pte(int nid, u64 *pgd, unsigned long iova,
143 pte = &pgd[PM_LEVEL_INDEX(level, iova)];
144 iova = PAGE_SIZE_ALIGN(iova, PAGE_SIZE);
175 pte = &pte[PM_LEVEL_INDEX(level, iova)];
199 unsigned long iova, unsigned long *page_size)
205 pte = &pgtable->pgd[PM_LEVEL_INDEX(level, iova)];
216 pte = &pte[PM_LEVEL_INDEX(level - 1, iova)];
236 static int iommu_v2_map_pages(struct io_pgtable_ops *ops, unsigned long iova,
245 unsigned long o_iova = iova;
260 iova, map_size, gfp, &updated);
269 iova += map_size;
289 unsigned long iova,
304 pte = fetch_pte(pgtable, iova, &unmap_size);
310 iova = (iova & ~(unmap_size - 1)) + unmap_size;
317 static phys_addr_t iommu_v2_iova_to_phys(struct io_pgtable_ops *ops, unsigned long iova)
323 pte = fetch_pte(pgtable, iova, &pte_pgsize);
330 return (__pte & ~offset_mask) | (iova & offset_mask);
340 static void v2_tlb_flush_walk(unsigned long iova, size_t size,
346 unsigned long iova, size_t granule,