From ccba125f1d9f66aa51fedfd1a0b13d1d38cc33c1 Mon Sep 17 00:00:00 2001
From: Phil Elwell <phil@raspberrypi.com>
Date: Wed, 21 Feb 2024 14:16:21 +0000
Subject: [PATCH] arm64/Kconfig: Don't set DMA_BOUNCE_UNALIGNED_KMALLOC

If enabled, DMA_BOUNCE_UNALIGNED_KMALLOC causes the swiotlb buffers
(64MB, by default) to be allocated, even on systems where the DMA
controller can reach all of RAM. This is a huge amount of RAM to
waste on a device with only 512MB to start with, such as the Zero 2 W.

See: https://github.com/raspberrypi/linux/issues/5975

Signed-off-by: Phil Elwell <phil@raspberrypi.com>
---
 arch/arm64/Kconfig | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -130,7 +130,8 @@ config ARM64
 	select CRC32
 	select DCACHE_WORD_ACCESS
 	select DYNAMIC_FTRACE if FUNCTION_TRACER
-	select DMA_BOUNCE_UNALIGNED_KMALLOC
+	# Disable this to save 64MB when DMA controllers can reach all of RAM
+	# select DMA_BOUNCE_UNALIGNED_KMALLOC
 	select DMA_DIRECT_REMAP
 	select EDAC_SUPPORT
 	select FRAME_POINTER
