[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240207174102.1486130-6-pasha.tatashin@soleen.com>
Date: Wed, 7 Feb 2024 17:40:57 +0000
From: Pasha Tatashin <pasha.tatashin@...een.com>
To: akpm@...ux-foundation.org,
alim.akhtar@...sung.com,
alyssa@...enzweig.io,
asahi@...ts.linux.dev,
baolu.lu@...ux.intel.com,
bhelgaas@...gle.com,
cgroups@...r.kernel.org,
corbet@....net,
david@...hat.com,
dwmw2@...radead.org,
hannes@...xchg.org,
heiko@...ech.de,
iommu@...ts.linux.dev,
jernej.skrabec@...il.com,
jonathanh@...dia.com,
joro@...tes.org,
krzysztof.kozlowski@...aro.org,
linux-doc@...r.kernel.org,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-mm@...ck.org,
linux-rockchip@...ts.infradead.org,
linux-samsung-soc@...r.kernel.org,
linux-sunxi@...ts.linux.dev,
linux-tegra@...r.kernel.org,
lizefan.x@...edance.com,
marcan@...can.st,
mhiramat@...nel.org,
m.szyprowski@...sung.com,
pasha.tatashin@...een.com,
paulmck@...nel.org,
rdunlap@...radead.org,
robin.murphy@....com,
samuel@...lland.org,
suravee.suthikulpanit@....com,
sven@...npeter.dev,
thierry.reding@...il.com,
tj@...nel.org,
tomas.mudrunka@...il.com,
vdumpa@...dia.com,
wens@...e.org,
will@...nel.org,
yu-cheng.yu@...el.com,
rientjes@...gle.com,
bagasdotme@...il.com,
mkoutny@...e.com
Subject: [PATCH v4 05/10] iommu/exynos: use page allocation function provided by iommu-pages.h
Convert iommu/exynos-iommu.c to use the new page allocation functions
provided in iommu-pages.h.
Signed-off-by: Pasha Tatashin <pasha.tatashin@...een.com>
Acked-by: David Rientjes <rientjes@...gle.com>
Tested-by: Bagas Sanjaya <bagasdotme@...il.com>
---
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);
}
--
2.43.0.594.gd9cf4e227d-goog
Powered by blists - more mailing lists