Lines Matching refs:pgtable
14 #include <linux/io-pgtable.h>
194 static u64 *fetch_pte(struct amd_io_pgtable *pgtable,
201 pte = &pgtable->pgd[PM_LEVEL_INDEX(level, iova)];
283 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops);
284 struct io_pgtable_cfg *cfg = &pgtable->iop.cfg;
294 pte = fetch_pte(pgtable, iova, &unmap_size);
309 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops);
313 pte = fetch_pte(pgtable, iova, &pte_pgsize);
349 struct amd_io_pgtable *pgtable = container_of(iop, struct amd_io_pgtable, iop);
351 if (!pgtable || !pgtable->pgd)
355 free_pgtable(pgtable->pgd, get_pgtable_level());
356 pgtable->pgd = NULL;
361 struct amd_io_pgtable *pgtable = io_pgtable_cfg_to_data(cfg);
365 pgtable->pgd = iommu_alloc_page_node(pdom->nid, GFP_ATOMIC);
366 if (!pgtable->pgd)
372 pgtable->iop.ops.map_pages = iommu_v2_map_pages;
373 pgtable->iop.ops.unmap_pages = iommu_v2_unmap_pages;
374 pgtable->iop.ops.iova_to_phys = iommu_v2_iova_to_phys;
381 return &pgtable->iop;