Lines Matching full:mmu

19 #include "ipu6-mmu.h"
29 static struct vm_info *get_vm_info(struct ipu6_mmu *mmu, dma_addr_t iova) in get_vm_info() argument
33 list_for_each_entry_safe(info, save, &mmu->vma_list, list) { in get_vm_info()
120 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_sync_single() local
122 info = get_vm_info(mmu, dma_handle); in ipu6_dma_sync_single()
159 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_alloc() local
174 iova = alloc_iova(&mmu->dmap->iovad, count, in ipu6_dma_alloc()
196 ret = ipu6_mmu_map(mmu->dmap->mmu_info, in ipu6_dma_alloc()
218 list_add(&info->list, &mmu->vma_list); in ipu6_dma_alloc()
225 pci_dma_addr = ipu6_mmu_iova_to_phys(mmu->dmap->mmu_info, in ipu6_dma_alloc()
230 ipu6_mmu_unmap(mmu->dmap->mmu_info, ipu6_iova, PAGE_SIZE); in ipu6_dma_alloc()
236 __free_iova(&mmu->dmap->iovad, iova); in ipu6_dma_alloc()
247 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_free() local
249 struct iova *iova = find_iova(&mmu->dmap->iovad, PHYS_PFN(dma_handle)); in ipu6_dma_free()
258 info = get_vm_info(mmu, dma_handle); in ipu6_dma_free()
278 pci_dma_addr = ipu6_mmu_iova_to_phys(mmu->dmap->mmu_info, in ipu6_dma_free()
284 ipu6_mmu_unmap(mmu->dmap->mmu_info, PFN_PHYS(iova->pfn_lo), in ipu6_dma_free()
289 mmu->tlb_invalidate(mmu); in ipu6_dma_free()
291 __free_iova(&mmu->dmap->iovad, iova); in ipu6_dma_free()
301 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_mmap() local
307 info = get_vm_info(mmu, iova); in ipu6_dma_mmap()
335 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_unmap_sg() local
336 struct iova *iova = find_iova(&mmu->dmap->iovad, in ipu6_dma_unmap_sg()
349 * Before IPU6 mmu unmap, return the pci dma address back to sg in ipu6_dma_unmap_sg()
357 pci_dma_addr = ipu6_mmu_iova_to_phys(mmu->dmap->mmu_info, in ipu6_dma_unmap_sg()
366 ipu6_mmu_unmap(mmu->dmap->mmu_info, PFN_PHYS(iova->pfn_lo), in ipu6_dma_unmap_sg()
369 mmu->tlb_invalidate(mmu); in ipu6_dma_unmap_sg()
370 __free_iova(&mmu->dmap->iovad, iova); in ipu6_dma_unmap_sg()
379 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_map_sg() local
400 iova = alloc_iova(&mmu->dmap->iovad, npages, in ipu6_dma_map_sg()
417 ret = ipu6_mmu_map(mmu->dmap->mmu_info, PFN_PHYS(iova_addr), in ipu6_dma_map_sg()
469 struct ipu6_mmu *mmu = sys->mmu; in ipu6_dma_get_sgtable() local
474 info = get_vm_info(mmu, handle); in ipu6_dma_get_sgtable()