mirror of
https://github.com/openwrt/openwrt.git
synced 2025-03-24 04:55:40 +00:00
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 <ilya.lipnitskiy@gmail.com> Cc: Tobias Wolf <dev-NTEO@vplace.de> Cc: Daniel Golle <daniel@makrotopia.org> Signed-off-by: maurerr <mariusd84@gmail.com>
This commit is contained in:
parent
0eae4d6802
commit
f23737f144
@ -0,0 +1,32 @@
|
||||
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
||||
From: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
|
||||
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 <ilya.lipnitskiy@gmail.com>
|
||||
Cc: Mike Rapoport <rppt@kernel.org>
|
||||
---
|
||||
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
|
@ -1,45 +0,0 @@
|
||||
From: Tobias Wolf <dev-NTEO@vplace.de>
|
||||
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 <dev-NTEO@vplace.de>
|
||||
---
|
||||
|
||||
--- 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;
|
Loading…
x
Reference in New Issue
Block a user