Lines Matching refs:iop
165 if (address <= PM_LEVEL_SIZE(domain->iop.mode)) in increase_address_space()
169 if (WARN_ON_ONCE(domain->iop.mode == PAGE_MODE_6_LEVEL)) in increase_address_space()
172 *pte = PM_LEVEL_PDE(domain->iop.mode, iommu_virt_to_phys(domain->iop.root)); in increase_address_space()
174 domain->iop.root = pte; in increase_address_space()
175 domain->iop.mode += 1; in increase_address_space()
183 amd_iommu_domain_set_pgtable(domain, pte, domain->iop.mode); in increase_address_space()
207 while (address > PM_LEVEL_SIZE(domain->iop.mode)) { in alloc_pte()
217 level = domain->iop.mode - 1; in alloc_pte()
218 pte = &domain->iop.root[PM_LEVEL_INDEX(level, address)]; in alloc_pte()
492 static void v1_free_pgtable(struct io_pgtable *iop) in v1_free_pgtable() argument
494 struct amd_io_pgtable *pgtable = container_of(iop, struct amd_io_pgtable, iop); in v1_free_pgtable()
501 dom = container_of(pgtable, struct protection_domain, iop); in v1_free_pgtable()
527 pgtable->iop.ops.map_pages = iommu_v1_map_pages; in v1_alloc_pgtable()
528 pgtable->iop.ops.unmap_pages = iommu_v1_unmap_pages; in v1_alloc_pgtable()
529 pgtable->iop.ops.iova_to_phys = iommu_v1_iova_to_phys; in v1_alloc_pgtable()
531 return &pgtable->iop; in v1_alloc_pgtable()