Commit fb575d17 authored by Suravee Suthikulpanit's avatar Suravee Suthikulpanit Committed by Joerg Roedel
Browse files

iommu/amd: Refactor protection_domain helper functions



To removes the code to setup GCR3 table, and only handle domain
create / destroy, since GCR3 is no longer part of a domain.

Signed-off-by: default avatarSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Signed-off-by: default avatarVasant Hegde <vasant.hegde@amd.com>
Reviewed-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/20240205115615.6053-13-vasant.hegde@amd.com


Signed-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent 4ebd4c7f
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -2176,9 +2176,6 @@ static void protection_domain_free(struct protection_domain *domain)
	if (domain->iop.pgtbl_cfg.tlb)
		free_io_pgtable_ops(&domain->iop.iop.ops);

	if (domain->flags & PD_IOMMUV2_MASK)
		free_gcr3_table(domain);

	if (domain->iop.root)
		free_page((unsigned long)domain->iop.root);

@@ -2206,15 +2203,10 @@ static int protection_domain_init_v1(struct protection_domain *domain, int mode)
	return 0;
}

static int protection_domain_init_v2(struct protection_domain *domain)
static int protection_domain_init_v2(struct protection_domain *pdom)
{
	domain->flags |= PD_GIOV_MASK;
	domain->pd_mode = PD_MODE_V2;

	domain->domain.pgsize_bitmap = AMD_IOMMU_PGSIZES_V2;

	if (setup_gcr3_table(domain, 1))
		return -ENOMEM;
	pdom->pd_mode = PD_MODE_V2;
	pdom->domain.pgsize_bitmap = AMD_IOMMU_PGSIZES_V2;

	return 0;
}