ramips: mt7621: disable highmem support and remove highmem offset patch
authorFelix Fietkau <nbd@nbd.name>
Mon, 24 Jul 2023 11:17:44 +0000 (13:17 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 24 Jul 2023 18:19:11 +0000 (20:19 +0200)
On MT7621 it was observed, that enabling highmem support causes a significant
performance drop, as documented in: https://github.com/openwrt/openwrt/issues/13151
By adjusting the highmem start offset, we avoid leaving any RAM unaddressable,
even on devices with 512 MB

Fixes: https://github.com/openwrt/openwrt/issues/13151
Signed-off-by: Felix Fietkau <nbd@nbd.name>
(cherry picked from commit cd2b74e01e8d5f5b80b82db1cb204c13ed99dd58)

target/linux/ramips/mt7621/config-5.15
target/linux/ramips/patches-5.15/120-highmem-start-offset.patch [new file with mode: 0644]

index b366dac723a59189686926aa7e466f80dbf04afc..05e4c1ce87799c60898ce7d8d3949afb47704f79 100644 (file)
@@ -7,7 +7,6 @@ CONFIG_ARCH_SUSPEND_POSSIBLE=y
 CONFIG_AT803X_PHY=y
 CONFIG_BLK_MQ_PCI=y
 CONFIG_BOARD_SCACHE=y
-CONFIG_BOUNCE=y
 CONFIG_CEVT_R4K=y
 CONFIG_CLKSRC_MIPS_GIC=y
 CONFIG_CLK_MT7621=y
@@ -91,7 +90,6 @@ CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y
 CONFIG_HAS_IOMEM=y
 CONFIG_HAS_IOPORT_MAP=y
-CONFIG_HIGHMEM=y
 CONFIG_I2C=y
 CONFIG_I2C_ALGOBIT=y
 CONFIG_I2C_BOARDINFO=y
@@ -106,7 +104,6 @@ CONFIG_IRQ_DOMAIN_HIERARCHY=y
 CONFIG_IRQ_FORCED_THREADING=y
 CONFIG_IRQ_MIPS_CPU=y
 CONFIG_IRQ_WORK=y
-CONFIG_KMAP_LOCAL=y
 CONFIG_LED_TRIGGER_PHY=y
 CONFIG_LIBFDT=y
 CONFIG_LOCK_DEBUGGING_SUPPORT=y
diff --git a/target/linux/ramips/patches-5.15/120-highmem-start-offset.patch b/target/linux/ramips/patches-5.15/120-highmem-start-offset.patch
new file mode 100644 (file)
index 0000000..629c7bf
--- /dev/null
@@ -0,0 +1,19 @@
+From: Felix Fietkau <nbd@nbd.name>
+Date: Mon Jul 24 13:29:13 CEST 2023
+Subject: [PATCH] mips: ralink: increase highmem start
+
+Increase highmem start address in order to support devices with 512 MB memory
+and MT7621 SoC
+
+Signed-off-by: Felix Fietkau <nbd@nbd.name>
+---
+--- a/arch/mips/include/asm/mach-ralink/spaces.h
++++ b/arch/mips/include/asm/mach-ralink/spaces.h
+@@ -5,6 +5,7 @@
+ #define PCI_IOBASE    _AC(0xa0000000, UL)
+ #define PCI_IOSIZE    SZ_16M
+ #define IO_SPACE_LIMIT        (PCI_IOSIZE - 1)
++#define HIGHMEM_START   _AC(0x24000000, UL)
+ #include <asm/mach-generic/spaces.h>
+ #endif