bmips: update patches sent upstream
Update bmips patches with the latest version sent upstream Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
This commit is contained in:
parent
f08190e743
commit
8d0c254651
2 changed files with 42 additions and 20 deletions
|
@ -1,12 +1,13 @@
|
||||||
From 84c06b4a1dfa3e021fdbcafaff8cebfdec462402 Mon Sep 17 00:00:00 2001
|
From f48c93e4c4b5dbad1c0fbd623fd68f55f1667527 Mon Sep 17 00:00:00 2001
|
||||||
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||||
Date: Tue, 23 Feb 2021 10:39:48 +0100
|
Date: Fri, 10 Mar 2023 13:05:10 +0100
|
||||||
Subject: [PATCH] mips: bmips: BCM6358: disable ARCH_HAS_SYNC_DMA_FOR_CPU_ALL
|
Subject: [PATCH] mips: bmips: BCM6358: disable arch_sync_dma_for_cpu_all() for
|
||||||
|
TP1
|
||||||
MIME-Version: 1.0
|
MIME-Version: 1.0
|
||||||
Content-Type: text/plain; charset=UTF-8
|
Content-Type: text/plain; charset=UTF-8
|
||||||
Content-Transfer-Encoding: 8bit
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
Enabling this option causes kernel panics on BCM6358 with EHCI/OHCI:
|
arch_sync_dma_for_cpu_all() causes kernel panics on BCM6358 with EHCI/OHCI:
|
||||||
[ 3.881739] usb 1-1: new high-speed USB device number 2 using ehci-platform
|
[ 3.881739] usb 1-1: new high-speed USB device number 2 using ehci-platform
|
||||||
[ 3.895011] Reserved instruction in kernel code[#1]:
|
[ 3.895011] Reserved instruction in kernel code[#1]:
|
||||||
[ 3.900113] CPU: 0 PID: 1 Comm: init Not tainted 5.10.16 #0
|
[ 3.900113] CPU: 0 PID: 1 Comm: init Not tainted 5.10.16 #0
|
||||||
|
@ -45,27 +46,28 @@ Enabling this option causes kernel panics on BCM6358 with EHCI/OHCI:
|
||||||
[ 4.087374] Kernel panic - not syncing: Fatal exception
|
[ 4.087374] Kernel panic - not syncing: Fatal exception
|
||||||
[ 4.092753] Rebooting in 1 seconds..
|
[ 4.092753] Rebooting in 1 seconds..
|
||||||
|
|
||||||
|
This only happens when booting from TP1 instead of TP0.
|
||||||
|
|
||||||
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||||
---
|
---
|
||||||
arch/mips/bmips/dma.c
|
arch/mips/bmips/dma.c | 5 +++++
|
||||||
arch/mips/bmips/setup.c
|
arch/mips/bmips/setup.c | 9 +++++++++
|
||||||
|
2 files changed, 14 insertions(+)
|
||||||
|
|
||||||
--- a/arch/mips/bmips/dma.c
|
--- a/arch/mips/bmips/dma.c
|
||||||
+++ b/arch/mips/bmips/dma.c
|
+++ b/arch/mips/bmips/dma.c
|
||||||
@@ -19,6 +19,8 @@
|
@@ -64,11 +64,16 @@ phys_addr_t dma_to_phys(struct device *d
|
||||||
#include <linux/types.h>
|
return dma_addr;
|
||||||
#include <asm/bmips.h>
|
}
|
||||||
|
|
||||||
+int bmips_dma_sync_enabled = 1;
|
+int bmips_dma_sync_disable = 0;
|
||||||
+
|
+
|
||||||
/*
|
void arch_sync_dma_for_cpu_all(void)
|
||||||
* BCM338x has configurable address translation windows which allow the
|
{
|
||||||
* peripherals' DMA addresses to be different from the Zephyr-visible
|
|
||||||
@@ -69,6 +71,9 @@ void arch_sync_dma_for_cpu_all(void)
|
|
||||||
void __iomem *cbr = BMIPS_GET_CBR();
|
void __iomem *cbr = BMIPS_GET_CBR();
|
||||||
u32 cfg;
|
u32 cfg;
|
||||||
|
|
||||||
+ if (!bmips_dma_sync_enabled)
|
+ if (bmips_dma_sync_disable)
|
||||||
+ return;
|
+ return;
|
||||||
+
|
+
|
||||||
if (boot_cpu_type() != CPU_BMIPS3300 &&
|
if (boot_cpu_type() != CPU_BMIPS3300 &&
|
||||||
|
@ -77,18 +79,22 @@ Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||||
|
|
||||||
#define DDR_CSEND_REG 0x8
|
#define DDR_CSEND_REG 0x8
|
||||||
|
|
||||||
+extern int bmips_dma_sync_enabled;
|
+extern int bmips_dma_sync_disable;
|
||||||
+
|
+
|
||||||
static const unsigned long kbase = VMLINUX_LOAD_ADDRESS & 0xfff00000;
|
static const unsigned long kbase = VMLINUX_LOAD_ADDRESS & 0xfff00000;
|
||||||
|
|
||||||
struct bmips_cpufreq {
|
struct bmips_cpufreq {
|
||||||
@@ -168,6 +170,9 @@ static void bcm6358_quirks(void)
|
@@ -168,6 +170,13 @@ static void bcm6358_quirks(void)
|
||||||
* disable SMP for now
|
* disable SMP for now
|
||||||
*/
|
*/
|
||||||
bmips_smp_enabled = 0;
|
bmips_smp_enabled = 0;
|
||||||
+
|
+
|
||||||
+ /* ARCH_HAS_SYNC_DMA_FOR_CPU_ALL causes kernel panics on BCM6358 */
|
+ /*
|
||||||
+ bmips_dma_sync_enabled = 0;
|
+ * ARCH_HAS_SYNC_DMA_FOR_CPU_ALL causes kernel panics on BCM6358 when
|
||||||
|
+ * booting from TP1
|
||||||
|
+ */
|
||||||
|
+ if (read_c0_brcm_cmt_local() & (1 << 31))
|
||||||
|
+ bmips_dma_sync_disable = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void bcm6368_quirks(void)
|
static void bcm6368_quirks(void)
|
||||||
|
|
|
@ -1,3 +1,19 @@
|
||||||
|
From dadd7a1aa1eaebd5a03dee933c9051eae3724f00 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= <noltari@gmail.com>
|
||||||
|
Date: Thu, 9 Mar 2023 19:18:07 +0100
|
||||||
|
Subject: [PATCH] net: dsa: b53: mmap: fix device tree support
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
CPU port should also be enabled in order to get a working switch.
|
||||||
|
|
||||||
|
Fixes: a5538a777b73 ("net: dsa: b53: mmap: Add device tree support")
|
||||||
|
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
|
||||||
|
---
|
||||||
|
drivers/net/dsa/b53/b53_mmap.c | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
--- a/drivers/net/dsa/b53/b53_mmap.c
|
--- a/drivers/net/dsa/b53/b53_mmap.c
|
||||||
+++ b/drivers/net/dsa/b53/b53_mmap.c
|
+++ b/drivers/net/dsa/b53/b53_mmap.c
|
||||||
@@ -263,7 +263,7 @@ static int b53_mmap_probe_of(struct plat
|
@@ -263,7 +263,7 @@ static int b53_mmap_probe_of(struct plat
|
||||||
|
@ -5,7 +21,7 @@
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
- if (reg < B53_CPU_PORT)
|
- if (reg < B53_CPU_PORT)
|
||||||
+ if (reg <= B53_CPU_PORT)
|
+ if (reg < B53_N_PORTS)
|
||||||
pdata->enabled_ports |= BIT(reg);
|
pdata->enabled_ports |= BIT(reg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue