Lines Matching refs:page_table
455 u32 *page_table;
457 page_table = kmem_cache_zalloc(iommu->pt_pool, gfp);
458 if (!page_table)
461 pt_dma = dma_map_single(iommu->dev, page_table, PT_SIZE, DMA_TO_DEVICE);
464 kmem_cache_free(iommu->pt_pool, page_table);
469 WARN_ON(pt_dma != virt_to_phys(page_table));
471 return page_table;
475 u32 *page_table)
477 phys_addr_t pt_phys = virt_to_phys(page_table);
480 kmem_cache_free(iommu->pt_pool, page_table);
487 u32 *page_table;
499 page_table = sun50i_iommu_alloc_page_table(iommu, gfp);
500 if (IS_ERR(page_table))
501 return page_table;
503 dte = sun50i_mk_dte(virt_to_phys(page_table));
509 u32 *drop_pt = page_table;
511 page_table = installed_pt;
516 sun50i_table_flush(sun50i_domain, page_table, NUM_PT_ENTRIES);
519 return page_table;
528 u32 *page_table, *pte_addr;
531 page_table = sun50i_dte_get_page_table(sun50i_domain, iova, gfp);
532 if (IS_ERR(page_table)) {
533 ret = PTR_ERR(page_table);
538 pte_addr = &page_table[pte_index];
584 u32 *page_table;
592 page_table = (u32 *)phys_to_virt(pt_phys);
593 pte = page_table[sun50i_iova_get_pte_index(iova)];
675 u32 *page_table;
688 page_table = phys_to_virt(pt_phys);
689 sun50i_iommu_free_page_table(iommu, page_table);