diff options
Diffstat (limited to 'drivers/iommu/amd/io_pgtable.c')
| -rw-r--r-- | drivers/iommu/amd/io_pgtable.c | 13 | 
1 files changed, 7 insertions, 6 deletions
diff --git a/drivers/iommu/amd/io_pgtable.c b/drivers/iommu/amd/io_pgtable.c index 2a0d1e97e52f..9d9a7fde59e7 100644 --- a/drivers/iommu/amd/io_pgtable.c +++ b/drivers/iommu/amd/io_pgtable.c @@ -22,6 +22,7 @@  #include "amd_iommu_types.h"  #include "amd_iommu.h" +#include "../iommu-pages.h"  static void v1_tlb_flush_all(void *cookie)  { @@ -156,7 +157,7 @@ static bool increase_address_space(struct protection_domain *domain,  	bool ret = true;  	u64 *pte; -	pte = alloc_pgtable_page(domain->nid, gfp); +	pte = iommu_alloc_page_node(domain->nid, gfp);  	if (!pte)  		return false; @@ -187,7 +188,7 @@ static bool increase_address_space(struct protection_domain *domain,  out:  	spin_unlock_irqrestore(&domain->lock, flags); -	free_page((unsigned long)pte); +	iommu_free_page(pte);  	return ret;  } @@ -250,7 +251,7 @@ static u64 *alloc_pte(struct protection_domain *domain,  		if (!IOMMU_PTE_PRESENT(__pte) ||  		    pte_level == PAGE_MODE_NONE) { -			page = alloc_pgtable_page(domain->nid, gfp); +			page = iommu_alloc_page_node(domain->nid, gfp);  			if (!page)  				return NULL; @@ -259,7 +260,7 @@ static u64 *alloc_pte(struct protection_domain *domain,  			/* pte could have been changed somewhere. */  			if (!try_cmpxchg64(pte, &__pte, __npte)) -				free_page((unsigned long)page); +				iommu_free_page(page);  			else if (IOMMU_PTE_PRESENT(__pte))  				*updated = true; @@ -431,7 +432,7 @@ out:  	}  	/* Everything flushed out, free pages now */ -	put_pages_list(&freelist); +	iommu_put_pages_list(&freelist);  	return ret;  } @@ -580,7 +581,7 @@ static void v1_free_pgtable(struct io_pgtable *iop)  	/* Make changes visible to IOMMUs */  	amd_iommu_domain_update(dom); -	put_pages_list(&freelist); +	iommu_put_pages_list(&freelist);  }  static struct io_pgtable *v1_alloc_pgtable(struct io_pgtable_cfg *cfg, void *cookie)  |