Lines Matching refs:page_table
524 u32 *page_table;
526 page_table = kmem_cache_zalloc(iommu->pt_pool, gfp);
527 if (!page_table)
530 pt_dma = dma_map_single(iommu->dev, page_table, PT_SIZE, DMA_TO_DEVICE);
533 kmem_cache_free(iommu->pt_pool, page_table);
538 WARN_ON(pt_dma != virt_to_phys(page_table));
540 return page_table;
544 u32 *page_table)
546 phys_addr_t pt_phys = virt_to_phys(page_table);
549 kmem_cache_free(iommu->pt_pool, page_table);
556 u32 *page_table;
568 page_table = sun50i_iommu_alloc_page_table(iommu, gfp);
569 if (IS_ERR(page_table))
570 return page_table;
572 dte = sun50i_mk_dte(virt_to_phys(page_table));
578 u32 *drop_pt = page_table;
580 page_table = installed_pt;
585 sun50i_table_flush(sun50i_domain, page_table, NUM_PT_ENTRIES);
588 return page_table;
597 u32 *page_table, *pte_addr;
600 page_table = sun50i_dte_get_page_table(sun50i_domain, iova, gfp);
601 if (IS_ERR(page_table)) {
602 ret = PTR_ERR(page_table);
607 pte_addr = &page_table[pte_index];
653 u32 *page_table;
661 page_table = (u32 *)phys_to_virt(pt_phys);
662 pte = page_table[sun50i_iova_get_pte_index(iova)];
734 u32 *page_table;
747 page_table = phys_to_virt(pt_phys);
748 sun50i_iommu_free_page_table(iommu, page_table);