From c5f373a84362aa52009516daf79f39476bc15e61 Mon Sep 17 00:00:00 2001 From: j1nx Date: Wed, 23 Oct 2024 13:45:31 +0000 Subject: [PATCH] Bump rpi kernel and associated packages --- buildroot | 2 +- .../board/ovos/raspberrypi/cmdline.txt | 2 +- ...01-Add-simple-generic-NUMA-emulation.patch | 564 ------------------ ...he-XMOS-VocalFusion-3510-INT-soundc.patch} | 0 buildroot-external/configs/rpi4_64_defconfig | 2 +- .../package/rpi-eeprom/rpi-eeprom.mk | 6 +- 6 files changed, 6 insertions(+), 570 deletions(-) delete mode 100644 buildroot-external/board/ovos/raspberrypi/patches/linux/0001-Add-simple-generic-NUMA-emulation.patch rename buildroot-external/board/ovos/raspberrypi/patches/linux/{0002-Add-support-for-the-XMOS-VocalFusion-3510-INT-soundc.patch => 0001-Add-support-for-the-XMOS-VocalFusion-3510-INT-soundc.patch} (100%) diff --git a/buildroot b/buildroot index 0cff207f..383b8a6c 160000 --- a/buildroot +++ b/buildroot @@ -1 +1 @@ -Subproject commit 0cff207f4a8abd2ac83f7a27ac60c9a9ddaebf0f +Subproject commit 383b8a6c8578f184f88d5c67681980c10e9fca02 diff --git a/buildroot-external/board/ovos/raspberrypi/cmdline.txt b/buildroot-external/board/ovos/raspberrypi/cmdline.txt index 88e0dab5..86135200 100644 --- a/buildroot-external/board/ovos/raspberrypi/cmdline.txt +++ b/buildroot-external/board/ovos/raspberrypi/cmdline.txt @@ -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 diff --git a/buildroot-external/board/ovos/raspberrypi/patches/linux/0001-Add-simple-generic-NUMA-emulation.patch b/buildroot-external/board/ovos/raspberrypi/patches/linux/0001-Add-simple-generic-NUMA-emulation.patch deleted file mode 100644 index d597f130..00000000 --- a/buildroot-external/board/ovos/raspberrypi/patches/linux/0001-Add-simple-generic-NUMA-emulation.patch +++ /dev/null @@ -1,564 +0,0 @@ -From a69041cfea612c0db434e2df6ec3dda2cfddc3f8 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Ma=C3=ADra=20Canal?= -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= kernel argument to enable it. - -Memory is always split into equally sized chunks. - -Signed-off-by: Maíra Canal -Signed-off-by: Tvrtko Ursulin -Co-developed-by: Tvrtko Ursulin -Cc: Catalin Marinas -Cc: Will Deacon -Cc: Greg Kroah-Hartman -Cc: “Rafael J. Wysocki" ---- - 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 - -+#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 -+ * Author: Tvrtko Ursulin -+ */ -+#include -+ -+#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?= -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 -Signed-off-by: Tvrtko Ursulin -Cc: Catalin Marinas -Cc: Will Deacon -Cc: Greg Kroah-Hartman -Cc: “Rafael J. Wysocki" ---- - 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 -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 ---- - 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 -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= - -Signed-off-by: Tvrtko Ursulin ---- - 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 -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 ---- - 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 -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 ---- - 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"; - }; - diff --git a/buildroot-external/board/ovos/raspberrypi/patches/linux/0002-Add-support-for-the-XMOS-VocalFusion-3510-INT-soundc.patch b/buildroot-external/board/ovos/raspberrypi/patches/linux/0001-Add-support-for-the-XMOS-VocalFusion-3510-INT-soundc.patch similarity index 100% rename from buildroot-external/board/ovos/raspberrypi/patches/linux/0002-Add-support-for-the-XMOS-VocalFusion-3510-INT-soundc.patch rename to buildroot-external/board/ovos/raspberrypi/patches/linux/0001-Add-support-for-the-XMOS-VocalFusion-3510-INT-soundc.patch diff --git a/buildroot-external/configs/rpi4_64_defconfig b/buildroot-external/configs/rpi4_64_defconfig index 233f2733..10c6703a 100644 --- a/buildroot-external/configs/rpi4_64_defconfig +++ b/buildroot-external/configs/rpi4_64_defconfig @@ -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 diff --git a/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk b/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk index 04cb7126..e0e99e2b 100644 --- a/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk +++ b/buildroot-external/package/rpi-eeprom/rpi-eeprom.mk @@ -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