mirror of
https://github.com/OpenVoiceOS/OpenVoiceOS
synced 2025-02-18 21:00:46 +01:00
Bump rpi kernel and associated packages
This commit is contained in:
parent
4f2b7a19cd
commit
c5f373a843
@ -1 +1 @@
|
||||
Subproject commit 0cff207f4a8abd2ac83f7a27ac60c9a9ddaebf0f
|
||||
Subproject commit 383b8a6c8578f184f88d5c67681980c10e9fca02
|
@ -1 +1 @@
|
||||
coherent_pool=1M numa=fake=4 numa_policy=interleave mitigations=off 8250.nr_uarts=1 snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 dwc_otg.lpm_enable=0 cgroup_enable=memory psi=1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u
|
||||
coherent_pool=1M numa=fake=2 numa_policy=interleave mitigations=off 8250.nr_uarts=1 snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 dwc_otg.lpm_enable=0 cgroup_enable=memory psi=1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u
|
||||
|
@ -1,564 +0,0 @@
|
||||
From a69041cfea612c0db434e2df6ec3dda2cfddc3f8 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ma=C3=ADra=20Canal?= <mcanal@igalia.com>
|
||||
Date: Fri, 17 May 2024 11:40:23 -0300
|
||||
Subject: [PATCH 1/7] numa: Add simple generic NUMA emulation
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Add some common code for splitting the memory into N emulated NUMA memory
|
||||
nodes.
|
||||
|
||||
Individual architecture can then enable selecting this option and use the
|
||||
existing numa=fake=<N> kernel argument to enable it.
|
||||
|
||||
Memory is always split into equally sized chunks.
|
||||
|
||||
Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Co-developed-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Cc: Catalin Marinas <catalin.marinas@arm.com>
|
||||
Cc: Will Deacon <will@kernel.org>
|
||||
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Cc: “Rafael J. Wysocki" <rafael@kernel.org>
|
||||
---
|
||||
drivers/base/Kconfig | 7 ++++
|
||||
drivers/base/Makefile | 1 +
|
||||
drivers/base/arch_numa.c | 6 ++++
|
||||
drivers/base/numa_emulation.c | 67 +++++++++++++++++++++++++++++++++++
|
||||
drivers/base/numa_emulation.h | 21 +++++++++++
|
||||
5 files changed, 102 insertions(+)
|
||||
create mode 100644 drivers/base/numa_emulation.c
|
||||
create mode 100644 drivers/base/numa_emulation.h
|
||||
|
||||
diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig
|
||||
index 2b8fd6bb7da0b..1f60cd4dd057d 100644
|
||||
--- a/drivers/base/Kconfig
|
||||
+++ b/drivers/base/Kconfig
|
||||
@@ -230,6 +230,13 @@ config GENERIC_ARCH_NUMA
|
||||
Enable support for generic NUMA implementation. Currently, RISC-V
|
||||
and ARM64 use it.
|
||||
|
||||
+config GENERIC_ARCH_NUMA_EMULATION
|
||||
+ bool
|
||||
+ depends on GENERIC_ARCH_NUMA
|
||||
+ help
|
||||
+ Enable NUMA emulation. Note that NUMA emulation will only be used if
|
||||
+ the machine has no NUMA node.
|
||||
+
|
||||
config FW_DEVLINK_SYNC_STATE_TIMEOUT
|
||||
bool "sync_state() behavior defaults to timeout instead of strict"
|
||||
help
|
||||
diff --git a/drivers/base/Makefile b/drivers/base/Makefile
|
||||
index 3079bfe53d04d..34fcf5bd73702 100644
|
||||
--- a/drivers/base/Makefile
|
||||
+++ b/drivers/base/Makefile
|
||||
@@ -25,6 +25,7 @@ obj-$(CONFIG_DEV_COREDUMP) += devcoredump.o
|
||||
obj-$(CONFIG_GENERIC_MSI_IRQ) += platform-msi.o
|
||||
obj-$(CONFIG_GENERIC_ARCH_TOPOLOGY) += arch_topology.o
|
||||
obj-$(CONFIG_GENERIC_ARCH_NUMA) += arch_numa.o
|
||||
+obj-$(CONFIG_GENERIC_ARCH_NUMA_EMULATION) += numa_emulation.o
|
||||
obj-$(CONFIG_ACPI) += physical_location.o
|
||||
|
||||
obj-y += test/
|
||||
diff --git a/drivers/base/arch_numa.c b/drivers/base/arch_numa.c
|
||||
index 5b59d133b6af4..6ad08f681b3cc 100644
|
||||
--- a/drivers/base/arch_numa.c
|
||||
+++ b/drivers/base/arch_numa.c
|
||||
@@ -15,6 +15,8 @@
|
||||
|
||||
#include <asm/sections.h>
|
||||
|
||||
+#include "numa_emulation.h"
|
||||
+
|
||||
struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
|
||||
EXPORT_SYMBOL(node_data);
|
||||
nodemask_t numa_nodes_parsed __initdata;
|
||||
@@ -30,6 +32,8 @@ static __init int numa_parse_early_param(char *opt)
|
||||
return -EINVAL;
|
||||
if (str_has_prefix(opt, "off"))
|
||||
numa_off = true;
|
||||
+ if (str_has_prefix(opt, "fake="))
|
||||
+ return numa_emu_cmdline(opt + 5);
|
||||
|
||||
return 0;
|
||||
}
|
||||
@@ -471,6 +475,8 @@ void __init arch_numa_init(void)
|
||||
return;
|
||||
if (acpi_disabled && !numa_init(of_numa_init))
|
||||
return;
|
||||
+ if (!numa_init(numa_emu_init))
|
||||
+ return;
|
||||
}
|
||||
|
||||
numa_init(dummy_numa_init);
|
||||
diff --git a/drivers/base/numa_emulation.c b/drivers/base/numa_emulation.c
|
||||
new file mode 100644
|
||||
index 0000000000000..df652fa8351b6
|
||||
--- /dev/null
|
||||
+++ b/drivers/base/numa_emulation.c
|
||||
@@ -0,0 +1,67 @@
|
||||
+// SPDX-License-Identifier: GPL-2.0-only
|
||||
+/*
|
||||
+ * Simple NUMA emulation.
|
||||
+ *
|
||||
+ * Copyright © 2024 Raspberry Pi Ltd
|
||||
+ *
|
||||
+ * Author: Maíra Canal <mcanal@igalia.com>
|
||||
+ * Author: Tvrtko Ursulin <tursulin@igalia.com>
|
||||
+ */
|
||||
+#include <linux/memblock.h>
|
||||
+
|
||||
+#include "numa_emulation.h"
|
||||
+
|
||||
+static unsigned int emu_nodes;
|
||||
+
|
||||
+int __init numa_emu_cmdline(char *str)
|
||||
+{
|
||||
+ int ret;
|
||||
+
|
||||
+ ret = kstrtouint(str, 10, &emu_nodes);
|
||||
+ if (ret)
|
||||
+ return ret;
|
||||
+
|
||||
+ if (emu_nodes > MAX_NUMNODES) {
|
||||
+ pr_notice("numa=fake=%u too large, reducing to %u\n",
|
||||
+ emu_nodes, MAX_NUMNODES);
|
||||
+ emu_nodes = MAX_NUMNODES;
|
||||
+ }
|
||||
+
|
||||
+ return 0;
|
||||
+}
|
||||
+
|
||||
+int __init numa_emu_init(void)
|
||||
+{
|
||||
+ phys_addr_t start, end;
|
||||
+ unsigned long size;
|
||||
+ unsigned int i;
|
||||
+ int ret;
|
||||
+
|
||||
+ if (!emu_nodes)
|
||||
+ return -EINVAL;
|
||||
+
|
||||
+ start = memblock_start_of_DRAM();
|
||||
+ end = memblock_end_of_DRAM() - 1;
|
||||
+
|
||||
+ size = DIV_ROUND_DOWN_ULL(end - start + 1, emu_nodes);
|
||||
+ size = PAGE_ALIGN_DOWN(size);
|
||||
+
|
||||
+ for (i = 0; i < emu_nodes; i++) {
|
||||
+ u64 s, e;
|
||||
+
|
||||
+ s = start + i * size;
|
||||
+ e = s + size - 1;
|
||||
+
|
||||
+ if (i == (emu_nodes - 1) && e != end)
|
||||
+ e = end;
|
||||
+
|
||||
+ pr_info("Faking a node at [mem %pap-%pap]\n", &s, &e);
|
||||
+ ret = numa_add_memblk(i, s, e + 1);
|
||||
+ if (ret) {
|
||||
+ pr_err("Failed to add fake NUMA node %d!\n", i);
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
+ return ret;
|
||||
+}
|
||||
diff --git a/drivers/base/numa_emulation.h b/drivers/base/numa_emulation.h
|
||||
new file mode 100644
|
||||
index 0000000000000..62b38215a2f00
|
||||
--- /dev/null
|
||||
+++ b/drivers/base/numa_emulation.h
|
||||
@@ -0,0 +1,21 @@
|
||||
+/* SPDX-License-Identifier: GPL-2.0-only */
|
||||
+/*
|
||||
+ * NUMA emulation header
|
||||
+ *
|
||||
+ * Copyright © 2024 Raspberry Pi Ltd
|
||||
+ */
|
||||
+
|
||||
+#ifdef CONFIG_GENERIC_ARCH_NUMA_EMULATION
|
||||
+int numa_emu_cmdline(char *str);
|
||||
+int __init numa_emu_init(void);
|
||||
+#else
|
||||
+static inline int numa_emu_cmdline(char *str)
|
||||
+{
|
||||
+ return -EINVAL;
|
||||
+}
|
||||
+
|
||||
+static int __init numa_emu_init(void)
|
||||
+{
|
||||
+ return -EOPNOTSUPP;
|
||||
+}
|
||||
+#endif /* CONFIG_NUMA_EMU */
|
||||
|
||||
From a39545f2be3992471c74ddc8a210c605f9c63d9d Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Ma=C3=ADra=20Canal?= <mcanal@igalia.com>
|
||||
Date: Fri, 17 May 2024 11:40:34 -0300
|
||||
Subject: [PATCH 2/7] arm64/numa: Add NUMA emulation for ARM64
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Allow selecting NUMA emulation on arm64.
|
||||
|
||||
Signed-off-by: Maíra Canal <mcanal@igalia.com>
|
||||
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Cc: Catalin Marinas <catalin.marinas@arm.com>
|
||||
Cc: Will Deacon <will@kernel.org>
|
||||
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||
Cc: “Rafael J. Wysocki" <rafael@kernel.org>
|
||||
---
|
||||
arch/arm64/Kconfig | 10 ++++++++++
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
|
||||
index 6d05b69f2318b..103200d8c542d 100644
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -1499,6 +1499,16 @@ config NODES_SHIFT
|
||||
Specify the maximum number of NUMA Nodes available on the target
|
||||
system. Increases memory reserved to accommodate various tables.
|
||||
|
||||
+config NUMA_EMULATION
|
||||
+ bool "NUMA emulation"
|
||||
+ depends on NUMA
|
||||
+ select GENERIC_ARCH_NUMA_EMULATION
|
||||
+ help
|
||||
+ Enable NUMA emulation support. A flat machine will be split into
|
||||
+ virtual nodes when booted with "numa=fake=N", where N is the number
|
||||
+ of nodes, the system RAM will be split into N equal chunks, and
|
||||
+ assigned to each node.
|
||||
+
|
||||
source "kernel/Kconfig.hz"
|
||||
|
||||
config ARCH_SPARSEMEM_ENABLE
|
||||
|
||||
From 976b92ae3b7d8f134c94ed3739379b0f25c3a84b Mon Sep 17 00:00:00 2001
|
||||
From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Date: Wed, 22 May 2024 17:12:16 +0100
|
||||
Subject: [PATCH 3/7] mm/numa: Allow override of kernel's default NUMA policy
|
||||
|
||||
Add numa_policy kernel argument to allow overriding the kernel's default
|
||||
NUMA policy at boot time.
|
||||
|
||||
Syntax identical to what tmpfs accepts as it's mpol argument is accepted.
|
||||
|
||||
Some examples:
|
||||
|
||||
numa_policy=interleave
|
||||
numa_policy=interleave=skip-interleave
|
||||
numa_policy=bind:0-3,5,7,9-15
|
||||
numa_policy=bind=static:1-2
|
||||
|
||||
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
---
|
||||
mm/mempolicy.c | 49 ++++++++++++++++++++++++++++++++++++++++++-------
|
||||
1 file changed, 42 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
|
||||
index 4cae854c0f28d..fb63b8548ae84 100644
|
||||
--- a/mm/mempolicy.c
|
||||
+++ b/mm/mempolicy.c
|
||||
@@ -2974,7 +2974,9 @@ void __init numa_policy_init(void)
|
||||
/* Reset policy of current process to default */
|
||||
void numa_default_policy(void)
|
||||
{
|
||||
- do_set_mempolicy(MPOL_DEFAULT, 0, NULL);
|
||||
+ struct mempolicy *pol = &default_policy;
|
||||
+
|
||||
+ do_set_mempolicy(pol->mode, pol->flags, &pol->nodes);
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -2992,7 +2994,6 @@ static const char * const policy_modes[] =
|
||||
};
|
||||
|
||||
|
||||
-#ifdef CONFIG_TMPFS
|
||||
/**
|
||||
* mpol_parse_str - parse string to mempolicy, for tmpfs mpol mount option.
|
||||
* @str: string containing mempolicy to parse
|
||||
@@ -3005,13 +3006,18 @@ static const char * const policy_modes[] =
|
||||
*/
|
||||
int mpol_parse_str(char *str, struct mempolicy **mpol)
|
||||
{
|
||||
- struct mempolicy *new = NULL;
|
||||
+ struct mempolicy *new;
|
||||
unsigned short mode_flags;
|
||||
nodemask_t nodes;
|
||||
char *nodelist = strchr(str, ':');
|
||||
char *flags = strchr(str, '=');
|
||||
int err = 1, mode;
|
||||
|
||||
+ if (*mpol)
|
||||
+ new = *mpol;
|
||||
+ else
|
||||
+ new = NULL;
|
||||
+
|
||||
if (flags)
|
||||
*flags++ = '\0'; /* terminate mode string */
|
||||
|
||||
@@ -3090,9 +3096,16 @@ int mpol_parse_str(char *str, struct mempolicy **mpol)
|
||||
goto out;
|
||||
}
|
||||
|
||||
- new = mpol_new(mode, mode_flags, &nodes);
|
||||
- if (IS_ERR(new))
|
||||
- goto out;
|
||||
+ if (!new) {
|
||||
+ new = mpol_new(mode, mode_flags, &nodes);
|
||||
+ if (IS_ERR(new))
|
||||
+ goto out;
|
||||
+ } else {
|
||||
+ atomic_set(&new->refcnt, 1);
|
||||
+ new->mode = mode;
|
||||
+ new->flags = mode_flags;
|
||||
+ new->home_node = NUMA_NO_NODE;
|
||||
+ }
|
||||
|
||||
/*
|
||||
* Save nodes for mpol_to_str() to show the tmpfs mount options
|
||||
@@ -3125,7 +3138,29 @@ int mpol_parse_str(char *str, struct mempolicy **mpol)
|
||||
*mpol = new;
|
||||
return err;
|
||||
}
|
||||
-#endif /* CONFIG_TMPFS */
|
||||
+
|
||||
+static int __init setup_numapolicy(char *str)
|
||||
+{
|
||||
+ struct mempolicy pol = { }, *ppol = &pol;
|
||||
+ char buf[128];
|
||||
+ int ret;
|
||||
+
|
||||
+ if (str)
|
||||
+ ret = mpol_parse_str(str, &ppol);
|
||||
+ else
|
||||
+ ret = -EINVAL;
|
||||
+
|
||||
+ if (!ret) {
|
||||
+ default_policy = pol;
|
||||
+ mpol_to_str(buf, sizeof(buf), &pol);
|
||||
+ pr_info("NUMA default policy overridden to '%s'\n", buf);
|
||||
+ } else {
|
||||
+ pr_warn("Unable to parse numa_policy=\n");
|
||||
+ }
|
||||
+
|
||||
+ return ret == 0;
|
||||
+}
|
||||
+__setup("numa_policy=", setup_numapolicy);
|
||||
|
||||
/**
|
||||
* mpol_to_str - format a mempolicy structure for printing
|
||||
|
||||
From 19adc602017aa88be7f43f17c2515eba9ebaf942 Mon Sep 17 00:00:00 2001
|
||||
From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Date: Wed, 17 Jul 2024 09:33:21 +0100
|
||||
Subject: [PATCH 4/7] dma-buf: system_heap: Allow specifying maximum allocation
|
||||
order
|
||||
|
||||
system_heap.max_order=<uint>
|
||||
|
||||
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
---
|
||||
drivers/dma-buf/heaps/system_heap.c | 10 +++++++++-
|
||||
1 file changed, 9 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/drivers/dma-buf/heaps/system_heap.c b/drivers/dma-buf/heaps/system_heap.c
|
||||
index 9076d47ed2ef4..9dc5dfeaca2a7 100644
|
||||
--- a/drivers/dma-buf/heaps/system_heap.c
|
||||
+++ b/drivers/dma-buf/heaps/system_heap.c
|
||||
@@ -54,6 +54,11 @@ static gfp_t order_flags[] = {HIGH_ORDER_GFP, HIGH_ORDER_GFP, LOW_ORDER_GFP};
|
||||
static const unsigned int orders[] = {8, 4, 0};
|
||||
#define NUM_ORDERS ARRAY_SIZE(orders)
|
||||
|
||||
+static unsigned int module_max_order = orders[0];
|
||||
+
|
||||
+module_param_named(max_order, module_max_order, uint, 0400);
|
||||
+MODULE_PARM_DESC(max_order, "Maximum allocation order override.");
|
||||
+
|
||||
static struct sg_table *dup_sg_table(struct sg_table *table)
|
||||
{
|
||||
struct sg_table *new_table;
|
||||
@@ -339,7 +344,7 @@ static struct dma_buf *system_heap_allocate(struct dma_heap *heap,
|
||||
struct system_heap_buffer *buffer;
|
||||
DEFINE_DMA_BUF_EXPORT_INFO(exp_info);
|
||||
unsigned long size_remaining = len;
|
||||
- unsigned int max_order = orders[0];
|
||||
+ unsigned int max_order = module_max_order;
|
||||
struct dma_buf *dmabuf;
|
||||
struct sg_table *table;
|
||||
struct scatterlist *sg;
|
||||
@@ -433,6 +438,9 @@ static int system_heap_create(void)
|
||||
if (IS_ERR(sys_heap))
|
||||
return PTR_ERR(sys_heap);
|
||||
|
||||
+ if (module_max_order > orders[0])
|
||||
+ module_max_order = orders[0];
|
||||
+
|
||||
return 0;
|
||||
}
|
||||
module_init(system_heap_create);
|
||||
|
||||
From 933b9fccb049caae1d53a8e4dc42b225524c480e Mon Sep 17 00:00:00 2001
|
||||
From: Phil Elwell <phil@raspberrypi.com>
|
||||
Date: Tue, 23 Jul 2024 15:55:54 +0100
|
||||
Subject: [PATCH 6/7] dts: Move some common rpi settings into rpi files
|
||||
|
||||
Most 2711 devices and all 2712 device share common bootargs (command
|
||||
lines). Make the common values shared defaults, overriding them were
|
||||
necessary.
|
||||
|
||||
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
---
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts | 4 ----
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts | 4 ----
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi | 1 +
|
||||
arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 5 -----
|
||||
arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi | 5 -----
|
||||
arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi | 5 +++++
|
||||
6 files changed, 6 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
|
||||
index d3a3a1e4d4c68..75ce412a85dd7 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
|
||||
@@ -265,10 +265,6 @@
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
|
||||
/ {
|
||||
- chosen {
|
||||
- bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0";
|
||||
- };
|
||||
-
|
||||
/delete-node/ wifi-pwrseq;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts
|
||||
index 6ed20e0a88d1a..678b37518fdc1 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4.dts
|
||||
@@ -274,10 +274,6 @@
|
||||
#include "bcm283x-rpi-i2c0mux_0_44.dtsi"
|
||||
|
||||
/ {
|
||||
- chosen {
|
||||
- bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0";
|
||||
- };
|
||||
-
|
||||
/delete-node/ wifi-pwrseq;
|
||||
};
|
||||
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
index b264daee2703d..f134343029b61 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
/ {
|
||||
chosen: chosen {
|
||||
+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0";
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
|
||||
index 52b58acdb95ca..e2c9e1e28444a 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
|
||||
@@ -430,11 +430,6 @@ dpi_16bit_gpio2: &rp1_dpi_16bit_gpio2 { };
|
||||
};
|
||||
|
||||
/ {
|
||||
- chosen: chosen {
|
||||
- bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe";
|
||||
- stdout-path = "serial10:115200n8";
|
||||
- };
|
||||
-
|
||||
fan: cooling_fan {
|
||||
status = "disabled";
|
||||
compatible = "pwm-fan";
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
|
||||
index bff6dd0eca638..1bbf8e76fb869 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-cm5.dtsi
|
||||
@@ -420,11 +420,6 @@ dpi_16bit_gpio2: &rp1_dpi_16bit_gpio2 { };
|
||||
};
|
||||
|
||||
/ {
|
||||
- chosen: chosen {
|
||||
- bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe";
|
||||
- stdout-path = "serial10:115200n8";
|
||||
- };
|
||||
-
|
||||
fan: cooling_fan {
|
||||
status = "disabled";
|
||||
compatible = "pwm-fan";
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
index ca9833da402db..8241ed5d77e63 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
@@ -98,6 +98,11 @@
|
||||
};
|
||||
|
||||
/ {
|
||||
+ chosen: chosen {
|
||||
+ bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe";
|
||||
+ stdout-path = "serial10:115200n8";
|
||||
+ };
|
||||
+
|
||||
aliases: aliases {
|
||||
blconfig = &blconfig;
|
||||
blpubkey = &blpubkey;
|
||||
|
||||
From e87a8694aa8d0db63b4951bd76ae97b3cea75828 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Thu, 18 Jul 2024 20:22:18 +0100
|
||||
Subject: [PATCH 7/7] dts: Set preferred numa options in bootargs
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts | 2 +-
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi | 2 +-
|
||||
arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
|
||||
index d9fc78e49bf39..36109a0099afd 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4s.dts
|
||||
@@ -148,7 +148,7 @@
|
||||
|
||||
/ {
|
||||
chosen {
|
||||
- bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0";
|
||||
+ bootargs = "coherent_pool=1M snd_bcm2835.enable_headphones=0 numa=fake=8 numa_policy=interleave";
|
||||
};
|
||||
|
||||
aliases {
|
||||
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
index f134343029b61..1b8e9e5e324d0 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-ds.dtsi
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
/ {
|
||||
chosen: chosen {
|
||||
- bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0";
|
||||
+ bootargs = "coherent_pool=1M 8250.nr_uarts=1 snd_bcm2835.enable_headphones=0 numa=fake=8 numa_policy=interleave";
|
||||
};
|
||||
|
||||
__overrides__ {
|
||||
diff --git a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
index 8241ed5d77e63..2aa9e9a1d11f6 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi.dtsi
|
||||
@@ -99,7 +99,7 @@
|
||||
|
||||
/ {
|
||||
chosen: chosen {
|
||||
- bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe";
|
||||
+ bootargs = "reboot=w coherent_pool=1M 8250.nr_uarts=1 pci=pcie_bus_safe system_heap.max_order=0 numa=fake=8 numa_policy=interleave iommu_dma_numa_policy=interleave";
|
||||
stdout-path = "serial10:115200n8";
|
||||
};
|
||||
|
@ -31,7 +31,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL)/scripts/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,8ee418c866c263941fb468bc1eeab1d8059db705)/linux-8ee418c866c263941fb468bc1eeab1d8059db705.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,1af976d476424009ac9d93313a9fad9cbb5498ae)/linux-1af976d476424009ac9d93313a9fad9cbb5498ae.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
|
||||
BR2_LINUX_KERNEL_LZ4=y
|
||||
|
@ -3,16 +3,16 @@
|
||||
# rpi-eeprom
|
||||
#
|
||||
#############################################################
|
||||
RPI_EEPROM_VERSION = 945d708fd0b200e62fcedd48236c7f9c43a44062
|
||||
RPI_EEPROM_VERSION = e9717985d26205a790d5dbc77b8dbadcadb52e05
|
||||
RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION))
|
||||
RPI_EEPROM_LICENSE = BSD-3-Clause
|
||||
RPI_EEPROM_LICENSE_FILES = LICENSE
|
||||
RPI_EEPROM_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI4),y)
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2711/stable/pieeprom-2024-07-30.bin
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2711/stable/pieeprom-2024-10-21.bin
|
||||
else ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI5),y) # Raspberry Pi 5
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2712/stable/pieeprom-2024-07-30.bin
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2712/stable/pieeprom-2024-10-21.bin
|
||||
endif
|
||||
|
||||
define RPI_EEPROM_BUILD_CMDS
|
||||
|
Loading…
x
Reference in New Issue
Block a user