On 07.02.2024 18:40, Pasha Tatashin wrote: > Convert iommu/exynos-iommu.c to use the new page allocation functions > provided in iommu-pages.h. > > Signed-off-by: Pasha Tatashin <pasha.tatashin@xxxxxxxxxx> > Acked-by: David Rientjes <rientjes@xxxxxxxxxx> > Tested-by: Bagas Sanjaya <bagasdotme@xxxxxxxxx> Acked-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > drivers/iommu/exynos-iommu.c | 14 ++++++++------ > 1 file changed, 8 insertions(+), 6 deletions(-) > > diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c > index 2c6e9094f1e9..3eab0ae65a4f 100644 > --- a/drivers/iommu/exynos-iommu.c > +++ b/drivers/iommu/exynos-iommu.c > @@ -22,6 +22,8 @@ > #include <linux/pm_runtime.h> > #include <linux/slab.h> > > +#include "iommu-pages.h" > + > typedef u32 sysmmu_iova_t; > typedef u32 sysmmu_pte_t; > static struct iommu_domain exynos_identity_domain; > @@ -900,11 +902,11 @@ static struct iommu_domain *exynos_iommu_domain_alloc_paging(struct device *dev) > if (!domain) > return NULL; > > - domain->pgtable = (sysmmu_pte_t *)__get_free_pages(GFP_KERNEL, 2); > + domain->pgtable = iommu_alloc_pages(GFP_KERNEL, 2); > if (!domain->pgtable) > goto err_pgtable; > > - domain->lv2entcnt = (short *)__get_free_pages(GFP_KERNEL | __GFP_ZERO, 1); > + domain->lv2entcnt = iommu_alloc_pages(GFP_KERNEL, 1); > if (!domain->lv2entcnt) > goto err_counter; > > @@ -930,9 +932,9 @@ static struct iommu_domain *exynos_iommu_domain_alloc_paging(struct device *dev) > return &domain->domain; > > err_lv2ent: > - free_pages((unsigned long)domain->lv2entcnt, 1); > + iommu_free_pages(domain->lv2entcnt, 1); > err_counter: > - free_pages((unsigned long)domain->pgtable, 2); > + iommu_free_pages(domain->pgtable, 2); > err_pgtable: > kfree(domain); > return NULL; > @@ -973,8 +975,8 @@ static void exynos_iommu_domain_free(struct iommu_domain *iommu_domain) > phys_to_virt(base)); > } > > - free_pages((unsigned long)domain->pgtable, 2); > - free_pages((unsigned long)domain->lv2entcnt, 1); > + iommu_free_pages(domain->pgtable, 2); > + iommu_free_pages(domain->lv2entcnt, 1); > kfree(domain); > } > Best regards -- Marek Szyprowski, PhD Samsung R&D Institute Poland