Lines Matching refs:iova

253 			       unsigned long iova, size_t size, int lvl,
273 unsigned long iova, phys_addr_t paddr,
291 tblp = ptep - ARM_LPAE_LVL_IDX(iova, lvl, data);
292 if (__arm_lpae_unmap(data, NULL, iova, sz, lvl, tblp) != sz) {
334 static int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova,
344 ptep += ARM_LPAE_LVL_IDX(iova, lvl, data);
348 return arm_lpae_init_pte(data, iova, paddr, prot, lvl, ptep);
377 return __arm_lpae_map(data, iova, paddr, size, prot, lvl + 1, cptep, gfp);
444 static int arm_lpae_map(struct io_pgtable_ops *ops, unsigned long iova,
452 long iaext = (s64)iova >> cfg->ias;
467 ret = __arm_lpae_map(data, iova, paddr, size, prot, lvl, ptep, gfp);
470 * a chance for anything to kick off a table walk for the new iova.
518 unsigned long iova, size_t size,
537 unmap_idx = ARM_LPAE_LVL_IDX(iova, lvl, data);
563 io_pgtable_tlb_add_page(&data->iop, gather, iova, size);
567 return __arm_lpae_unmap(data, gather, iova, size, lvl, tablep);
572 unsigned long iova, size_t size, int lvl,
582 ptep += ARM_LPAE_LVL_IDX(iova, lvl, data);
593 io_pgtable_tlb_flush_walk(iop, iova, size,
605 io_pgtable_tlb_add_page(iop, gather, iova, size);
614 return arm_lpae_split_blk_unmap(data, gather, iova, size, pte,
620 return __arm_lpae_unmap(data, gather, iova, size, lvl + 1, ptep);
623 static size_t arm_lpae_unmap(struct io_pgtable_ops *ops, unsigned long iova,
629 long iaext = (s64)iova >> cfg->ias;
639 return __arm_lpae_unmap(data, gather, iova, size, data->start_level, ptep);
643 unsigned long iova)
655 ptep += ARM_LPAE_LVL_IDX(iova, lvl, data);
674 iova &= (ARM_LPAE_BLOCK_SIZE(lvl, data) - 1);
675 return iopte_to_paddr(pte, data) | iova;
1075 static void __init dummy_tlb_flush(unsigned long iova, size_t size,
1083 unsigned long iova, size_t granule,
1086 dummy_tlb_flush(iova, granule, granule, cookie);
1123 unsigned long iova;
1153 iova = 0;
1157 if (ops->map(ops, iova, iova, size, IOMMU_READ |
1164 if (!ops->map(ops, iova, iova + size, size,
1168 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42))
1171 iova += SZ_1G;
1187 iova = 0;
1191 if (ops->unmap(ops, iova, size, NULL) != size)
1194 if (ops->iova_to_phys(ops, iova + 42))
1198 if (ops->map(ops, iova, iova, size, IOMMU_WRITE, GFP_KERNEL))
1201 if (ops->iova_to_phys(ops, iova + 42) != (iova + 42))
1204 iova += SZ_1G;