Lines Matching refs:pgtable
14 #include <linux/io-pgtable.h>
139 /* lowest 3 bits encode pgtable mode */
290 static u64 *fetch_pte(struct amd_io_pgtable *pgtable,
299 if (address > PM_LEVEL_SIZE(pgtable->mode))
302 level = pgtable->mode - 1;
303 pte = &pgtable->root[PM_LEVEL_INDEX(level, address)];
443 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops);
454 pte = fetch_pte(pgtable, iova, &unmap_size);
474 struct amd_io_pgtable *pgtable = io_pgtable_ops_to_data(ops);
478 pte = fetch_pte(pgtable, iova, &pte_pgsize);
494 struct amd_io_pgtable *pgtable = container_of(iop, struct amd_io_pgtable, iop);
498 if (pgtable->mode == PAGE_MODE_NONE)
501 dom = container_of(pgtable, struct protection_domain, iop);
504 BUG_ON(pgtable->mode < PAGE_MODE_NONE ||
505 pgtable->mode > PAGE_MODE_6_LEVEL);
507 free_sub_pt(pgtable->root, pgtable->mode, &freelist);
520 struct amd_io_pgtable *pgtable = io_pgtable_cfg_to_data(cfg);
527 pgtable->iop.ops.map_pages = iommu_v1_map_pages;
528 pgtable->iop.ops.unmap_pages = iommu_v1_unmap_pages;
529 pgtable->iop.ops.iova_to_phys = iommu_v1_iova_to_phys;
531 return &pgtable->iop;