From 0bc1d99bcf774a54a2c0443ff48c97eab565c4cc Mon Sep 17 00:00:00 2001 From: Qingfang Deng Date: Wed, 27 May 2026 09:29:06 +0800 Subject: [PATCH] ramips: reduce ARCH_DMA_MINALIGN Currently, Ralink SoCs use the default ARCH_DMA_MINALIGN value of 128 bytes defined in mach-generic. This is excessive for these platforms and leads to significant memory waste in kmalloc. Override ARCH_DMA_MINALIGN to use L1_CACHE_BYTES, which is 16 bytes for RT288X and 32 bytes for other Ralink SoCs. Signed-off-by: Qingfang Deng Link: https://github.com/openwrt/openwrt/pull/23314 Signed-off-by: Hauke Mehrtens --- ...MIPS-ralink-reduce-ARCH_DMA_MINALIGN.patch | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 target/linux/ramips/patches-6.18/110-MIPS-ralink-reduce-ARCH_DMA_MINALIGN.patch diff --git a/target/linux/ramips/patches-6.18/110-MIPS-ralink-reduce-ARCH_DMA_MINALIGN.patch b/target/linux/ramips/patches-6.18/110-MIPS-ralink-reduce-ARCH_DMA_MINALIGN.patch new file mode 100644 index 00000000000..76c7dc32d7b --- /dev/null +++ b/target/linux/ramips/patches-6.18/110-MIPS-ralink-reduce-ARCH_DMA_MINALIGN.patch @@ -0,0 +1,31 @@ +From 1dc85756b759c3ecd21a22b0aef84ed41ddc7596 Mon Sep 17 00:00:00 2001 +From: Qingfang Deng +Date: Tue, 28 Apr 2026 16:25:40 +0800 +Subject: [PATCH] MIPS: ralink: reduce ARCH_DMA_MINALIGN + +Currently, Ralink SoCs use the default ARCH_DMA_MINALIGN value of 128 +bytes defined in mach-generic. This is excessive for these platforms +and leads to significant memory waste in kmalloc. + +Override ARCH_DMA_MINALIGN to use L1_CACHE_BYTES, which is 16 bytes for +RT288X and 32 bytes for other Ralink SoCs. + +Signed-off-by: Qingfang Deng +Signed-off-by: Thomas Bogendoerfer +--- + arch/mips/include/asm/mach-ralink/kmalloc.h | 9 +++++++++ + 1 file changed, 9 insertions(+) + create mode 100644 arch/mips/include/asm/mach-ralink/kmalloc.h + +--- /dev/null ++++ b/arch/mips/include/asm/mach-ralink/kmalloc.h +@@ -0,0 +1,9 @@ ++/* SPDX-License-Identifier: GPL-2.0 */ ++#ifndef __ASM_MACH_RALINK_KMALLOC_H ++#define __ASM_MACH_RALINK_KMALLOC_H ++ ++#ifdef CONFIG_DMA_NONCOHERENT ++#define ARCH_DMA_MINALIGN L1_CACHE_BYTES ++#endif ++ ++#endif /* __ASM_MACH_RALINK_KMALLOC_H */ -- 2.47.3