From 5f07c579f8c2eeb8056628f7b6a8732bf0f8d492 Mon Sep 17 00:00:00 2001 From: Ilya Lipnitskiy Date: Sat, 3 Apr 2021 19:26:11 -0700 Subject: [PATCH] ramips: rt288x: replace hack with a kconfig change Use an existing kernel config symbol to fix devices whose ramstart is not zero. See upstream patch message for more details. Signed-off-by: Ilya Lipnitskiy Cc: Tobias Wolf Cc: Daniel Golle --- ...k-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch | 32 +++++++++++++ ...reservation-in-bootmem_init-for-cert.patch | 45 ------------------- 2 files changed, 32 insertions(+), 45 deletions(-) create mode 100644 target/linux/ramips/patches-5.10/201-MIPS-ralink-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch delete mode 100644 target/linux/ramips/patches-5.10/310-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch diff --git a/target/linux/ramips/patches-5.10/201-MIPS-ralink-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch b/target/linux/ramips/patches-5.10/201-MIPS-ralink-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch new file mode 100644 index 0000000000..2b6bfd2b7b --- /dev/null +++ b/target/linux/ramips/patches-5.10/201-MIPS-ralink-rt288x-select-MIPS_AUTO_PFN_OFFSET.patch @@ -0,0 +1,32 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Ilya Lipnitskiy +Date: Sat, 3 Apr 2021 18:51:44 -0700 +Subject: [PATCH] MIPS: ralink: rt288x: select MIPS_AUTO_PFN_OFFSET + +RT288X systems may have a non-zero ramstart causing problems with memory +reservations and boot hangs, as well as messages like: + Wasting 1048576 bytes for tracking 32768 unused pages + +Both are alleviated by selecting MIPS_AUTO_PFN_OFFSET for such +platforms. + +Tested on a Belkin F5D8235 v1 RT2880 device. + +Link: https://lore.kernel.org/linux-mips/20180820233111.xww5232dxbuouf4n@pburton-laptop/ + +Signed-off-by: Ilya Lipnitskiy +Cc: Mike Rapoport +--- + arch/mips/ralink/Kconfig | 1 + + 1 file changed, 1 insertion(+) + +--- a/arch/mips/ralink/Kconfig ++++ b/arch/mips/ralink/Kconfig +@@ -26,6 +26,7 @@ choice + + config SOC_RT288X + bool "RT288x" ++ select MIPS_AUTO_PFN_OFFSET + select MIPS_L1_CACHE_SHIFT_4 + select HAVE_LEGACY_CLK + select HAVE_PCI diff --git a/target/linux/ramips/patches-5.10/310-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch b/target/linux/ramips/patches-5.10/310-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch deleted file mode 100644 index 987ffbf3c4..0000000000 --- a/target/linux/ramips/patches-5.10/310-MIPS-Fix-memory-reservation-in-bootmem_init-for-cert.patch +++ /dev/null @@ -1,45 +0,0 @@ -From: Tobias Wolf -Subject: [v2] MIPS: Fix memory reservation in bootmem_init for certain non-usermem setups - -Commit 67a3ba25aa95 ("MIPS: Fix incorrect mem=X@Y handling") introduced a new -issue for rt288x where "PHYS_OFFSET" is 0x0 but the calculated "ramstart" is -not. As the prerequisite of custom memory map has been removed, this results -in the full memory range of 0x0 - 0x8000000 to be marked as reserved for this -platform. - -v2: Correctly compare that usermem is not null. - -This patch adds the originally intended prerequisite again. - -Signed-off-by: Tobias Wolf ---- - ---- a/arch/mips/kernel/setup.c -+++ b/arch/mips/kernel/setup.c -@@ -249,6 +249,8 @@ static unsigned long __init init_initrd( - * Initialize the bootmem allocator. It also setup initrd related data - * if needed. - */ -+static int usermem __initdata; -+ - #if defined(CONFIG_SGI_IP27) || (defined(CONFIG_CPU_LOONGSON64) && defined(CONFIG_NUMA)) - - static void __init bootmem_init(void) -@@ -288,7 +290,7 @@ static void __init bootmem_init(void) - /* - * Reserve any memory between the start of RAM and PHYS_OFFSET - */ -- if (ramstart > PHYS_OFFSET) -+ if (usermem && ramstart > PHYS_OFFSET) - memblock_reserve(PHYS_OFFSET, ramstart - PHYS_OFFSET); - - if (PFN_UP(ramstart) > ARCH_PFN_OFFSET) { -@@ -336,8 +338,6 @@ static void __init bootmem_init(void) - - #endif /* CONFIG_SGI_IP27 */ - --static int usermem __initdata; -- - static int __init early_parse_mem(char *p) - { - phys_addr_t start, size; -- 2.30.2