Lines Matching refs:page_table
525 u32 *page_table;
527 page_table = kmem_cache_zalloc(iommu->pt_pool, gfp);
528 if (!page_table)
531 pt_dma = dma_map_single(iommu->dev, page_table, PT_SIZE, DMA_TO_DEVICE);
534 kmem_cache_free(iommu->pt_pool, page_table);
539 WARN_ON(pt_dma != virt_to_phys(page_table));
541 return page_table;
545 u32 *page_table)
547 phys_addr_t pt_phys = virt_to_phys(page_table);
550 kmem_cache_free(iommu->pt_pool, page_table);
557 u32 *page_table;
569 page_table = sun50i_iommu_alloc_page_table(iommu, gfp);
570 if (IS_ERR(page_table))
571 return page_table;
573 dte = sun50i_mk_dte(virt_to_phys(page_table));
579 u32 *drop_pt = page_table;
581 page_table = installed_pt;
586 sun50i_table_flush(sun50i_domain, page_table, NUM_PT_ENTRIES);
589 return page_table;
599 u32 *page_table, *pte_addr;
602 page_table = sun50i_dte_get_page_table(sun50i_domain, iova, gfp);
603 if (IS_ERR(page_table)) {
604 ret = PTR_ERR(page_table);
609 pte_addr = &page_table[pte_index];
656 u32 *page_table;
664 page_table = (u32 *)phys_to_virt(pt_phys);
665 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);