[PATCH 01/13] arm: mem_init: use memblock_phys_free() to free DMA memory on SA1111
From: Mike Rapoport
Date: Thu Mar 06 2025 - 13:52:09 EST
From: "Mike Rapoport (Microsoft)" <rppt@xxxxxxxxxx>
This will help to pull out memblock_free_all() to generic code.
Signed-off-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>
---
arch/arm/mm/init.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 5345d218899a..9aec1cb2386f 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -277,14 +277,14 @@ void __init mem_init(void)
set_max_mapnr(pfn_to_page(max_pfn) - mem_map);
- /* this will put all unused low memory onto the freelists */
- memblock_free_all();
-
#ifdef CONFIG_SA1111
/* now that our DMA memory is actually so designated, we can free it */
- free_reserved_area(__va(PHYS_OFFSET), swapper_pg_dir, -1, NULL);
+ memblock_phys_free(PHYS_OFFSET, __pa(swapper_pg_dir) - PHYS_OFFSET);
#endif
+ /* this will put all unused low memory onto the freelists */
+ memblock_free_all();
+
free_highpages();
/*
--
2.47.2