Lines Matching refs:pgtable

183 static sysmmu_pte_t *section_entry(sysmmu_pte_t *pgtable, sysmmu_iova_t iova)
185 return pgtable + lv1ent_offset(iova);
248 sysmmu_pte_t *pgtable; /* lv1 page table, 16KB */
251 spinlock_t pgtablelock; /* lock for modifying page table @ pgtable */
275 phys_addr_t pgtable; /* assigned page table structure */
395 dev_dbg(data->sysmmu, "Page table base: %pa\n", &data->pgtable);
396 ent = section_entry(phys_to_virt(data->pgtable), fault_addr);
500 __sysmmu_set_ptbase(data, data->pgtable);
757 domain->pgtable = (sysmmu_pte_t *)__get_free_pages(GFP_KERNEL, 2);
758 if (!domain->pgtable)
767 domain->pgtable[i] = ZERO_LV2LINK;
769 handle = dma_map_single(dma_dev, domain->pgtable, LV1TABLE_SIZE,
772 BUG_ON(handle != virt_to_phys(domain->pgtable));
789 free_pages((unsigned long)domain->pgtable, 2);
812 data->pgtable = 0;
823 dma_unmap_single(dma_dev, virt_to_phys(domain->pgtable), LV1TABLE_SIZE,
827 if (lv1ent_page(domain->pgtable + i)) {
828 phys_addr_t base = lv2table_base(domain->pgtable + i);
836 free_pages((unsigned long)domain->pgtable, 2);
846 phys_addr_t pagetable = virt_to_phys(domain->pgtable);
865 data->pgtable = 0;
875 dev_dbg(dev, "%s: Detached IOMMU with pgtable %pa\n", __func__,
885 phys_addr_t pagetable = virt_to_phys(domain->pgtable);
899 data->pgtable = pagetable;
916 dev_dbg(dev, "%s: Attached IOMMU with pgtable %pa\n", __func__,
1088 BUG_ON(domain->pgtable == NULL);
1093 entry = section_entry(domain->pgtable, iova);
1144 BUG_ON(domain->pgtable == NULL);
1148 ent = section_entry(domain->pgtable, iova);
1224 entry = section_entry(domain->pgtable, iova);