Lines Matching refs:iova

97 				      u64 iova, u64 size, u32 op)  in mmu_hw_do_operation_locked()  argument
103 lock_region(pfdev, as_nr, iova, size); in mmu_hw_do_operation_locked()
114 u64 iova, u64 size, u32 op) in mmu_hw_do_operation() argument
119 ret = mmu_hw_do_operation_locked(pfdev, mmu->as, iova, size, op); in mmu_hw_do_operation()
274 u64 iova, u64 size) in panfrost_mmu_flush_range() argument
283 mmu_hw_do_operation(pfdev, mmu, iova, size, AS_COMMAND_FLUSH_PT); in panfrost_mmu_flush_range()
289 u64 iova, int prot, struct sg_table *sgt) in mmu_map_sg() argument
294 u64 start_iova = iova; in mmu_map_sg()
300 dev_dbg(pfdev->dev, "map: as=%d, iova=%llx, paddr=%lx, len=%zx", mmu->as, iova, paddr, len); in mmu_map_sg()
304 size_t pgsize = get_pgsize(iova | paddr, len, &pgcount); in mmu_map_sg()
306 ops->map_pages(ops, iova, paddr, pgsize, pgcount, prot, in mmu_map_sg()
310 iova += mapped; in mmu_map_sg()
316 panfrost_mmu_flush_range(pfdev, mmu, start_iova, iova - start_iova); in mmu_map_sg()
353 u64 iova = mapping->mmnode.start << PAGE_SHIFT; in panfrost_mmu_unmap() local
361 mapping->mmu->as, iova, len); in panfrost_mmu_unmap()
365 size_t pgsize = get_pgsize(iova, len - unmapped_len, &pgcount); in panfrost_mmu_unmap()
369 if (!bo->is_heap || ops->iova_to_phys(ops, iova)) { in panfrost_mmu_unmap()
370 unmapped_page = ops->unmap_pages(ops, iova, pgsize, pgcount, NULL); in panfrost_mmu_unmap()
373 iova += pgsize * pgcount; in panfrost_mmu_unmap()
391 static void mmu_tlb_flush_walk(unsigned long iova, size_t size, size_t granule, in mmu_tlb_flush_walk() argument