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_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4"
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=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_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_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
|
BR2_LINUX_KERNEL_LZ4=y
|
||||||
|
@ -3,16 +3,16 @@
|
|||||||
# rpi-eeprom
|
# rpi-eeprom
|
||||||
#
|
#
|
||||||
#############################################################
|
#############################################################
|
||||||
RPI_EEPROM_VERSION = 945d708fd0b200e62fcedd48236c7f9c43a44062
|
RPI_EEPROM_VERSION = e9717985d26205a790d5dbc77b8dbadcadb52e05
|
||||||
RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION))
|
RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION))
|
||||||
RPI_EEPROM_LICENSE = BSD-3-Clause
|
RPI_EEPROM_LICENSE = BSD-3-Clause
|
||||||
RPI_EEPROM_LICENSE_FILES = LICENSE
|
RPI_EEPROM_LICENSE_FILES = LICENSE
|
||||||
RPI_EEPROM_INSTALL_IMAGES = YES
|
RPI_EEPROM_INSTALL_IMAGES = YES
|
||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI4),y)
|
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
|
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
|
endif
|
||||||
|
|
||||||
define RPI_EEPROM_BUILD_CMDS
|
define RPI_EEPROM_BUILD_CMDS
|
||||||
|
Loading…
x
Reference in New Issue
Block a user