Bumps all over the place. Work of the last weeks.
To much of a hassle to split into seperate commits. Needed to push as I see my SSD degrading and are afraid of the crash.
This commit is contained in:
parent
4d74ba30d6
commit
c474d35965
|
@ -1 +1 @@
|
|||
Subproject commit 12ff415b340d2ff48f6665cc685e67bbd640a4e1
|
||||
Subproject commit 3d03602f2ea49939a3874d566adb0c16e5fa3fce
|
|
@ -302,6 +302,7 @@ menu "Plugins"
|
|||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-backend-client/Config.in"
|
||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-backend-manager/Config.in"
|
||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-bus-client/Config.in"
|
||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-gui-plugin-shell-companion/Config.in"
|
||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-config-assistant/Config.in"
|
||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-lingua-franca/Config.in"
|
||||
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-notifications-service/Config.in"
|
||||
|
|
|
@ -1 +1 @@
|
|||
mitigations=off snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_compat_alsa=0 dwc_otg.lpm_enable=0 acpi=off 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
|
||||
system_heap.max_order=0 numa=fake=8 numa_policy=interleave iommu_dma_numa_policy=interleave mitigations=off snd_bcm2835.enable_headphones=1 snd_bcm2835.enable_hdmi=1 snd_bcm2835.enable_compat_alsa=0 dwc_otg.lpm_enable=0 acpi=off 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,7 +1,6 @@
|
|||
set default="0"
|
||||
set fallback="1"
|
||||
set timeout="1"
|
||||
set MACHINE_ID=""
|
||||
|
||||
if [ "$MACHINE_ID" == "" ]; then
|
||||
boot_condition="systemd.condition-first-boot=true"
|
||||
|
@ -12,7 +11,7 @@ set menu_color_highlight=white/red
|
|||
|
||||
load_env
|
||||
|
||||
default_cmdline="rootfstype=squashfs systemd.machine_id=$MACHINE_ID fsck.repair=yes zram.enabled=1 zram.num_devices=3 console=console consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo systemd.show_status=0 systemd.unified_cgroup_hierarchy=1 cgroup_enable=cpuset cgroup_memory=1 $boot_condition rootwait quiet splash"
|
||||
default_cmdline="systemd.machine_id=$MACHINE_ID fsck.repair=yes zram.enabled=1 zram.num_devices=3 console=console consoleblank=0 loglevel=0 vt.global_cursor_default=0 logo.nologo systemd.show_status=0 systemd.unified_cgroup_hierarchy=1 cgroup_enable=cpuset cgroup_memory=1 $boot_condition rootwait quiet splash"
|
||||
file_env -f ($root)/cmdline.txt cmdline
|
||||
|
||||
regexp --set 1:boothd (.+),.+ ${root}
|
||||
|
|
|
@ -42,3 +42,5 @@ CONFIG_HYPERVISOR_GUEST=HYPERVISOR_GUEST
|
|||
# CONFIG_CDROM is not set
|
||||
# CONFIG_VIDEO_IRS1125 is not set
|
||||
# CONFIG_LEDS_TRIGGER_AUDIO is not set
|
||||
|
||||
CONFIG_NUMA_EMULATION=y
|
||||
|
|
|
@ -0,0 +1,779 @@
|
|||
From d569c8828bbc9ffebbf5825121d70e4f63f11dbb 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/8] 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 2cde7ba8bc2b4fd89e4ba4bce990980f6c012509 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/8] 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 c9691b0c0f29a..8d63a70f57c77 100644
|
||||
--- a/arch/arm64/Kconfig
|
||||
+++ b/arch/arm64/Kconfig
|
||||
@@ -1461,6 +1461,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 e7f3f4cd90409d8249913fa7a67f14d71f348dfa Mon Sep 17 00:00:00 2001
|
||||
From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Date: Wed, 3 Jul 2024 17:16:15 +0100
|
||||
Subject: [PATCH 3/8] mm/mempolicy: Rename some functions
|
||||
|
||||
Will make the following backported patches a bit easier.
|
||||
|
||||
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
---
|
||||
mm/mempolicy.c | 14 +++++++-------
|
||||
1 file changed, 7 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
|
||||
index e52e3a0b8f2e6..0555c2f2ee032 100644
|
||||
--- a/mm/mempolicy.c
|
||||
+++ b/mm/mempolicy.c
|
||||
@@ -1968,7 +1968,7 @@ unsigned int mempolicy_slab_node(void)
|
||||
* node in pol->nodes (starting from n=0), wrapping around if n exceeds the
|
||||
* number of present nodes.
|
||||
*/
|
||||
-static unsigned offset_il_node(struct mempolicy *pol, unsigned long n)
|
||||
+static unsigned interleave_nid(struct mempolicy *pol, unsigned long n)
|
||||
{
|
||||
nodemask_t nodemask = pol->nodes;
|
||||
unsigned int target, nnodes;
|
||||
@@ -1994,7 +1994,7 @@ static unsigned offset_il_node(struct mempolicy *pol, unsigned long n)
|
||||
}
|
||||
|
||||
/* Determine a node number for interleave */
|
||||
-static inline unsigned interleave_nid(struct mempolicy *pol,
|
||||
+static inline unsigned interleave_vma(struct mempolicy *pol,
|
||||
struct vm_area_struct *vma, unsigned long addr, int shift)
|
||||
{
|
||||
if (vma) {
|
||||
@@ -2010,7 +2010,7 @@ static inline unsigned interleave_nid(struct mempolicy *pol,
|
||||
BUG_ON(shift < PAGE_SHIFT);
|
||||
off = vma->vm_pgoff >> (shift - PAGE_SHIFT);
|
||||
off += (addr - vma->vm_start) >> shift;
|
||||
- return offset_il_node(pol, off);
|
||||
+ return interleave_nid(pol, off);
|
||||
} else
|
||||
return interleave_nodes(pol);
|
||||
}
|
||||
@@ -2042,8 +2042,8 @@ int huge_node(struct vm_area_struct *vma, unsigned long addr, gfp_t gfp_flags,
|
||||
mode = (*mpol)->mode;
|
||||
|
||||
if (unlikely(mode == MPOL_INTERLEAVE)) {
|
||||
- nid = interleave_nid(*mpol, vma, addr,
|
||||
- huge_page_shift(hstate_vma(vma)));
|
||||
+ nid = interleave_vma(*mpol, vma, addr,
|
||||
+ huge_page_shift(hstate_vma(vma)));
|
||||
} else {
|
||||
nid = policy_node(gfp_flags, *mpol, numa_node_id());
|
||||
if (mode == MPOL_BIND || mode == MPOL_PREFERRED_MANY)
|
||||
@@ -2196,7 +2196,7 @@ struct folio *vma_alloc_folio(gfp_t gfp, int order, struct vm_area_struct *vma,
|
||||
struct page *page;
|
||||
unsigned nid;
|
||||
|
||||
- nid = interleave_nid(pol, vma, addr, PAGE_SHIFT + order);
|
||||
+ nid = interleave_vma(pol, vma, addr, PAGE_SHIFT + order);
|
||||
mpol_cond_put(pol);
|
||||
gfp |= __GFP_COMP;
|
||||
page = alloc_page_interleave(gfp, order, nid);
|
||||
@@ -2602,7 +2602,7 @@ int mpol_misplaced(struct page *page, struct vm_area_struct *vma, unsigned long
|
||||
case MPOL_INTERLEAVE:
|
||||
pgoff = vma->vm_pgoff;
|
||||
pgoff += (addr - vma->vm_start) >> PAGE_SHIFT;
|
||||
- polnid = offset_il_node(pol, pgoff);
|
||||
+ polnid = interleave_nid(pol, pgoff);
|
||||
break;
|
||||
|
||||
case MPOL_PREFERRED:
|
||||
|
||||
From 9c182de03088ee46fe49dbe5a1d5cba5ef4b49f5 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 4/8] 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 0555c2f2ee032..335d478051713 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 0ca75652ca247ed850f999d70a35b29c3a873062 Mon Sep 17 00:00:00 2001
|
||||
From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
Date: Tue, 18 Jun 2024 15:48:59 +0100
|
||||
Subject: [PATCH 5/8] iommu/dma: Add ability to configure NUMA allocation
|
||||
policy for remapped allocations
|
||||
|
||||
Add iommu_dma_numa_policy= kernel parameter which can be used to modify
|
||||
the NUMA allocation policy of remapped buffer allocations.
|
||||
|
||||
Policy is only used for devices which are not associated with a NUMA node.
|
||||
|
||||
Syntax identical to what tmpfs accepts as it's mpol argument is accepted.
|
||||
|
||||
Some examples:
|
||||
|
||||
iommu_dma_numa_policy=interleave
|
||||
iommu_dma_numa_policy=interleave=skip-interleave
|
||||
iommu_dma_numa_policy=bind:0-3,5,7,9-15
|
||||
iommu_dma_numa_policy=bind=static:1-2
|
||||
|
||||
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
|
||||
---
|
||||
drivers/iommu/dma-iommu.c | 45 +++++++++++++++++++++++++++++++++++++++
|
||||
include/linux/mempolicy.h | 12 +++++++++++
|
||||
mm/mempolicy.c | 45 +++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 102 insertions(+)
|
||||
|
||||
diff --git a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
|
||||
index 2da969fc89900..7f320c1982c07 100644
|
||||
--- a/drivers/iommu/dma-iommu.c
|
||||
+++ b/drivers/iommu/dma-iommu.c
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <linux/iova.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/list_sort.h>
|
||||
+#include <linux/mempolicy.h>
|
||||
#include <linux/memremap.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/mutex.h>
|
||||
@@ -775,11 +776,50 @@ static void __iommu_dma_free_pages(struct page **pages, int count)
|
||||
kvfree(pages);
|
||||
}
|
||||
|
||||
+static struct mempolicy iommu_dma_mpol = {
|
||||
+#ifdef CONFIG_NUMA
|
||||
+ .refcnt = ATOMIC_INIT(1), /* never free it */
|
||||
+ .mode = MPOL_LOCAL,
|
||||
+#endif
|
||||
+};
|
||||
+
|
||||
+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) {
|
||||
+ iommu_dma_mpol = pol;
|
||||
+ mpol_to_str(buf, sizeof(buf), &pol);
|
||||
+ pr_info("DMA IOMMU NUMA default policy overridden to '%s'\n", buf);
|
||||
+ } else {
|
||||
+ pr_warn("Unable to parse dma_iommu_numa_policy=\n");
|
||||
+ }
|
||||
+
|
||||
+ return ret == 0;
|
||||
+}
|
||||
+__setup("iommu_dma_numa_policy=", setup_numapolicy);
|
||||
+
|
||||
static struct page **__iommu_dma_alloc_pages(struct device *dev,
|
||||
unsigned int count, unsigned long order_mask, gfp_t gfp)
|
||||
{
|
||||
struct page **pages;
|
||||
unsigned int i = 0, nid = dev_to_node(dev);
|
||||
+#ifdef CONFIG_NUMA
|
||||
+ const bool use_numa = nid == NUMA_NO_NODE &&
|
||||
+ iommu_dma_mpol.mode != MPOL_LOCAL;
|
||||
+#else
|
||||
+ const bool use_numa = false;
|
||||
+#endif
|
||||
+
|
||||
+ if (use_numa)
|
||||
+ order_mask = 1;
|
||||
|
||||
order_mask &= GENMASK(MAX_ORDER, 0);
|
||||
if (!order_mask)
|
||||
@@ -795,6 +835,7 @@ static struct page **__iommu_dma_alloc_pages(struct device *dev,
|
||||
while (count) {
|
||||
struct page *page = NULL;
|
||||
unsigned int order_size;
|
||||
+ nodemask_t *nodemask;
|
||||
|
||||
/*
|
||||
* Higher-order allocations are a convenience rather
|
||||
@@ -809,6 +850,10 @@ static struct page **__iommu_dma_alloc_pages(struct device *dev,
|
||||
order_size = 1U << order;
|
||||
if (order_mask > order_size)
|
||||
alloc_flags |= __GFP_NORETRY;
|
||||
+ if (use_numa)
|
||||
+ nodemask = numa_policy_nodemask(gfp,
|
||||
+ &iommu_dma_mpol,
|
||||
+ i, &nid);
|
||||
page = alloc_pages_node(nid, alloc_flags, order);
|
||||
if (!page)
|
||||
continue;
|
||||
diff --git a/include/linux/mempolicy.h b/include/linux/mempolicy.h
|
||||
index d232de7cdc569..23545ec0c64c7 100644
|
||||
--- a/include/linux/mempolicy.h
|
||||
+++ b/include/linux/mempolicy.h
|
||||
@@ -140,6 +140,8 @@ bool vma_policy_mof(struct vm_area_struct *vma);
|
||||
|
||||
extern void numa_default_policy(void);
|
||||
extern void numa_policy_init(void);
|
||||
+nodemask_t *numa_policy_nodemask(gfp_t gfp, struct mempolicy *pol, pgoff_t ilx,
|
||||
+ int *nid);
|
||||
extern void mpol_rebind_task(struct task_struct *tsk, const nodemask_t *new);
|
||||
extern void mpol_rebind_mm(struct mm_struct *mm, nodemask_t *new);
|
||||
|
||||
@@ -234,6 +236,12 @@ static inline void numa_policy_init(void)
|
||||
{
|
||||
}
|
||||
|
||||
+static inline nodemask_t *
|
||||
+numa_policy_nodemask(gfp_t gfp, struct mempolicy *pol, pgoff_t ilx, int *nid)
|
||||
+{
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
static inline void numa_default_policy(void)
|
||||
{
|
||||
}
|
||||
@@ -278,6 +286,10 @@ static inline int mpol_parse_str(char *str, struct mempolicy **mpol)
|
||||
}
|
||||
#endif
|
||||
|
||||
+static inline void mpol_to_str(char *buffer, int maxlen, struct mempolicy *pol)
|
||||
+{
|
||||
+}
|
||||
+
|
||||
static inline int mpol_misplaced(struct page *page, struct vm_area_struct *vma,
|
||||
unsigned long address)
|
||||
{
|
||||
diff --git a/mm/mempolicy.c b/mm/mempolicy.c
|
||||
index 335d478051713..461a6512cb9ab 100644
|
||||
--- a/mm/mempolicy.c
|
||||
+++ b/mm/mempolicy.c
|
||||
@@ -124,8 +124,10 @@ enum zone_type policy_zone = 0;
|
||||
* run-time system-wide default policy => local allocation
|
||||
*/
|
||||
static struct mempolicy default_policy = {
|
||||
+#ifdef CONFIG_NUMA
|
||||
.refcnt = ATOMIC_INIT(1), /* never free it */
|
||||
.mode = MPOL_LOCAL,
|
||||
+#endif
|
||||
};
|
||||
|
||||
static struct mempolicy preferred_node_policy[MAX_NUMNODES];
|
||||
@@ -300,7 +302,9 @@ static struct mempolicy *mpol_new(unsigned short mode, unsigned short flags,
|
||||
policy = kmem_cache_alloc(policy_cache, GFP_KERNEL);
|
||||
if (!policy)
|
||||
return ERR_PTR(-ENOMEM);
|
||||
+#ifdef CONFIG_NUMA
|
||||
atomic_set(&policy->refcnt, 1);
|
||||
+#endif
|
||||
policy->mode = mode;
|
||||
policy->flags = flags;
|
||||
policy->home_node = NUMA_NO_NODE;
|
||||
@@ -2015,6 +2019,47 @@ static inline unsigned interleave_vma(struct mempolicy *pol,
|
||||
return interleave_nodes(pol);
|
||||
}
|
||||
|
||||
+#define NO_INTERLEAVE_INDEX (-1UL) /* use task il_prev for interleaving */
|
||||
+
|
||||
+nodemask_t *numa_policy_nodemask(gfp_t gfp, struct mempolicy *pol, pgoff_t ilx,
|
||||
+ int *nid)
|
||||
+{
|
||||
+ nodemask_t *nodemask = NULL;
|
||||
+
|
||||
+ switch (pol->mode) {
|
||||
+ case MPOL_PREFERRED:
|
||||
+ /* Override input node id */
|
||||
+ *nid = first_node(pol->nodes);
|
||||
+ break;
|
||||
+ case MPOL_PREFERRED_MANY:
|
||||
+ nodemask = &pol->nodes;
|
||||
+ if (pol->home_node != NUMA_NO_NODE)
|
||||
+ *nid = pol->home_node;
|
||||
+ break;
|
||||
+ case MPOL_BIND:
|
||||
+ /* Restrict to nodemask (but not on lower zones) */
|
||||
+ if (apply_policy_zone(pol, gfp_zone(gfp)) &&
|
||||
+ cpuset_nodemask_valid_mems_allowed(&pol->nodes))
|
||||
+ nodemask = &pol->nodes;
|
||||
+ if (pol->home_node != NUMA_NO_NODE)
|
||||
+ *nid = pol->home_node;
|
||||
+ /*
|
||||
+ * __GFP_THISNODE shouldn't even be used with the bind policy
|
||||
+ * because we might easily break the expectation to stay on the
|
||||
+ * requested node and not break the policy.
|
||||
+ */
|
||||
+ WARN_ON_ONCE(gfp & __GFP_THISNODE);
|
||||
+ break;
|
||||
+ case MPOL_INTERLEAVE:
|
||||
+ /* Override input node id */
|
||||
+ *nid = (ilx == NO_INTERLEAVE_INDEX) ?
|
||||
+ interleave_nodes(pol) : interleave_nid(pol, ilx);
|
||||
+ break;
|
||||
+ }
|
||||
+
|
||||
+ return nodemask;
|
||||
+}
|
||||
+
|
||||
#ifdef CONFIG_HUGETLBFS
|
||||
/*
|
||||
* huge_node(@vma, @addr, @gfp_flags, @mpol)
|
||||
|
||||
From 4036deca99c4ee4a4e9da6f3809594da27c8fcf9 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 6/8] 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 2b3cadacd49729991c06a67a6a34ebe092ad2633 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Tue, 7 May 2024 19:14:56 +0100
|
||||
Subject: [PATCH 7/8] config: bcm2711_defconfig/bcm2712_defconfig: Enable NUMA
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
arch/arm64/configs/bcm2711_defconfig | 2 ++
|
||||
arch/arm64/configs/bcm2712_defconfig | 2 ++
|
||||
2 files changed, 4 insertions(+)
|
||||
|
||||
diff --git a/arch/arm64/configs/bcm2711_defconfig b/arch/arm64/configs/bcm2711_defconfig
|
||||
index f2e5dca7866d3..0e06b79151063 100644
|
||||
--- a/arch/arm64/configs/bcm2711_defconfig
|
||||
+++ b/arch/arm64/configs/bcm2711_defconfig
|
||||
@@ -41,6 +41,7 @@ CONFIG_ARCH_BRCMSTB=y
|
||||
# CONFIG_CAVIUM_ERRATUM_22375 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_27456 is not set
|
||||
+CONFIG_NUMA=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_ARMV8_DEPRECATED=y
|
||||
CONFIG_SWP_EMULATION=y
|
||||
@@ -1678,3 +1679,4 @@ CONFIG_SCHED_TRACER=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
# CONFIG_UPROBE_EVENTS is not set
|
||||
# CONFIG_STRICT_DEVMEM is not set
|
||||
+CONFIG_NUMA_EMULATION=y
|
||||
diff --git a/arch/arm64/configs/bcm2712_defconfig b/arch/arm64/configs/bcm2712_defconfig
|
||||
index bdaf3190f9b32..c0d19316844ce 100644
|
||||
--- a/arch/arm64/configs/bcm2712_defconfig
|
||||
+++ b/arch/arm64/configs/bcm2712_defconfig
|
||||
@@ -42,6 +42,7 @@ CONFIG_ARCH_BRCMSTB=y
|
||||
# CONFIG_CAVIUM_ERRATUM_23154 is not set
|
||||
# CONFIG_CAVIUM_ERRATUM_27456 is not set
|
||||
CONFIG_ARM64_16K_PAGES=y
|
||||
+CONFIG_NUMA=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_ARMV8_DEPRECATED=y
|
||||
CONFIG_SWP_EMULATION=y
|
||||
@@ -1681,3 +1682,4 @@ CONFIG_SCHED_TRACER=y
|
||||
CONFIG_BLK_DEV_IO_TRACE=y
|
||||
# CONFIG_UPROBE_EVENTS is not set
|
||||
# CONFIG_STRICT_DEVMEM is not set
|
||||
+CONFIG_NUMA_EMULATION=y
|
||||
|
||||
From d162b2d8f1735208639f376c02ef483f20be2728 Mon Sep 17 00:00:00 2001
|
||||
From: Dom Cobley <popcornmix@gmail.com>
|
||||
Date: Thu, 18 Jul 2024 20:22:18 +0100
|
||||
Subject: [PATCH 8/8] dts: Set preferred numa options in bootargs
|
||||
|
||||
Signed-off-by: Dom Cobley <popcornmix@gmail.com>
|
||||
---
|
||||
arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts | 2 +-
|
||||
arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 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..dc0831a4a260e 100644
|
||||
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
|
||||
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts
|
||||
@@ -266,7 +266,7 @@
|
||||
|
||||
/ {
|
||||
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 system_heap.max_order=0 numa=fake=8 numa_policy=interleave iommu_dma_numa_policy=interleave";
|
||||
};
|
||||
|
||||
/delete-node/ wifi-pwrseq;
|
||||
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 57ee497628646..16a69973ca0ad 100644
|
||||
--- a/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
|
||||
+++ b/arch/arm64/boot/dts/broadcom/bcm2712-rpi-5-b.dts
|
||||
@@ -430,7 +430,7 @@ dpi_16bit_gpio2: &rp1_dpi_16bit_gpio2 { };
|
||||
|
||||
/ {
|
||||
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";
|
||||
};
|
||||
|
Binary file not shown.
|
@ -44,14 +44,14 @@ image disk.img {
|
|||
partition rootfs-1 {
|
||||
partition-uuid = c0932a41-44cf-463b-8152-d43188553ed4
|
||||
partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
|
||||
image = "rootfs.squashfs"
|
||||
image = "rootfs.erofs"
|
||||
size = 512M
|
||||
}
|
||||
|
||||
partition rootfs-2 {
|
||||
partition-uuid = 3adea996-45ad-4928-920e-ffb5aedd00cb
|
||||
partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
|
||||
image = "rootfs.squashfs"
|
||||
image = "rootfs.erofs"
|
||||
size = 512M
|
||||
}
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Busybox version: 1.36.1
|
||||
# Fri Mar 29 11:40:35 2024
|
||||
# Fri Jul 19 10:40:11 2024
|
||||
#
|
||||
CONFIG_HAVE_DOT_CONFIG=y
|
||||
|
||||
|
|
|
@ -30,12 +30,13 @@ 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,e0c78d59082aaadb95fc301af239c991686a1822)/linux-e0c78d59082aaadb95fc301af239c991686a1822.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,e1c56acf3355cd539447511fdc1b886e5eb5cca3)/linux-e1c56acf3355cd539447511fdc1b886e5eb5cca3.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
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-4-b broadcom/bcm2711-rpi-400 broadcom/bcm2711-rpi-cm4"
|
||||
BR2_LINUX_KERNEL_DTB_OVERLAY_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=y
|
||||
|
@ -63,21 +64,27 @@ BR2_PACKAGE_FFMPEG_FFPLAY=y
|
|||
BR2_PACKAGE_FFMPEG_FFPROBE=y
|
||||
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
|
||||
BR2_PACKAGE_FFMPEG_POSTPROC=y
|
||||
BR2_PACKAGE_FLAC=y
|
||||
BR2_PACKAGE_GST1_LIBAV=y
|
||||
BR2_PACKAGE_PIPEWIRE=y
|
||||
BR2_PACKAGE_PIPEWIRE_COMPRESS_OFFLOAD=y
|
||||
BR2_PACKAGE_PIPEWIRE_EXAMPLES=y
|
||||
BR2_PACKAGE_PIPEWIRE_GSTREAMER=y
|
||||
BR2_PACKAGE_PIPEWIRE_V4L2=y
|
||||
BR2_PACKAGE_PULSEAUDIO=y
|
||||
BR2_PACKAGE_TINYCOMPRESS=y
|
||||
BR2_PACKAGE_SOX=y
|
||||
BR2_PACKAGE_V4L2GRAB=y
|
||||
BR2_PACKAGE_V4L2LOOPBACK=y
|
||||
BR2_PACKAGE_V4L2LOOPBACK_UTILS=y
|
||||
BR2_PACKAGE_BZIP2=y
|
||||
BR2_PACKAGE_GZIP=y
|
||||
BR2_PACKAGE_LZIP=y
|
||||
BR2_PACKAGE_LZOP=y
|
||||
BR2_PACKAGE_P7ZIP=y
|
||||
BR2_PACKAGE_UNRAR=y
|
||||
BR2_PACKAGE_UNZIP=y
|
||||
BR2_PACKAGE_ZIP=y
|
||||
BR2_PACKAGE_ZSTD=y
|
||||
BR2_PACKAGE_LSOF=y
|
||||
BR2_PACKAGE_MEMSTAT=y
|
||||
BR2_PACKAGE_NMON=y
|
||||
|
@ -85,6 +92,7 @@ BR2_PACKAGE_BINUTILS=y
|
|||
BR2_PACKAGE_CHECK=y
|
||||
BR2_PACKAGE_DIFFUTILS=y
|
||||
BR2_PACKAGE_FINDUTILS=y
|
||||
BR2_PACKAGE_GETTEXT=y
|
||||
BR2_PACKAGE_GIT_CRYPT=y
|
||||
BR2_PACKAGE_GREP=y
|
||||
BR2_PACKAGE_JO=y
|
||||
|
@ -96,19 +104,15 @@ BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
|
|||
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
|
||||
BR2_PACKAGE_E2FSPROGS_FUSE2FS=y
|
||||
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
||||
BR2_PACKAGE_EROFS_UTILS=y
|
||||
BR2_PACKAGE_EROFS_UTILS_LZ4=y
|
||||
BR2_PACKAGE_EROFS_UTILS_LZMA=y
|
||||
BR2_PACKAGE_EROFS_UTILS_EROFSFUSE=y
|
||||
BR2_PACKAGE_FUSE_OVERLAYFS=y
|
||||
BR2_PACKAGE_MTD=y
|
||||
BR2_PACKAGE_NFS_UTILS=y
|
||||
BR2_PACKAGE_NTFS_3G=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_SQUASHFS_LZ4=y
|
||||
BR2_PACKAGE_SQUASHFS_LZMA=y
|
||||
BR2_PACKAGE_SQUASHFS_LZO=y
|
||||
BR2_PACKAGE_SQUASHFS_XZ=y
|
||||
BR2_PACKAGE_SQUASHFS_ZSTD=y
|
||||
BR2_PACKAGE_MESA3D=y
|
||||
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
|
||||
BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM=y
|
||||
|
@ -121,38 +125,40 @@ BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
|
|||
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_X=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE_CONFIG_FILE="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4/config.txt"
|
||||
# BR2_PACKAGE_RPI_FIRMWARE_INSTALL_DTB_OVERLAYS is not set
|
||||
BR2_PACKAGE_AVRDUDE=y
|
||||
BR2_PACKAGE_CRYPTSETUP=y
|
||||
BR2_PACKAGE_DBUS_PYTHON=y
|
||||
BR2_PACKAGE_GPTFDISK=y
|
||||
BR2_PACKAGE_GPTFDISK_GDISK=y
|
||||
BR2_PACKAGE_GPTFDISK_SGDISK=y
|
||||
BR2_PACKAGE_GPTFDISK_CGDISK=y
|
||||
BR2_PACKAGE_I2C_TOOLS=y
|
||||
BR2_PACKAGE_PARTED=y
|
||||
BR2_PACKAGE_RASPI_GPIO=y
|
||||
BR2_PACKAGE_READ_EDID=y
|
||||
BR2_PACKAGE_RNG_TOOLS=y
|
||||
BR2_PACKAGE_SPI_TOOLS=y
|
||||
BR2_PACKAGE_USB_MODESWITCH_DATA=y
|
||||
BR2_PACKAGE_LUA=y
|
||||
BR2_PACKAGE_PYTHON3=y
|
||||
BR2_PACKAGE_PYTHON3_PY_PYC=y
|
||||
BR2_PACKAGE_PYTHON_GOBJECT=y
|
||||
BR2_PACKAGE_PYTHON_PIP=y
|
||||
BR2_PACKAGE_PYTHON_PODMAN_COMPOSE=y
|
||||
BR2_PACKAGE_PYTHON_SPIDEV=y
|
||||
BR2_PACKAGE_ALSA_LIB_PYTHON=y
|
||||
BR2_PACKAGE_ALSA_PLUGINS=y
|
||||
BR2_PACKAGE_LIBSAMPLERATE=y
|
||||
BR2_PACKAGE_LIBSOXR=y
|
||||
BR2_PACKAGE_LIBVORBIS=y
|
||||
BR2_PACKAGE_LILV=y
|
||||
BR2_PACKAGE_OPUS=y
|
||||
BR2_PACKAGE_PORTAUDIO=y
|
||||
BR2_PACKAGE_SBC=y
|
||||
BR2_PACKAGE_SBC_TOOLS=y
|
||||
BR2_PACKAGE_SPEEXDSP=y
|
||||
BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y
|
||||
BR2_PACKAGE_LIBARCHIVE=y
|
||||
BR2_PACKAGE_LIBDEFLATE=y
|
||||
BR2_PACKAGE_LZ4_PROGS=y
|
||||
BR2_PACKAGE_CA_CERTIFICATES=y
|
||||
BR2_PACKAGE_LIBARGON2=y
|
||||
BR2_PACKAGE_LIBKSBA=y
|
||||
BR2_PACKAGE_LIBSSH2=y
|
||||
BR2_PACKAGE_LIBOPENSSL_BIN=y
|
||||
|
@ -163,21 +169,13 @@ BR2_PACKAGE_LIBNFS=y
|
|||
BR2_PACKAGE_LIBSYSFS=y
|
||||
BR2_PACKAGE_LOCKDEV=y
|
||||
BR2_PACKAGE_PHYSFS=y
|
||||
BR2_PACKAGE_FONTCONFIG=y
|
||||
BR2_PACKAGE_HARFBUZZ=y
|
||||
BR2_PACKAGE_LIBEXIF=y
|
||||
BR2_PACKAGE_LIBPNG=y
|
||||
BR2_PACKAGE_OPENJPEG=y
|
||||
BR2_PACKAGE_PIXMAN=y
|
||||
BR2_PACKAGE_TIFF=y
|
||||
BR2_PACKAGE_WEBP=y
|
||||
BR2_PACKAGE_WIREPLUMBER=y
|
||||
BR2_PACKAGE_ZBAR=y
|
||||
BR2_PACKAGE_LIBGPIOD2=y
|
||||
BR2_PACKAGE_LIBGPIOD2_TOOLS=y
|
||||
BR2_PACKAGE_LIBINPUT=y
|
||||
BR2_PACKAGE_LIBINPUT_PYTHON_TOOLS=y
|
||||
BR2_PACKAGE_LIBV4L_UTILS=y
|
||||
BR2_PACKAGE_JSON_GLIB=y
|
||||
BR2_PACKAGE_LIBFASTJSON=y
|
||||
BR2_PACKAGE_LIBCAMERA=y
|
||||
BR2_PACKAGE_LIBCAMERA_V4L2=y
|
||||
BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4=y
|
||||
|
@ -186,20 +184,16 @@ BR2_PACKAGE_LIBCAMERA_PIPELINE_UVCVIDEO=y
|
|||
BR2_PACKAGE_LIBCAMERA_PIPELINE_VIMC=y
|
||||
BR2_PACKAGE_LIBCURL=y
|
||||
BR2_PACKAGE_LIBCURL_CURL=y
|
||||
BR2_PACKAGE_LIBDNET=y
|
||||
BR2_PACKAGE_LIBNICE=y
|
||||
BR2_PACKAGE_LIBRSYNC=y
|
||||
BR2_PACKAGE_LIBSOUP=y
|
||||
BR2_PACKAGE_LIBSRTP=y
|
||||
BR2_PACKAGE_LIBURIPARSER=y
|
||||
BR2_PACKAGE_LIBWEBSOCKETS=y
|
||||
BR2_PACKAGE_LIBPSL=y
|
||||
BR2_PACKAGE_SLIRP4NETNS=y
|
||||
BR2_PACKAGE_ZEROMQ=y
|
||||
BR2_PACKAGE_ZEROMQ_WEBSOCKET=y
|
||||
BR2_PACKAGE_JEMALLOC=y
|
||||
BR2_PACKAGE_LIBCAP_TOOLS=y
|
||||
BR2_PACKAGE_LIBNPTH=y
|
||||
BR2_PACKAGE_LIBFRIBIDI=y
|
||||
BR2_PACKAGE_LIBUNWIND=y
|
||||
BR2_PACKAGE_LIBUV=y
|
||||
BR2_PACKAGE_NCURSES_WCHAR=y
|
||||
BR2_PACKAGE_AARDVARK_DNS=y
|
||||
BR2_PACKAGE_AVAHI=y
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_AVAHI_DEFAULT_SERVICES=y
|
||||
BR2_PACKAGE_BLUEZ_TOOLS=y
|
||||
|
@ -213,7 +207,6 @@ BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_NFC=y
|
|||
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_SAP=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
|
||||
BR2_PACKAGE_CRDA=y
|
||||
BR2_PACKAGE_DNSMASQ=y
|
||||
BR2_PACKAGE_IFUPDOWN=y
|
||||
BR2_PACKAGE_IPROUTE2=y
|
||||
BR2_PACKAGE_IPUTILS=y
|
||||
|
@ -228,10 +221,12 @@ BR2_PACKAGE_OPENSSH=y
|
|||
# BR2_PACKAGE_OPENSSH_SANDBOX is not set
|
||||
BR2_PACKAGE_WGET=y
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_OVERRIDES=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
|
||||
|
@ -253,12 +248,12 @@ BR2_PACKAGE_COREUTILS=y
|
|||
BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y
|
||||
BR2_PACKAGE_EFIBOOTMGR=y
|
||||
BR2_PACKAGE_HTOP=y
|
||||
BR2_PACKAGE_NUMACTL=y
|
||||
BR2_PACKAGE_PODMAN=y
|
||||
BR2_PACKAGE_PODMAN_DRIVER_BTRFS=y
|
||||
BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y
|
||||
BR2_PACKAGE_PODMAN_DRIVER_VFS=y
|
||||
BR2_PACKAGE_PROCPS_NG=y
|
||||
BR2_PACKAGE_RSYSLOG=y
|
||||
BR2_PACKAGE_SHADOW=y
|
||||
BR2_PACKAGE_SHADOW_SHADOWGRP=y
|
||||
BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID=y
|
||||
|
@ -266,11 +261,12 @@ BR2_PACKAGE_SHADOW_SUBORDINATE_IDS=y
|
|||
BR2_PACKAGE_SWUPDATE=y
|
||||
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
|
||||
BR2_PACKAGE_SWUPDATE_USB=y
|
||||
BR2_PACKAGE_SYSTEMD_KERNELINSTALL=y
|
||||
BR2_PACKAGE_SYSTEMD_ANALYZE=y
|
||||
BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
|
||||
BR2_PACKAGE_SYSTEMD_BINFMT=y
|
||||
# BR2_PACKAGE_SYSTEMD_PSTORE is not set
|
||||
BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
|
||||
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
|
||||
# BR2_PACKAGE_SYSTEMD_HWDB is not set
|
||||
BR2_PACKAGE_SYSTEMD_LOCALED=y
|
||||
BR2_PACKAGE_SYSTEMD_LOGIND=y
|
||||
|
@ -279,9 +275,6 @@ BR2_PACKAGE_SYSTEMD_OOMD=y
|
|||
BR2_PACKAGE_SYSTEMD_POLKIT=y
|
||||
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
|
||||
BR2_PACKAGE_SYSTEMD_REPART=y
|
||||
# BR2_PACKAGE_SYSTEMD_RESOLVED is not set
|
||||
BR2_PACKAGE_SYSTEMD_RFKILL=y
|
||||
# BR2_PACKAGE_SYSTEMD_VCONSOLE is not set
|
||||
BR2_PACKAGE_TAR=y
|
||||
BR2_PACKAGE_UTIL_LINUX_BINARIES=y
|
||||
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
|
||||
|
@ -300,11 +293,15 @@ BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y
|
|||
BR2_PACKAGE_LESS=y
|
||||
BR2_PACKAGE_NANO=y
|
||||
BR2_PACKAGE_VIM=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS=y
|
||||
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=y
|
||||
BR2_TARGET_ROOTFS_EROFS=y
|
||||
BR2_TARGET_ROOTFS_EROFS_LZ4HC_LEVEL=12
|
||||
BR2_TARGET_ROOTFS_EROFS_DEDUPE=y
|
||||
BR2_TARGET_ROOTFS_EROFS_FRAGMENTS=y
|
||||
BR2_TARGET_ROOTFS_EROFS_ZTAILPACKING=y
|
||||
BR2_TARGET_ROOTFS_EROFS_PCLUSTERSIZE=262144
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_TARGET_GRUB2=y
|
||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat squash4 part_msdos part_gpt normal efi_gop regexp loadenv echo cat test configfile search search_fs_uuid all_video video font gfxmenu gfxterm gzio xzio"
|
||||
BR2_TARGET_GRUB2_BUILTIN_MODULES_EFI="boot linux ext2 fat erofs part_msdos part_gpt normal efi_gop regexp loadenv echo cat test configfile search search_fs_uuid all_video video font gfxmenu gfxterm gzio xzio lz4_decompress"
|
||||
BR2_TARGET_GRUB2_INSTALL_TOOLS=y
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_E2FSPROGS=y
|
||||
|
@ -315,6 +312,7 @@ BR2_PACKAGE_HOST_PKGCONF=y
|
|||
BR2_PACKAGE_BTSPEAKER=y
|
||||
BR2_PACKAGE_HOSTNAME_SERVICE=y
|
||||
BR2_PACKAGE_NCPAMIXER=y
|
||||
BR2_PACKAGE_OPENFEC=y
|
||||
BR2_PACKAGE_OVOS_BUS_SERVER=y
|
||||
BR2_PACKAGE_OVOS_CONTAINERS=y
|
||||
BR2_PACKAGE_OVOS_CONTAINERS_ARCH="arm64"
|
||||
|
@ -322,12 +320,11 @@ BR2_PACKAGE_OVOS_CONTAINERS_GUI=y
|
|||
BR2_PACKAGE_OVOS_SPLASH=y
|
||||
BR2_PACKAGE_RESPEAKER=y
|
||||
BR2_PACKAGE_RNNNOISE_LADSPA=y
|
||||
BR2_PACKAGE_ROC_TOOLKIT=y
|
||||
BR2_PACKAGE_RPI_EEPROM=y
|
||||
BR2_PACKAGE_SNAPCAST=y
|
||||
BR2_PACKAGE_SNAPCAST_SERVER=y
|
||||
BR2_PACKAGE_SPOTIFYD=y
|
||||
BR2_PACKAGE_USERLAND_TOOLS=y
|
||||
BR2_PACKAGE_VOCALFUSION=y
|
||||
BR2_PACKAGE_PYTHON_ADAFRUIT_BLINKA=y
|
||||
BR2_PACKAGE_PYTHON_SMBUS2=y
|
||||
BR2_PACKAGE_PYTHON_OVOS_GUI=y
|
||||
BR2_PACKAGE_PYTHON_OVOS_BACKEND_CLIENT=y
|
||||
BR2_PACKAGE_PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION=y
|
||||
|
|
|
@ -38,27 +38,15 @@ CONFIG_MISC_FILESYSTEMS=y
|
|||
CONFIG_BLOCK=y
|
||||
CONFIG_EXFAT_FS=m
|
||||
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8"
|
||||
CONFIG_EROFS_FS=y
|
||||
CONFIG_EROFS_FS_ZIP=y
|
||||
CONFIG_EROFS_FS_ZIP_LZMA=y
|
||||
CONFIG_EROFS_FS_ZIP_DEFLATE=y
|
||||
CONFIG_EROFS_FS_PCPU_KTHREAD=y
|
||||
CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI=y
|
||||
CONFIG_MSDOS_FS=y
|
||||
CONFIG_VFAT_FS=y
|
||||
|
||||
CONFIG_SQUASHFS=y
|
||||
# CONFIG_SQUASHFS_FILE_CACHE is not set
|
||||
CONFIG_SQUASHFS_FILE_DIRECT=y
|
||||
CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y
|
||||
# CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT is not set
|
||||
# CONFIG_SQUASHFS_COMPILE_DECOMP_SINGLE is not set
|
||||
# CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI is not set
|
||||
CONFIG_SQUASHFS_COMPILE_DECOMP_MULTI_PERCPU=y
|
||||
CONFIG_SQUASHFS_XATTR=y
|
||||
CONFIG_SQUASHFS_ZLIB=y
|
||||
CONFIG_SQUASHFS_LZ4=y
|
||||
CONFIG_SQUASHFS_LZO=y
|
||||
CONFIG_SQUASHFS_XZ=y
|
||||
CONFIG_SQUASHFS_ZSTD=y
|
||||
# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set
|
||||
# CONFIG_SQUASHFS_EMBEDDED is not set
|
||||
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3
|
||||
|
||||
CONFIG_BTRFS_FS=m
|
||||
CONFIG_OVERLAY_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
|
|
|
@ -19,12 +19,9 @@ OVOS_CONTAINERS_IMAGES = ovos-phal \
|
|||
ovos-cli
|
||||
|
||||
ifeq ($(BR2_PACKAGE_OVOS_CONTAINERS_GUI),y)
|
||||
OVOS_CONTAINERS_IMAGES += ovos-gui-websocket \
|
||||
ovos-gui-shell
|
||||
OVOS_CONTAINERS_IMAGES += ovos-gui-shell
|
||||
define OVOS_CONTAINERS_INSTALL_GUI_SERVICES
|
||||
|
||||
$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/ovos-containers/ovos_gui_websocket.container \
|
||||
$(TARGET_DIR)/home/ovos/.config/containers/systemd/ovos_gui_websocket.container
|
||||
$(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/ovos-containers/ovos_gui.container \
|
||||
$(TARGET_DIR)/home/ovos/.config/containers/systemd/ovos_gui.container
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# md5, sha256 from https://pypi.org/pypi/combo_lock/json
|
||||
sha256 fd72d49146280ab612679a59b333b68c0b010253e2bf8fdbabda9cb790d60ec8 combo_lock-0.2.5.tar.gz
|
||||
sha256 3f1ffee954f71e44cfc6c6dff56054452ad9ab6c6ff922f0de2577e8ecc283eb combo_lock-0.2.6.tar.gz
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_COMBO_LOCK_VERSION = 0.2.5
|
||||
PYTHON_COMBO_LOCK_VERSION = 0.2.6
|
||||
PYTHON_COMBO_LOCK_SOURCE = combo_lock-$(PYTHON_COMBO_LOCK_VERSION).tar.gz
|
||||
PYTHON_COMBO_LOCK_SITE = https://files.pythonhosted.org/packages/1a/7d/22bc221fd33a0f72c84ff8c6f6b5f06533825c058fe29a57d12467344cb3
|
||||
PYTHON_COMBO_LOCK_SITE = https://files.pythonhosted.org/packages/47/79/83e327fc03dd89c7b954eb290d89e9dc639ea3f4d1939139d1cccc452b22
|
||||
PYTHON_COMBO_LOCK_SETUP_TYPE = setuptools
|
||||
PYTHON_COMBO_LOCK_LICENSE = apache-2.0
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
# sha256 from https://pypi.org/pypi/importlib-metadata/json
|
||||
sha256 92501cdf9cc66ebd3e612f1b4f0c0765dfa42f0fa38ffb319b6bd84dd675d705 importlib_metadata-6.6.0.tar.gz
|
||||
sha256 b78938b926ee8d5f020fc4772d487045805a55ddbad2ecf21c6d60938dc7fcd2 importlib_metadata-7.1.0.tar.gz
|
||||
|
|
|
@ -4,9 +4,9 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_IMPORTLIB_METADATA_VERSION = 6.6.0
|
||||
PYTHON_IMPORTLIB_METADATA_VERSION = 7.1.0
|
||||
PYTHON_IMPORTLIB_METADATA_SOURCE = importlib_metadata-$(PYTHON_IMPORTLIB_METADATA_VERSION).tar.gz
|
||||
PYTHON_IMPORTLIB_METADATA_SITE = https://files.pythonhosted.org/packages/0b/1f/9de392c2b939384e08812ef93adf37684ec170b5b6e7ea302d9f163c2ea0
|
||||
PYTHON_IMPORTLIB_METADATA_SITE = https://files.pythonhosted.org/packages/a0/fc/c4e6078d21fc4fa56300a241b87eae76766aa380a23fc450fc85bb7bf547
|
||||
PYTHON_IMPORTLIB_METADATA_SETUP_TYPE = setuptools
|
||||
|
||||
$(eval $(python-package))
|
||||
|
|
|
@ -1,5 +1,9 @@
|
|||
config BR2_PACKAGE_PYTHON_OVOS_BACKEND_CLIENT
|
||||
bool "python-ovos-backend-client"
|
||||
select BR2_PACKAGE_PYTHON_OVOS_UTILS
|
||||
select BR2_PACKAGE_PYTHON_OVOS_CONFIG
|
||||
select BR2_PACKAGE_PYTHON_JSON_DATABASE
|
||||
select BR2_PACKAGE_PYTHON_OAUTHLIB
|
||||
help
|
||||
Unofficial python api for interaction with
|
||||
https://api.mycroft.ai , also compatible with
|
||||
|
|
|
@ -1 +1 @@
|
|||
sha256 dedf51d425346eb650f070da7416e66f67bae6c4a4048fe56e4e409f87cbc553 python-ovos-backend-client-1a746cee2fca3051415b51460a8a8f6897ee61da.tar.gz
|
||||
sha256 c9430399fc4dc573fb61373b322fbb2528fa95081758ef2c9173f38edfd7d294 python-ovos-backend-client-c10cc52430dbaa57d50121e2e120b5e39e8ccad1.tar.gz
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_BACKEND_CLIENT_VERSION = 1a746cee2fca3051415b51460a8a8f6897ee61da
|
||||
PYTHON_OVOS_BACKEND_CLIENT_VERSION = c10cc52430dbaa57d50121e2e120b5e39e8ccad1
|
||||
PYTHON_OVOS_BACKEND_CLIENT_SITE = $(call github,OpenVoiceOS,ovos-backend-client,$(PYTHON_OVOS_BACKEND_CLIENT_VERSION))
|
||||
PYTHON_OVOS_BACKEND_CLIENT_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_BACKEND_CLIENT_LICENSE_FILES = LICENSE
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
From 1e6814f08646bf3191b26f208b017ca760be7f0f Mon Sep 17 00:00:00 2001
|
||||
From: j1nx <p.steenbergen@j1nx.nl>
|
||||
Date: Sun, 7 May 2023 17:24:10 +0200
|
||||
Subject: [PATCH 1/1] Loosen requirements
|
||||
|
||||
---
|
||||
requirements.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/requirements.txt b/requirements.txt
|
||||
index 6982818..09b7e69 100644
|
||||
--- a/requirements.txt
|
||||
+++ b/requirements.txt
|
||||
@@ -1,4 +1,4 @@
|
||||
ovos-config >= 0.0.8, < 0.1.0
|
||||
ovos-utils >= 0.0.32, < 0.1.0
|
||||
websocket-client>=0.54.0
|
||||
-pyee>=8.1.0, < 9.0.0
|
||||
+pyee>=8.1.0
|
||||
--
|
||||
2.34.1
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
# Locally computed sha256 checksums
|
||||
sha256 6be39206814b1ce4061067aced354b304db2b32cbeaa0b00b7ae8143cac8de7e python-ovos-bus-client-94fbd69ff165ddcd645f02dd28cdd05cb4326bf8.tar.gz
|
||||
sha256 40f18feb6ce2e98630485df7b20a08c4bfcdf28522e33e1cddcc70ae09d185b6 ovos-bus-client-0.0.9a22.tar.gz
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_BUS_CLIENT_VERSION = 94fbd69ff165ddcd645f02dd28cdd05cb4326bf8
|
||||
PYTHON_OVOS_BUS_CLIENT_SITE = $(call github,OpenVoiceOS,ovos-bus-client,$(PYTHON_OVOS_BUS_CLIENT_VERSION))
|
||||
PYTHON_OVOS_BUS_CLIENT_VERSION = 0.0.9a22
|
||||
PYTHON_OVOS_BUS_CLIENT_SOURCE = ovos-bus-client-$(PYTHON_OVOS_BUS_CLIENT_VERSION).tar.gz
|
||||
PYTHON_OVOS_BUS_CLIENT_SITE = https://files.pythonhosted.org/packages/17/ca/64632caeffa51781822422bb5c0bcede075e5d8958dfb2fb3d490cf89376
|
||||
PYTHON_OVOS_BUS_CLIENT_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_BUS_CLIENT_LICENSE = Apache-2.0
|
||||
PYTHON_OVOS_BUS_CLIENT_LICENSE_FILES = LICENSE
|
||||
|
|
|
@ -1 +1 @@
|
|||
sha256 026a937926474354dd9b4168e674c15edd3f4c3c25aed46a30b005fa0dca182e python-ovos-config-de57ca2f69fc0b4b95b56f2f486ce75cdd0a421e.tar.gz
|
||||
sha256 8d02876632b99d4b5db25c8771bab1c4d8f6cfe4fdb21c7bee174dd5475b6f27 python-ovos-config-53597873e570cd26c9cd9c52b99404e9c3383fd3.tar.gz
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_CONFIG_VERSION = de57ca2f69fc0b4b95b56f2f486ce75cdd0a421e
|
||||
PYTHON_OVOS_CONFIG_VERSION = 53597873e570cd26c9cd9c52b99404e9c3383fd3
|
||||
PYTHON_OVOS_CONFIG_SITE = $(call github,OpenVoiceOS,ovos-config,$(PYTHON_OVOS_CONFIG_VERSION))
|
||||
PYTHON_OVOS_CONFIG_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_CONFIG_LICENSE_FILES = LICENSE
|
||||
|
|
|
@ -0,0 +1,15 @@
|
|||
config BR2_PACKAGE_PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION
|
||||
bool "python-ovos-gui-plugin-shell-companion"
|
||||
select BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER
|
||||
select BR2_PACKAGE_PYTHON_OVOS_UTILS
|
||||
select BR2_PACKAGE_PYTHON_OVOS_CONFIG
|
||||
select BR2_PACKAGE_PYTHON_ASTRAL
|
||||
help
|
||||
provides various bus APIs that integrate with
|
||||
ovos-shell.
|
||||
- color scheme manager
|
||||
- notifications widgets
|
||||
- configuration provider (settings UI)
|
||||
- brightness control (night mode etc)
|
||||
|
||||
https://github.com/OpenVoiceOS/ovos-gui-plugin-shell-companion
|
|
@ -0,0 +1,2 @@
|
|||
#sha256 8c240d1e0b2f09701eb223005fab6a286eb5d910e925656f7d883f75f014f41b ovos-gui-plugin-shell-companion-0.0.1a6.tar.gz
|
||||
sha256 b1263fd03371a4cbdbb306ba50247a98995e27e3c8d97fac50f2c46612239e2a python-ovos-gui-plugin-shell-companion-0.0.1a6.tar.gz
|
|
@ -0,0 +1,15 @@
|
|||
################################################################################
|
||||
#
|
||||
# python-ovos-gui-plugin-shell-companion
|
||||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_VERSION = 0.0.1a6
|
||||
#PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_SOURCE = ovos-gui-plugin-shell-companion-$(PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_VERSION).tar.gz
|
||||
#PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_SITE = https://files.pythonhosted.org/packages/cb/17/c0706995c8a0a30e4648c96d088159bbec94b1e9da39011295f0e52d6a9c
|
||||
PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_SITE = $(call github,OpenVoiceOS,ovos-gui-plugin-shell-companion,$(PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_VERSION))
|
||||
PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_GUI_PLUGIN_SHELL_COMPANION_LICENSE_FILES = LICENSE
|
||||
PYTHON_OVOS_GUI_ENV = MYCROFT_LOOSE_REQUIREMENTS=true
|
||||
|
||||
$(eval $(python-package))
|
|
@ -1,5 +1,10 @@
|
|||
config BR2_PACKAGE_PYTHON_OVOS_GUI
|
||||
bool "python-ovos-gui"
|
||||
select BR2_PACKAGE_PYTHON_OVOS_BUS_CLIENT
|
||||
select BR2_PACKAGE_PYTHON_OVOS_UTILS
|
||||
select BR2_PACKAGE_PYTHON_OVOS_CONFIG
|
||||
select BR2_PACKAGE_PYTHON_TORNADO
|
||||
select BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER
|
||||
help
|
||||
GUI messagebus service, manages GUI state
|
||||
and implements the gui protocol
|
||||
|
|
|
@ -1 +1 @@
|
|||
sha256 09488c55a2617bf3d2807a84c4f2a8f636ce1b8a547a0ce5c685bba3f8742e96 python-ovos-gui-502dec01d0055c54998280ffaa76d5f54961173f.tar.gz
|
||||
sha256 5bb3329c701864f1927e18aa7c7754f546703476b04a8d56419602769a9b5c6e ovos-gui-0.1.0a2.tar.gz
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_GUI_VERSION = 502dec01d0055c54998280ffaa76d5f54961173f
|
||||
PYTHON_OVOS_GUI_SITE = $(call github,OpenVoiceOS,ovos-gui,$(PYTHON_OVOS_GUI_VERSION))
|
||||
PYTHON_OVOS_GUI_VERSION = 0.1.0a2
|
||||
PYTHON_OVOS_GUI_SOURCE = ovos-gui-$(PYTHON_OVOS_GUI_VERSION).tar.gz
|
||||
PYTHON_OVOS_GUI_SITE = https://files.pythonhosted.org/packages/99/13/1dcfeb2a0a4f164d8f0467f0032dfc552b1f839da41998d7ab933af3ca3d
|
||||
PYTHON_OVOS_GUI_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_GUI_LICENSE_FILES = LICENSE
|
||||
PYTHON_OVOS_GUI_ENV = MYCROFT_LOOSE_REQUIREMENTS=true
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
config BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER
|
||||
bool "python-ovos-plugin-manager"
|
||||
select BR2_PACKAGE_PYTHON_OVOS_UTILS
|
||||
select BR2_PACKAGE_PYTHON_OVOS_BUS_CLIENT
|
||||
select BR2_PACKAGE_PYTHON_OVOS_CONFIG
|
||||
select BR2_PACKAGE_PYTHON_COMBO_LOCK
|
||||
select BR2_PACKAGE_PYTHON_REQUESTS
|
||||
select BR2_PACKAGE_PYTHON_QUEBRA_FRASES
|
||||
select BR2_PACKAGE_PYTHON_LANGCODES
|
||||
select BR2_PACKAGE_PYTHON_IMPORTLIB_METADATA
|
||||
select BR2_PACKAGE_PYTHON_SETUPTOOLS
|
||||
help
|
||||
OPM can be used to search, install, load
|
||||
and create plugins for the OpenVoiceOS ecosystem!
|
||||
|
|
|
@ -1 +1 @@
|
|||
sha256 2642bdde9eff11333d60c8097ced046e4d5c16121e60ffff92adc9ac26995f96 python-ovos-plugin-manager-7eba4f0911e68aed315ec9029727ac052d363b95.tar.gz
|
||||
sha256 22df0d387b80a0bfd294dcfbe8f54c73ef5d74b7067ef1580b8a4778fdce3e71 python-ovos-plugin-manager-9857a3ef5d2b348b2276fbf5821bea71b6678cfa.tar.gz
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_PLUGIN_MANAGER_VERSION = 7eba4f0911e68aed315ec9029727ac052d363b95
|
||||
PYTHON_OVOS_PLUGIN_MANAGER_VERSION = 9857a3ef5d2b348b2276fbf5821bea71b6678cfa
|
||||
PYTHON_OVOS_PLUGIN_MANAGER_SITE = $(call github,OpenVoiceOS,ovos-plugin-manager,$(PYTHON_OVOS_PLUGIN_MANAGER_VERSION))
|
||||
PYTHON_OVOS_PLUGIN_MANAGER_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_PLUGIN_MANAGER_LICENSE_FILES = LICENSE
|
||||
|
|
|
@ -1 +1 @@
|
|||
sha256 8c3ea3d7f1fe1c54bd070a71b59f7ef0ff8ba62879f0da4d26dc7422bb65faf3 python-ovos-utils-5e43850e138150247da5d151ed4bd2e65a6bb455.tar.gz
|
||||
sha256 1205ac8ebc3459ca355b4657870dec3918d532e74f9e24413d597393447ab853 ovos_utils-0.1.0a24.tar.gz
|
||||
|
|
|
@ -4,8 +4,9 @@
|
|||
#
|
||||
################################################################################
|
||||
|
||||
PYTHON_OVOS_UTILS_VERSION = 5e43850e138150247da5d151ed4bd2e65a6bb455
|
||||
PYTHON_OVOS_UTILS_SITE = $(call github,OpenVoiceOS,ovos_utils,$(PYTHON_OVOS_UTILS_VERSION))
|
||||
PYTHON_OVOS_UTILS_VERSION = 0.1.0a24
|
||||
PYTHON_OVOS_UTILS_SOURCE = ovos_utils-$(PYTHON_OVOS_UTILS_VERSION).tar.gz
|
||||
PYTHON_OVOS_UTILS_SITE = https://files.pythonhosted.org/packages/2a/fb/ad024a77ad33941b5a51d1e073710d4d458faea21521612a3e45545c5b19
|
||||
PYTHON_OVOS_UTILS_SETUP_TYPE = setuptools
|
||||
PYTHON_OVOS_UTILS_LICENSE_FILES = LICENSE
|
||||
PYTHON_OVOS_UTILS_ENV = MYCROFT_LOOSE_REQUIREMENTS=true
|
||||
|
|
|
@ -3,16 +3,16 @@
|
|||
# rpi-eeprom
|
||||
#
|
||||
#############################################################
|
||||
RPI_EEPROM_VERSION = 61023cbd32725a07e094f9b2d01df302f4ddabba
|
||||
RPI_EEPROM_VERSION = e430a41e7323a1e28fb42b53cf79e5ba9b5ee975
|
||||
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-01-22.bin
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2711/stable/pieeprom-2024-05-17.bin
|
||||
else ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI5),y) # Raspberry Pi 5
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2712/stable/pieeprom-2024-04-05.bin
|
||||
RPI_EEPROM_FIRMWARE_PATH = firmware-2712/stable/pieeprom-2024-06-05.bin
|
||||
endif
|
||||
|
||||
define RPI_EEPROM_BUILD_CMDS
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
From 64fda55272af2f6281bb12f2b2add77d95c1ca18 Mon Sep 17 00:00:00 2001
|
||||
From a5ad40efc5cd4e88be94245306fc5b98de6258f8 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Zijlstra <peterz@infradead.org>
|
||||
Date: Fri, 8 Sep 2023 18:22:48 +0200
|
||||
Subject: [PATCH 001/196] sched: Constrain locks in sched_submit_work()
|
||||
Subject: [PATCH 001/198] sched: Constrain locks in sched_submit_work()
|
||||
|
||||
Even though sched_submit_work() is ran from preemptible context,
|
||||
it is discouraged to have it use blocking locks due to the recursion
|
||||
|
@ -18,7 +18,7 @@ Link: https://lkml.kernel.org/r/20230908162254.999499-2-bigeasy@linutronix.de
|
|||
1 file changed, 9 insertions(+)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index 1f91e2c12731..73949b8a55d2 100644
|
||||
index dcb30e304871..ca7a390b9f62 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -6721,11 +6721,18 @@ void __noreturn do_task_dead(void)
|
||||
|
@ -50,5 +50,5 @@ index 1f91e2c12731..73949b8a55d2 100644
|
|||
|
||||
static void sched_update_worker(struct task_struct *tsk)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 5c3a150e1c7cb9488ad89b655bfd9fc460e2a2f9 Mon Sep 17 00:00:00 2001
|
||||
From fd6a359a99008634115a4b429a543718e68ff5c4 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Fri, 8 Sep 2023 18:22:49 +0200
|
||||
Subject: [PATCH 002/196] locking/rtmutex: Avoid unconditional slowpath for
|
||||
Subject: [PATCH 002/198] locking/rtmutex: Avoid unconditional slowpath for
|
||||
DEBUG_RT_MUTEXES
|
||||
|
||||
With DEBUG_RT_MUTEXES enabled the fast-path rt_mutex_cmpxchg_acquire()
|
||||
|
@ -82,5 +82,5 @@ index d1473c624105..c7196de838ed 100644
|
|||
ww_mutex_set_context_fastpath(lock, ww_ctx);
|
||||
return 0;
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 274c3a06b39727d2ceea622ec9504725ad066758 Mon Sep 17 00:00:00 2001
|
||||
From 726fcf358613df82a8068f8aaa9507d67df8de50 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Fri, 8 Sep 2023 18:22:50 +0200
|
||||
Subject: [PATCH 003/196] sched: Extract __schedule_loop()
|
||||
Subject: [PATCH 003/198] sched: Extract __schedule_loop()
|
||||
|
||||
There are currently two implementations of this basic __schedule()
|
||||
loop, and there is soon to be a third.
|
||||
|
@ -15,7 +15,7 @@ Link: https://lkml.kernel.org/r/20230908162254.999499-4-bigeasy@linutronix.de
|
|||
1 file changed, 11 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index 73949b8a55d2..4498af52cf47 100644
|
||||
index ca7a390b9f62..8f6962c0619b 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -6771,16 +6771,21 @@ static void sched_update_worker(struct task_struct *tsk)
|
||||
|
@ -59,5 +59,5 @@ index 73949b8a55d2..4498af52cf47 100644
|
|||
NOKPROBE_SYMBOL(schedule_rtlock);
|
||||
#endif
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 7e8cc292a114b7d286d1e01eabe11dad82341a8b Mon Sep 17 00:00:00 2001
|
||||
From 63efc63673a6fab2c2dae2c23fea60297bbe2394 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Zijlstra <peterz@infradead.org>
|
||||
Date: Fri, 8 Sep 2023 18:22:51 +0200
|
||||
Subject: [PATCH 004/196] sched: Provide rt_mutex specific scheduler helpers
|
||||
Subject: [PATCH 004/198] sched: Provide rt_mutex specific scheduler helpers
|
||||
|
||||
With PREEMPT_RT there is a rt_mutex recursion problem where
|
||||
sched_submit_work() can use an rtlock (aka spinlock_t). More
|
||||
|
@ -72,7 +72,7 @@ index 994c25640e15..b2b9e6eb9683 100644
|
|||
* Must hold either p->pi_lock or task_rq(p)->lock.
|
||||
*/
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index 4498af52cf47..d703c5427cf2 100644
|
||||
index 8f6962c0619b..b49e976e831d 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -6724,9 +6724,6 @@ static inline void sched_submit_work(struct task_struct *tsk)
|
||||
|
@ -133,5 +133,5 @@ index 4498af52cf47..d703c5427cf2 100644
|
|||
{
|
||||
if (pi_task)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 5762f7281a1fdd82c3d062c45b22c923e60ec13b Mon Sep 17 00:00:00 2001
|
||||
From 3fee7fa89258ca88cff520d3218f2836b2a28967 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Fri, 8 Sep 2023 18:22:52 +0200
|
||||
Subject: [PATCH 005/196] locking/rtmutex: Use rt_mutex specific scheduler
|
||||
Subject: [PATCH 005/198] locking/rtmutex: Use rt_mutex specific scheduler
|
||||
helpers
|
||||
|
||||
Have rt_mutex use the rt_mutex specific scheduler helpers to avoid
|
||||
|
@ -187,5 +187,5 @@ index 48a19ed8486d..842037b2ba54 100644
|
|||
/*
|
||||
* The common functions which get wrapped into the rwlock API.
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From b71ab9837960957eba5540fa4f8cbdff716d109a Mon Sep 17 00:00:00 2001
|
||||
From a249b8b176e8cca383e6e5c1828d22c36550bf4f Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Fri, 8 Sep 2023 18:22:53 +0200
|
||||
Subject: [PATCH 006/196] locking/rtmutex: Add a lockdep assert to catch
|
||||
Subject: [PATCH 006/198] locking/rtmutex: Add a lockdep assert to catch
|
||||
potential nested blocking
|
||||
|
||||
There used to be a BUG_ON(current->pi_blocked_on) in the lock acquisition
|
||||
|
@ -62,5 +62,5 @@ index 842037b2ba54..38e292454fcc 100644
|
|||
rtlock_slowlock(rtm);
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 2343a071fe4d7b166460763b1c136087413162de Mon Sep 17 00:00:00 2001
|
||||
From 5e7587cbae78256b00529bf6f8bf05fc12016870 Mon Sep 17 00:00:00 2001
|
||||
From: Peter Zijlstra <peterz@infradead.org>
|
||||
Date: Fri, 15 Sep 2023 17:19:44 +0200
|
||||
Subject: [PATCH 007/196] futex/pi: Fix recursive rt_mutex waiter state
|
||||
Subject: [PATCH 007/198] futex/pi: Fix recursive rt_mutex waiter state
|
||||
|
||||
Some new assertions pointed out that the existing code has nested rt_mutex wait
|
||||
state in the futex code.
|
||||
|
@ -200,5 +200,5 @@ index cba8b1a6a4cc..4c73e0b81acc 100644
|
|||
/*
|
||||
* Fixup the pi_state owner and possibly acquire the lock if we
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From d491a188fa496d6b2cdf75506baf2f0b9c05f9be Mon Sep 17 00:00:00 2001
|
||||
From 582ec18e1e62afbe50a9da0c175702bdef8cf6f1 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 3 Aug 2023 12:09:31 +0200
|
||||
Subject: [PATCH 008/196] signal: Add proper comment about the preempt-disable
|
||||
Subject: [PATCH 008/198] signal: Add proper comment about the preempt-disable
|
||||
in ptrace_stop().
|
||||
|
||||
Commit 53da1d9456fe7 ("fix ptrace slowness") added a preempt-disable section
|
||||
|
@ -48,5 +48,5 @@ index 09019017d669..051ed8114cd4 100644
|
|||
preempt_disable();
|
||||
read_unlock(&tasklist_lock);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From a1d2d7b91bc31bbfbfbc05438ecbe88fe2d54202 Mon Sep 17 00:00:00 2001
|
||||
From 207befc216df4061572b5eb8b1e1f5280b770658 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 3 Aug 2023 12:09:32 +0200
|
||||
Subject: [PATCH 009/196] signal: Don't disable preemption in ptrace_stop() on
|
||||
Subject: [PATCH 009/198] signal: Don't disable preemption in ptrace_stop() on
|
||||
PREEMPT_RT.
|
||||
|
||||
On PREEMPT_RT keeping preemption disabled during the invocation of
|
||||
|
@ -49,5 +49,5 @@ index 051ed8114cd4..b71026341056 100644
|
|||
cgroup_leave_frozen(true);
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 623644e53c2a6223a210481f10e12d2018b6217b Mon Sep 17 00:00:00 2001
|
||||
From 3470ae03d7dbbfaddcd602547d28d0008320f1b2 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 21 Sep 2023 16:15:12 +0200
|
||||
Subject: [PATCH 010/196] drm/amd/display: Remove migrate_en/dis from
|
||||
Subject: [PATCH 010/198] drm/amd/display: Remove migrate_en/dis from
|
||||
dc_fpu_begin().
|
||||
|
||||
This is a revert of the commit mentioned below while it is not wrong, as
|
||||
|
@ -87,5 +87,5 @@ index 172aa10a8800..86f4c0e04654 100644
|
|||
if (cpu_has_feature(CPU_FTR_VSX_COMP)) {
|
||||
disable_kernel_vsx();
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 5249a4a63e601d0bcb87908ce51dc0b62f6623d4 Mon Sep 17 00:00:00 2001
|
||||
From 83124eabc893637620054a1966019c0a1c02e187 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 21 Sep 2023 16:15:13 +0200
|
||||
Subject: [PATCH 011/196] drm/amd/display: Simplify the per-CPU usage.
|
||||
Subject: [PATCH 011/198] drm/amd/display: Simplify the per-CPU usage.
|
||||
|
||||
The fpu_recursion_depth counter is used to ensure that dc_fpu_begin()
|
||||
can be invoked multiple times while the FPU-disable function itself is
|
||||
|
@ -128,5 +128,5 @@ index 86f4c0e04654..8bd5926b47e0 100644
|
|||
+ preempt_enable();
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From fafd90c1efec381f2a8a462e9debebe092a8b048 Mon Sep 17 00:00:00 2001
|
||||
From 332d3bcd23afc3fcf110bc09fcab6b315bac9d34 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 21 Sep 2023 16:15:14 +0200
|
||||
Subject: [PATCH 012/196] drm/amd/display: Add a warning if the FPU is used
|
||||
Subject: [PATCH 012/198] drm/amd/display: Add a warning if the FPU is used
|
||||
outside from task context.
|
||||
|
||||
Add a warning if the FPU is used from any context other than task
|
||||
|
@ -27,5 +27,5 @@ index 8bd5926b47e0..4ae4720535a5 100644
|
|||
depth = __this_cpu_inc_return(fpu_recursion_depth);
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 247c1f664220f315889e927b71ea7aa7c9bee733 Mon Sep 17 00:00:00 2001
|
||||
From 1d341dfc82351031ea1a93de23758b7777a51892 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 21 Sep 2023 16:15:15 +0200
|
||||
Subject: [PATCH 013/196] drm/amd/display: Move the memory allocation out of
|
||||
Subject: [PATCH 013/198] drm/amd/display: Move the memory allocation out of
|
||||
dcn21_validate_bandwidth_fp().
|
||||
|
||||
dcn21_validate_bandwidth_fp() is invoked while FPU access has been
|
||||
|
@ -92,5 +92,5 @@ index c51badf7b68a..a81a0b9e6884 100644
|
|||
|
||||
void dcn21_clk_mgr_set_bw_params_wm_table(struct clk_bw_params *bw_params);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 4e5f84f3f362e463a2f4b3b678e6f14a4c1022b5 Mon Sep 17 00:00:00 2001
|
||||
From f36c959a82ec24ab7e9d9a6bdb8bf57873252b29 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 21 Sep 2023 16:15:16 +0200
|
||||
Subject: [PATCH 014/196] drm/amd/display: Move the memory allocation out of
|
||||
Subject: [PATCH 014/198] drm/amd/display: Move the memory allocation out of
|
||||
dcn20_validate_bandwidth_fp().
|
||||
|
||||
dcn20_validate_bandwidth_fp() is invoked while FPU access has been
|
||||
|
@ -126,5 +126,5 @@ index a81a0b9e6884..b6c34198ddc8 100644
|
|||
struct pp_smu_wm_range_sets *ranges,
|
||||
struct _vcs_dpi_soc_bounding_box_st *loaded_bb);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 3080305e309931d30a95a7f597fd336d8c18abfc Mon Sep 17 00:00:00 2001
|
||||
From aa8e26abcc3abb3e4131264dc15850c6ee9c5a17 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Mon, 15 Aug 2022 17:29:50 +0200
|
||||
Subject: [PATCH 015/196] net: Avoid the IPI to free the
|
||||
Subject: [PATCH 015/198] net: Avoid the IPI to free the
|
||||
|
||||
skb_attempt_defer_free() collects a skbs, which was allocated on a
|
||||
remote CPU, on a per-CPU list. These skbs are either freed on that
|
||||
|
@ -40,7 +40,7 @@ index b8e60a20416b..ffa5248a90e2 100644
|
|||
|
||||
static inline void input_queue_head_incr(struct softnet_data *sd)
|
||||
diff --git a/net/core/dev.c b/net/core/dev.c
|
||||
index 1f6c8945f2ec..1e8928cd3c75 100644
|
||||
index 5a5bd339f11e..8f193d7b8b41 100644
|
||||
--- a/net/core/dev.c
|
||||
+++ b/net/core/dev.c
|
||||
@@ -4705,15 +4705,6 @@ static void rps_trigger_softirq(void *data)
|
||||
|
@ -92,7 +92,7 @@ index 1f6c8945f2ec..1e8928cd3c75 100644
|
|||
static int napi_threaded_poll(void *data)
|
||||
{
|
||||
struct napi_struct *napi = data;
|
||||
@@ -11618,7 +11635,11 @@ static int __init net_dev_init(void)
|
||||
@@ -11619,7 +11636,11 @@ static int __init net_dev_init(void)
|
||||
INIT_CSD(&sd->csd, rps_trigger_softirq, sd);
|
||||
sd->cpu = i;
|
||||
#endif
|
||||
|
@ -124,5 +124,5 @@ index f0a9ef1aeaa2..682175af439d 100644
|
|||
|
||||
static void skb_splice_csum_page(struct sk_buff *skb, struct page *page,
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From bd995cd727d2224a50948e9b438bfe8047ee1b32 Mon Sep 17 00:00:00 2001
|
||||
From 0c81e8feb81c26938bb8e1671251c5bbbbe61e71 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Wed, 7 Aug 2019 18:15:38 +0200
|
||||
Subject: [PATCH 016/196] x86: Allow to enable RT
|
||||
Subject: [PATCH 016/198] x86: Allow to enable RT
|
||||
|
||||
Allow to select RT.
|
||||
|
||||
|
@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index be9248e5cb71..0b9640069679 100644
|
||||
index 82d12c93feab..231e41817ea4 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -28,6 +28,7 @@ config X86_64
|
||||
|
@ -24,5 +24,5 @@ index be9248e5cb71..0b9640069679 100644
|
|||
select HAVE_ARCH_SOFT_DIRTY
|
||||
select MODULES_USE_ELF_RELA
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 07b4a5b59a1e0dc9174bf6c59e2678ddea5643a7 Mon Sep 17 00:00:00 2001
|
||||
From be9039f5df5d87ef2bcdb94692c5c7cf23e1ab57 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Thu, 7 Nov 2019 17:49:20 +0100
|
||||
Subject: [PATCH 017/196] x86: Enable RT also on 32bit
|
||||
Subject: [PATCH 017/198] x86: Enable RT also on 32bit
|
||||
|
||||
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
||||
|
@ -10,7 +10,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
|
|||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
|
||||
index 0b9640069679..282313172756 100644
|
||||
index 231e41817ea4..fe340c07ddbf 100644
|
||||
--- a/arch/x86/Kconfig
|
||||
+++ b/arch/x86/Kconfig
|
||||
@@ -28,7 +28,6 @@ config X86_64
|
||||
|
@ -30,5 +30,5 @@ index 0b9640069679..282313172756 100644
|
|||
select ARCH_USE_MEMTEST
|
||||
select ARCH_USE_QUEUED_RWLOCKS
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From db46aebeac180f931ba8691024ee135c07858583 Mon Sep 17 00:00:00 2001
|
||||
From 1d5f24ef9b6e648ae4a48efed2517b326d42bd21 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Tue, 1 Aug 2023 17:26:48 +0200
|
||||
Subject: [PATCH 018/196] sched/rt: Don't try push tasks if there are none.
|
||||
Subject: [PATCH 018/198] sched/rt: Don't try push tasks if there are none.
|
||||
|
||||
I have a RT task X at a high priority and cyclictest on each CPU with
|
||||
lower priority than X's. If X is active and each CPU wakes their own
|
||||
|
@ -59,5 +59,5 @@ index 4ac36eb4cdee..acd1510e8d47 100644
|
|||
rd->rto_cpu = -1;
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From c7e01a04ed53f115cb3af580ed462135aa6b71b2 Mon Sep 17 00:00:00 2001
|
||||
From 7ff5e122c0ed81be4b0fd5f95eceff4601ae3b92 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Wed, 1 Dec 2021 17:41:09 +0100
|
||||
Subject: [PATCH 019/196] softirq: Use a dedicated thread for timer wakeups.
|
||||
Subject: [PATCH 019/198] softirq: Use a dedicated thread for timer wakeups.
|
||||
|
||||
A timer/hrtimer softirq is raised in-IRQ context. With threaded
|
||||
interrupts enabled or on PREEMPT_RT this leads to waking the ksoftirqd
|
||||
|
@ -72,10 +72,10 @@ index 4a1dc88ddbff..0efba74a835c 100644
|
|||
|
||||
static inline struct task_struct *this_cpu_ksoftirqd(void)
|
||||
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||
index 210cf5f8d92c..c29c30106eb8 100644
|
||||
index bd9716d7bb63..0e43058c2e58 100644
|
||||
--- a/kernel/softirq.c
|
||||
+++ b/kernel/softirq.c
|
||||
@@ -619,6 +619,29 @@ static inline void tick_irq_exit(void)
|
||||
@@ -623,6 +623,29 @@ static inline void tick_irq_exit(void)
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@ -105,7 +105,7 @@ index 210cf5f8d92c..c29c30106eb8 100644
|
|||
static inline void __irq_exit_rcu(void)
|
||||
{
|
||||
#ifndef __ARCH_IRQ_EXIT_IRQS_DISABLED
|
||||
@@ -628,8 +651,13 @@ static inline void __irq_exit_rcu(void)
|
||||
@@ -632,8 +655,13 @@ static inline void __irq_exit_rcu(void)
|
||||
#endif
|
||||
account_hardirq_exit(current);
|
||||
preempt_count_sub(HARDIRQ_OFFSET);
|
||||
|
@ -121,7 +121,7 @@ index 210cf5f8d92c..c29c30106eb8 100644
|
|||
|
||||
tick_irq_exit();
|
||||
}
|
||||
@@ -963,12 +991,70 @@ static struct smp_hotplug_thread softirq_threads = {
|
||||
@@ -967,12 +995,70 @@ static struct smp_hotplug_thread softirq_threads = {
|
||||
.thread_comm = "ksoftirqd/%u",
|
||||
};
|
||||
|
||||
|
@ -229,5 +229,5 @@ index 63a8ce7177dd..7cad6fe3c035 100644
|
|||
|
||||
/*
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 7c7aa2fd849aea3a7921810889b8d085bc57eed2 Mon Sep 17 00:00:00 2001
|
||||
From 2dfa9f9c68b582c25a433a35b9b9b9a6ac924d70 Mon Sep 17 00:00:00 2001
|
||||
From: Frederic Weisbecker <frederic@kernel.org>
|
||||
Date: Tue, 5 Apr 2022 03:07:51 +0200
|
||||
Subject: [PATCH 020/196] rcutorture: Also force sched priority to timersd on
|
||||
Subject: [PATCH 020/198] rcutorture: Also force sched priority to timersd on
|
||||
boosting test.
|
||||
|
||||
ksoftirqd is statically boosted to the priority level right above the
|
||||
|
@ -46,10 +46,10 @@ index 0efba74a835c..f459b0f27c94 100644
|
|||
extern void raise_hrtimer_softirq(void);
|
||||
|
||||
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c
|
||||
index ade42d6a9d9b..eebb9b4548fb 100644
|
||||
index 781146600aa4..7ee1c84b52ee 100644
|
||||
--- a/kernel/rcu/rcutorture.c
|
||||
+++ b/kernel/rcu/rcutorture.c
|
||||
@@ -2408,6 +2408,12 @@ static int rcutorture_booster_init(unsigned int cpu)
|
||||
@@ -2409,6 +2409,12 @@ static int rcutorture_booster_init(unsigned int cpu)
|
||||
WARN_ON_ONCE(!t);
|
||||
sp.sched_priority = 2;
|
||||
sched_setscheduler_nocheck(t, SCHED_FIFO, &sp);
|
||||
|
@ -63,10 +63,10 @@ index ade42d6a9d9b..eebb9b4548fb 100644
|
|||
|
||||
/* Don't allow time recalculation while creating a new task. */
|
||||
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||
index c29c30106eb8..1277abc94228 100644
|
||||
index 0e43058c2e58..63e8b9ad2727 100644
|
||||
--- a/kernel/softirq.c
|
||||
+++ b/kernel/softirq.c
|
||||
@@ -620,7 +620,7 @@ static inline void tick_irq_exit(void)
|
||||
@@ -624,7 +624,7 @@ static inline void tick_irq_exit(void)
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PREEMPT_RT
|
||||
|
@ -76,5 +76,5 @@ index c29c30106eb8..1277abc94228 100644
|
|||
|
||||
static unsigned int local_pending_timers(void)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 9d79040c2c1c1f48b290b9cee53e2ad94fe595d3 Mon Sep 17 00:00:00 2001
|
||||
From b384d371d5d010103ec54eba9b7671fc5185ff2d Mon Sep 17 00:00:00 2001
|
||||
From: Frederic Weisbecker <frederic@kernel.org>
|
||||
Date: Tue, 5 Apr 2022 03:07:52 +0200
|
||||
Subject: [PATCH 021/196] tick: Fix timer storm since introduction of timersd
|
||||
Subject: [PATCH 021/198] tick: Fix timer storm since introduction of timersd
|
||||
|
||||
If timers are pending while the tick is reprogrammed on nohz_mode, the
|
||||
next expiry is not armed to fire now, it is delayed one jiffy forward
|
||||
|
@ -80,10 +80,10 @@ index f459b0f27c94..a5091ac97fc6 100644
|
|||
|
||||
DECLARE_PER_CPU(struct task_struct *, ksoftirqd);
|
||||
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||
index 1277abc94228..a4d359e2c2b5 100644
|
||||
index 63e8b9ad2727..65477d8e00af 100644
|
||||
--- a/kernel/softirq.c
|
||||
+++ b/kernel/softirq.c
|
||||
@@ -621,12 +621,7 @@ static inline void tick_irq_exit(void)
|
||||
@@ -625,12 +625,7 @@ static inline void tick_irq_exit(void)
|
||||
|
||||
#ifdef CONFIG_PREEMPT_RT
|
||||
DEFINE_PER_CPU(struct task_struct *, timersd);
|
||||
|
@ -111,5 +111,5 @@ index 55cbc49f70d1..1a0ed106b192 100644
|
|||
|
||||
static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 0e32a7eea788ed21fcc70c30fd603fdc76b00ac8 Mon Sep 17 00:00:00 2001
|
||||
From bdf5ee26417220052ec1661debb63390ada3139f Mon Sep 17 00:00:00 2001
|
||||
From: Junxiao Chang <junxiao.chang@intel.com>
|
||||
Date: Mon, 20 Feb 2023 09:12:20 +0100
|
||||
Subject: [PATCH 022/196] softirq: Wake ktimers thread also in softirq.
|
||||
Subject: [PATCH 022/198] softirq: Wake ktimers thread also in softirq.
|
||||
|
||||
If the hrtimer is raised while a softirq is processed then it does not
|
||||
wake the corresponding ktimers thread. This is due to the optimisation in the
|
||||
|
@ -22,10 +22,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 5 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||
index a4d359e2c2b5..c2474cc4fa51 100644
|
||||
index 65477d8e00af..ea6198bf64e0 100644
|
||||
--- a/kernel/softirq.c
|
||||
+++ b/kernel/softirq.c
|
||||
@@ -646,13 +646,12 @@ static inline void __irq_exit_rcu(void)
|
||||
@@ -650,13 +650,12 @@ static inline void __irq_exit_rcu(void)
|
||||
#endif
|
||||
account_hardirq_exit(current);
|
||||
preempt_count_sub(HARDIRQ_OFFSET);
|
||||
|
@ -45,5 +45,5 @@ index a4d359e2c2b5..c2474cc4fa51 100644
|
|||
tick_irq_exit();
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 57cccbf81b65507bd497f519ccfa101c32b2754c Mon Sep 17 00:00:00 2001
|
||||
From d3387d952d438dbf7defeed50f8fbc39fba1df70 Mon Sep 17 00:00:00 2001
|
||||
From: Mike Galbraith <umgwanakikbuti@gmail.com>
|
||||
Date: Thu, 31 Mar 2016 04:08:28 +0200
|
||||
Subject: [PATCH 023/196] zram: Replace bit spinlocks with spinlock_t for
|
||||
Subject: [PATCH 023/198] zram: Replace bit spinlocks with spinlock_t for
|
||||
PREEMPT_RT.
|
||||
|
||||
The bit spinlock disables preemption. The spinlock_t lock becomes a sleeping
|
||||
|
@ -98,5 +98,5 @@ index ca7a15bd4845..e64eb607eb45 100644
|
|||
ktime_t ac_time;
|
||||
#endif
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From a622600aa33f630c975961c557bc1b42173a7ff6 Mon Sep 17 00:00:00 2001
|
||||
From 33a68ca25d0b2a563cb067490e89561b53cc5f2b Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Wed, 8 Mar 2023 16:29:38 +0100
|
||||
Subject: [PATCH 024/196] preempt: Put preempt_enable() within an
|
||||
Subject: [PATCH 024/198] preempt: Put preempt_enable() within an
|
||||
instrumentation*() section.
|
||||
|
||||
Callers of preempt_enable() can be within an noinstr section leading to:
|
||||
|
@ -48,5 +48,5 @@ index 9aa6358a1a16..cd16f0330fba 100644
|
|||
|
||||
#define preempt_check_resched() \
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 4ae4b72fbf397e10c5dd99e5a16d05738e7731f9 Mon Sep 17 00:00:00 2001
|
||||
From 3fe6d131433d048f8ab7dd55f7106599ecefaddd Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Fri, 4 Aug 2023 13:30:37 +0200
|
||||
Subject: [PATCH 025/196] sched/core: Provide a method to check if a task is
|
||||
Subject: [PATCH 025/198] sched/core: Provide a method to check if a task is
|
||||
PI-boosted.
|
||||
|
||||
Provide a method to check if a task inherited the priority from another
|
||||
|
@ -31,7 +31,7 @@ index 67623ffd4a8e..eab173e5d09b 100644
|
|||
extern void set_user_nice(struct task_struct *p, long nice);
|
||||
extern int task_prio(const struct task_struct *p);
|
||||
diff --git a/kernel/sched/core.c b/kernel/sched/core.c
|
||||
index d703c5427cf2..c731c53d6bfd 100644
|
||||
index b49e976e831d..bbc2e377fc79 100644
|
||||
--- a/kernel/sched/core.c
|
||||
+++ b/kernel/sched/core.c
|
||||
@@ -8923,6 +8923,21 @@ static inline void preempt_dynamic_init(void) { }
|
||||
|
@ -57,5 +57,5 @@ index d703c5427cf2..c731c53d6bfd 100644
|
|||
* yield - yield the current processor to other threads.
|
||||
*
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From d21a69c84700a97a5acdca48a49c6dab62fa93e6 Mon Sep 17 00:00:00 2001
|
||||
From 65324c3d45b0bccbf9908de7c05ef3cac61fe87a Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Fri, 4 Aug 2023 13:30:38 +0200
|
||||
Subject: [PATCH 026/196] softirq: Add function to preempt serving softirqs.
|
||||
Subject: [PATCH 026/198] softirq: Add function to preempt serving softirqs.
|
||||
|
||||
Add a functionality for the softirq handler to preempt its current work
|
||||
if needed. The softirq core has no particular state. It reads and resets
|
||||
|
@ -39,7 +39,7 @@ index fc53e0ad56d9..448bbef47456 100644
|
|||
|
||||
#endif /* _LINUX_BH_H */
|
||||
diff --git a/kernel/softirq.c b/kernel/softirq.c
|
||||
index c2474cc4fa51..cae0ae2e2b0b 100644
|
||||
index ea6198bf64e0..2fde8af88e48 100644
|
||||
--- a/kernel/softirq.c
|
||||
+++ b/kernel/softirq.c
|
||||
@@ -247,6 +247,19 @@ void __local_bh_enable_ip(unsigned long ip, unsigned int cnt)
|
||||
|
@ -63,5 +63,5 @@ index c2474cc4fa51..cae0ae2e2b0b 100644
|
|||
* Invoked from ksoftirqd_run() outside of the interrupt disabled section
|
||||
* to acquire the per CPU local lock for reentrancy protection.
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From d23ffc79747b058efb25071c175fab84a6aef4a0 Mon Sep 17 00:00:00 2001
|
||||
From 476585cf12a905280a088c7c2acf505e56f4939e Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
||||
Date: Fri, 4 Aug 2023 13:30:39 +0200
|
||||
Subject: [PATCH 027/196] time: Allow to preempt after a callback.
|
||||
Subject: [PATCH 027/198] time: Allow to preempt after a callback.
|
||||
|
||||
The TIMER_SOFTIRQ handler invokes timer callbacks of the expired timers.
|
||||
Before each invocation the timer_base::lock is dropped. The only lock
|
||||
|
@ -48,5 +48,5 @@ index 7cad6fe3c035..b3fbe97d1e34 100644
|
|||
raw_spin_lock_irq(&base->lock);
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 6c5fd34375840faafa52dc7fcdd2af0ae03f8dc9 Mon Sep 17 00:00:00 2001
|
||||
From 3c73775d695d5cd02c3e8d459e1df2724b9f24f0 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:19 +0206
|
||||
Subject: [PATCH 028/196] serial: core: Use lock wrappers
|
||||
Subject: [PATCH 028/198] serial: core: Use lock wrappers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
@ -41,10 +41,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h
|
||||
index a7d5fa892be2..678409c47b88 100644
|
||||
index 052df85dfd59..71d925e8a79b 100644
|
||||
--- a/include/linux/serial_core.h
|
||||
+++ b/include/linux/serial_core.h
|
||||
@@ -1058,14 +1058,14 @@ static inline void uart_unlock_and_check_sysrq(struct uart_port *port)
|
||||
@@ -1078,14 +1078,14 @@ static inline void uart_unlock_and_check_sysrq(struct uart_port *port)
|
||||
u8 sysrq_ch;
|
||||
|
||||
if (!port->has_sysrq) {
|
||||
|
@ -61,7 +61,7 @@ index a7d5fa892be2..678409c47b88 100644
|
|||
|
||||
if (sysrq_ch)
|
||||
handle_sysrq(sysrq_ch);
|
||||
@@ -1077,14 +1077,14 @@ static inline void uart_unlock_and_check_sysrq_irqrestore(struct uart_port *port
|
||||
@@ -1097,14 +1097,14 @@ static inline void uart_unlock_and_check_sysrq_irqrestore(struct uart_port *port
|
||||
u8 sysrq_ch;
|
||||
|
||||
if (!port->has_sysrq) {
|
||||
|
@ -78,7 +78,7 @@ index a7d5fa892be2..678409c47b88 100644
|
|||
|
||||
if (sysrq_ch)
|
||||
handle_sysrq(sysrq_ch);
|
||||
@@ -1100,12 +1100,12 @@ static inline int uart_prepare_sysrq_char(struct uart_port *port, u8 ch)
|
||||
@@ -1120,12 +1120,12 @@ static inline int uart_prepare_sysrq_char(struct uart_port *port, u8 ch)
|
||||
}
|
||||
static inline void uart_unlock_and_check_sysrq(struct uart_port *port)
|
||||
{
|
||||
|
@ -94,5 +94,5 @@ index a7d5fa892be2..678409c47b88 100644
|
|||
#endif /* CONFIG_MAGIC_SYSRQ_SERIAL */
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 6deb325a028322c4a4e7b28cbd3b9ec25f80d6a0 Mon Sep 17 00:00:00 2001
|
||||
From 82c085780a94b3c85d976ade46212fb57e03e99e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:20 +0206
|
||||
Subject: [PATCH 029/196] serial: 21285: Use port lock wrappers
|
||||
Subject: [PATCH 029/198] serial: 21285: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -76,5 +76,5 @@ index d756fcc884cb..4de0c975ebdc 100644
|
|||
|
||||
static const char *serial21285_type(struct uart_port *port)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From cca56d164cac4c49bcfbfa86cb969ad793e86416 Mon Sep 17 00:00:00 2001
|
||||
From 8c2c911f3a02f5d324c2da970197fc040d65eb8e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:21 +0206
|
||||
Subject: [PATCH 030/196] serial: 8250_aspeed_vuart: Use port lock wrappers
|
||||
Subject: [PATCH 030/198] serial: 8250_aspeed_vuart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -62,5 +62,5 @@ index 4a9e71b2dbbc..021949f252f8 100644
|
|||
lsr = serial_port_in(port, UART_LSR);
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 2db644ab7d72fad6b37df65a4851616312692caf Mon Sep 17 00:00:00 2001
|
||||
From 6a5af1e8fbd6409bd0102147c056daa76ccf7918 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:22 +0206
|
||||
Subject: [PATCH 031/196] serial: 8250_bcm7271: Use port lock wrappers
|
||||
Subject: [PATCH 031/198] serial: 8250_bcm7271: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 14 insertions(+), 14 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_bcm7271.c b/drivers/tty/serial/8250/8250_bcm7271.c
|
||||
index aa5aff046756..ff0662c68725 100644
|
||||
index 9afd5979c9e0..db23b3a02aef 100644
|
||||
--- a/drivers/tty/serial/8250/8250_bcm7271.c
|
||||
+++ b/drivers/tty/serial/8250/8250_bcm7271.c
|
||||
@@ -567,7 +567,7 @@ static irqreturn_t brcmuart_isr(int irq, void *dev_id)
|
||||
|
@ -89,7 +89,7 @@ index aa5aff046756..ff0662c68725 100644
|
|||
serial8250_do_shutdown(port);
|
||||
}
|
||||
|
||||
@@ -788,7 +788,7 @@ static int brcmuart_handle_irq(struct uart_port *p)
|
||||
@@ -807,7 +807,7 @@ static int brcmuart_handle_irq(struct uart_port *p)
|
||||
* interrupt but there is no data ready.
|
||||
*/
|
||||
if (((iir & UART_IIR_ID) == UART_IIR_RX_TIMEOUT) && !(priv->shutdown)) {
|
||||
|
@ -98,7 +98,7 @@ index aa5aff046756..ff0662c68725 100644
|
|||
status = serial_port_in(p, UART_LSR);
|
||||
if ((status & UART_LSR_DR) == 0) {
|
||||
|
||||
@@ -813,7 +813,7 @@ static int brcmuart_handle_irq(struct uart_port *p)
|
||||
@@ -832,7 +832,7 @@ static int brcmuart_handle_irq(struct uart_port *p)
|
||||
|
||||
handled = 1;
|
||||
}
|
||||
|
@ -107,7 +107,7 @@ index aa5aff046756..ff0662c68725 100644
|
|||
if (handled)
|
||||
return 1;
|
||||
}
|
||||
@@ -831,7 +831,7 @@ static enum hrtimer_restart brcmuart_hrtimer_func(struct hrtimer *t)
|
||||
@@ -850,7 +850,7 @@ static enum hrtimer_restart brcmuart_hrtimer_func(struct hrtimer *t)
|
||||
if (priv->shutdown)
|
||||
return HRTIMER_NORESTART;
|
||||
|
||||
|
@ -116,7 +116,7 @@ index aa5aff046756..ff0662c68725 100644
|
|||
status = serial_port_in(p, UART_LSR);
|
||||
|
||||
/*
|
||||
@@ -855,7 +855,7 @@ static enum hrtimer_restart brcmuart_hrtimer_func(struct hrtimer *t)
|
||||
@@ -874,7 +874,7 @@ static enum hrtimer_restart brcmuart_hrtimer_func(struct hrtimer *t)
|
||||
status |= UART_MCR_RTS;
|
||||
serial_port_out(p, UART_MCR, status);
|
||||
}
|
||||
|
@ -125,7 +125,7 @@ index aa5aff046756..ff0662c68725 100644
|
|||
return HRTIMER_NORESTART;
|
||||
}
|
||||
|
||||
@@ -1154,10 +1154,10 @@ static int __maybe_unused brcmuart_suspend(struct device *dev)
|
||||
@@ -1173,10 +1173,10 @@ static int __maybe_unused brcmuart_suspend(struct device *dev)
|
||||
* This will prevent resume from enabling RTS before the
|
||||
* baud rate has been restored.
|
||||
*/
|
||||
|
@ -138,7 +138,7 @@ index aa5aff046756..ff0662c68725 100644
|
|||
|
||||
serial8250_suspend_port(priv->line);
|
||||
clk_disable_unprepare(priv->baud_mux_clk);
|
||||
@@ -1196,10 +1196,10 @@ static int __maybe_unused brcmuart_resume(struct device *dev)
|
||||
@@ -1215,10 +1215,10 @@ static int __maybe_unused brcmuart_resume(struct device *dev)
|
||||
|
||||
if (priv->saved_mctrl & TIOCM_RTS) {
|
||||
/* Restore RTS */
|
||||
|
@ -152,5 +152,5 @@ index aa5aff046756..ff0662c68725 100644
|
|||
|
||||
return 0;
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 02148da4732ac5295f4b3285b970becd7b236da9 Mon Sep 17 00:00:00 2001
|
||||
From 828db145449b7685918b3b30590b9d04eb29e97e Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:23 +0206
|
||||
Subject: [PATCH 032/196] serial: 8250: Use port lock wrappers
|
||||
Subject: [PATCH 032/198] serial: 8250: Use port lock wrappers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
@ -468,5 +468,5 @@ index a17803da83f8..cba5a1b1030f 100644
|
|||
|
||||
static unsigned int probe_baud(struct uart_port *port)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 18ff09af02da7e776929e679f07d525b9696cf02 Mon Sep 17 00:00:00 2001
|
||||
From a754fa6633198948f7f09eeb6c9ee09d5ba9cd4c Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:24 +0206
|
||||
Subject: [PATCH 033/196] serial: 8250_dma: Use port lock wrappers
|
||||
Subject: [PATCH 033/198] serial: 8250_dma: Use port lock wrappers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
@ -81,5 +81,5 @@ index 7fa66501792d..8b30ca8fdd3f 100644
|
|||
|
||||
int serial8250_tx_dma(struct uart_8250_port *p)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 15d8a9cc288fb357d7e88d18443499acc485a8f3 Mon Sep 17 00:00:00 2001
|
||||
From 4870c45e792f351ad18c9730500f8be26377e8c4 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:25 +0206
|
||||
Subject: [PATCH 034/196] serial: 8250_dw: Use port lock wrappers
|
||||
Subject: [PATCH 034/198] serial: 8250_dw: Use port lock wrappers
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
@ -41,10 +41,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
|
||||
index a1f2259cc9a9..53c284bb271d 100644
|
||||
index 8aed33be2ebf..5367bcc6256c 100644
|
||||
--- a/drivers/tty/serial/8250/8250_dw.c
|
||||
+++ b/drivers/tty/serial/8250/8250_dw.c
|
||||
@@ -263,20 +263,20 @@ static int dw8250_handle_irq(struct uart_port *p)
|
||||
@@ -290,20 +290,20 @@ static int dw8250_handle_irq(struct uart_port *p)
|
||||
* so we limit the workaround only to non-DMA mode.
|
||||
*/
|
||||
if (!up->dma && rx_timeout) {
|
||||
|
@ -70,5 +70,5 @@ index a1f2259cc9a9..53c284bb271d 100644
|
|||
if (status & (UART_LSR_DR | UART_LSR_BI)) {
|
||||
dw8250_writel_ext(p, RZN1_UART_RDMACR, 0);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From fcdc4f7bddd9c1296f49c8ab212556c65541f091 Mon Sep 17 00:00:00 2001
|
||||
From dd51d4714ec1d3482aa85da3d185c2f8553764a0 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:26 +0206
|
||||
Subject: [PATCH 035/196] serial: 8250_exar: Use port lock wrappers
|
||||
Subject: [PATCH 035/198] serial: 8250_exar: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -37,10 +37,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c
|
||||
index 4d20f3aa280c..342786064590 100644
|
||||
index 27430fdd9e76..17be6ad24a0f 100644
|
||||
--- a/drivers/tty/serial/8250/8250_exar.c
|
||||
+++ b/drivers/tty/serial/8250/8250_exar.c
|
||||
@@ -201,9 +201,9 @@ static int xr17v35x_startup(struct uart_port *port)
|
||||
@@ -243,9 +243,9 @@ static int xr17v35x_startup(struct uart_port *port)
|
||||
*
|
||||
* Synchronize UART_IER access against the console.
|
||||
*/
|
||||
|
@ -53,5 +53,5 @@ index 4d20f3aa280c..342786064590 100644
|
|||
return serial8250_do_startup(port);
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From e8d089bbe434c9b15ac5664ff08008dc7e0e3878 Mon Sep 17 00:00:00 2001
|
||||
From afda5a365e4f9515b9c3ee95a74f7ab8b5506bce Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:27 +0206
|
||||
Subject: [PATCH 036/196] serial: 8250_fsl: Use port lock wrappers
|
||||
Subject: [PATCH 036/198] serial: 8250_fsl: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -64,5 +64,5 @@ index 6af4e1c1210a..f522eb5026c9 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From c3cdebecf01d8cd7e7421441fa6a6cc29bef4ad0 Mon Sep 17 00:00:00 2001
|
||||
From daad1b7d725b68a09709b7ac56af8081c53e767a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:28 +0206
|
||||
Subject: [PATCH 037/196] serial: 8250_mtk: Use port lock wrappers
|
||||
Subject: [PATCH 037/198] serial: 8250_mtk: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_mtk.c b/drivers/tty/serial/8250/8250_mtk.c
|
||||
index 74da5676ce67..23457daae8a1 100644
|
||||
index 28f9a2679a20..33699e86eb52 100644
|
||||
--- a/drivers/tty/serial/8250/8250_mtk.c
|
||||
+++ b/drivers/tty/serial/8250/8250_mtk.c
|
||||
@@ -102,7 +102,7 @@ static void mtk8250_dma_rx_complete(void *param)
|
||||
|
@ -59,7 +59,7 @@ index 74da5676ce67..23457daae8a1 100644
|
|||
}
|
||||
|
||||
static void mtk8250_rx_dma(struct uart_8250_port *up)
|
||||
@@ -368,7 +368,7 @@ mtk8250_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
@@ -372,7 +372,7 @@ mtk8250_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
* Ok, we're now changing the port state. Do it with
|
||||
* interrupts disabled.
|
||||
*/
|
||||
|
@ -68,7 +68,7 @@ index 74da5676ce67..23457daae8a1 100644
|
|||
|
||||
/*
|
||||
* Update the per-port timeout.
|
||||
@@ -416,7 +416,7 @@ mtk8250_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
@@ -420,7 +420,7 @@ mtk8250_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
if (uart_console(port))
|
||||
up->port.cons->cflag = termios->c_cflag;
|
||||
|
||||
|
@ -78,5 +78,5 @@ index 74da5676ce67..23457daae8a1 100644
|
|||
if (tty_termios_baud_rate(termios))
|
||||
tty_termios_encode_baud_rate(termios, baud, baud);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From f9959f0ba207be470f5be435892eef3ae7ce6f76 Mon Sep 17 00:00:00 2001
|
||||
From 56532bba46e4ebd1777505b80fcdce6cff87d973 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:29 +0206
|
||||
Subject: [PATCH 038/196] serial: 8250_omap: Use port lock wrappers
|
||||
Subject: [PATCH 038/198] serial: 8250_omap: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -37,10 +37,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 26 insertions(+), 26 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/8250/8250_omap.c b/drivers/tty/serial/8250/8250_omap.c
|
||||
index 346167afe9e1..db5519ce0192 100644
|
||||
index 8f472a2080ff..78fc1f17d5e2 100644
|
||||
--- a/drivers/tty/serial/8250/8250_omap.c
|
||||
+++ b/drivers/tty/serial/8250/8250_omap.c
|
||||
@@ -401,7 +401,7 @@ static void omap_8250_set_termios(struct uart_port *port,
|
||||
@@ -405,7 +405,7 @@ static void omap_8250_set_termios(struct uart_port *port,
|
||||
* interrupts disabled.
|
||||
*/
|
||||
pm_runtime_get_sync(port->dev);
|
||||
|
@ -49,7 +49,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
/*
|
||||
* Update the per-port timeout.
|
||||
@@ -504,7 +504,7 @@ static void omap_8250_set_termios(struct uart_port *port,
|
||||
@@ -508,7 +508,7 @@ static void omap_8250_set_termios(struct uart_port *port,
|
||||
}
|
||||
omap8250_restore_regs(up);
|
||||
|
||||
|
@ -58,7 +58,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
pm_runtime_mark_last_busy(port->dev);
|
||||
pm_runtime_put_autosuspend(port->dev);
|
||||
|
||||
@@ -529,7 +529,7 @@ static void omap_8250_pm(struct uart_port *port, unsigned int state,
|
||||
@@ -533,7 +533,7 @@ static void omap_8250_pm(struct uart_port *port, unsigned int state,
|
||||
pm_runtime_get_sync(port->dev);
|
||||
|
||||
/* Synchronize UART_IER access against the console. */
|
||||
|
@ -67,7 +67,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
|
||||
efr = serial_in(up, UART_EFR);
|
||||
@@ -541,7 +541,7 @@ static void omap_8250_pm(struct uart_port *port, unsigned int state,
|
||||
@@ -545,7 +545,7 @@ static void omap_8250_pm(struct uart_port *port, unsigned int state,
|
||||
serial_out(up, UART_EFR, efr);
|
||||
serial_out(up, UART_LCR, 0);
|
||||
|
||||
|
@ -76,7 +76,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
pm_runtime_mark_last_busy(port->dev);
|
||||
pm_runtime_put_autosuspend(port->dev);
|
||||
@@ -660,7 +660,7 @@ static irqreturn_t omap8250_irq(int irq, void *dev_id)
|
||||
@@ -676,7 +676,7 @@ static irqreturn_t omap8250_irq(int irq, void *dev_id)
|
||||
unsigned long delay;
|
||||
|
||||
/* Synchronize UART_IER access against the console. */
|
||||
|
@ -85,7 +85,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
up->ier = port->serial_in(port, UART_IER);
|
||||
if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) {
|
||||
port->ops->stop_rx(port);
|
||||
@@ -670,7 +670,7 @@ static irqreturn_t omap8250_irq(int irq, void *dev_id)
|
||||
@@ -686,7 +686,7 @@ static irqreturn_t omap8250_irq(int irq, void *dev_id)
|
||||
*/
|
||||
cancel_delayed_work(&up->overrun_backoff);
|
||||
}
|
||||
|
@ -94,7 +94,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
delay = msecs_to_jiffies(up->overrun_backoff_time_ms);
|
||||
schedule_delayed_work(&up->overrun_backoff, delay);
|
||||
@@ -717,10 +717,10 @@ static int omap_8250_startup(struct uart_port *port)
|
||||
@@ -733,10 +733,10 @@ static int omap_8250_startup(struct uart_port *port)
|
||||
}
|
||||
|
||||
/* Synchronize UART_IER access against the console. */
|
||||
|
@ -107,7 +107,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
#ifdef CONFIG_PM
|
||||
up->capabilities |= UART_CAP_RPM;
|
||||
@@ -733,9 +733,9 @@ static int omap_8250_startup(struct uart_port *port)
|
||||
@@ -749,9 +749,9 @@ static int omap_8250_startup(struct uart_port *port)
|
||||
serial_out(up, UART_OMAP_WER, priv->wer);
|
||||
|
||||
if (up->dma && !(priv->habit & UART_HAS_EFR2)) {
|
||||
|
@ -119,7 +119,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
}
|
||||
|
||||
enable_irq(up->port.irq);
|
||||
@@ -761,10 +761,10 @@ static void omap_8250_shutdown(struct uart_port *port)
|
||||
@@ -777,10 +777,10 @@ static void omap_8250_shutdown(struct uart_port *port)
|
||||
serial_out(up, UART_OMAP_EFR2, 0x0);
|
||||
|
||||
/* Synchronize UART_IER access against the console. */
|
||||
|
@ -132,7 +132,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
disable_irq_nosync(up->port.irq);
|
||||
dev_pm_clear_wake_irq(port->dev);
|
||||
|
||||
@@ -789,10 +789,10 @@ static void omap_8250_throttle(struct uart_port *port)
|
||||
@@ -805,10 +805,10 @@ static void omap_8250_throttle(struct uart_port *port)
|
||||
|
||||
pm_runtime_get_sync(port->dev);
|
||||
|
||||
|
@ -145,7 +145,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
pm_runtime_mark_last_busy(port->dev);
|
||||
pm_runtime_put_autosuspend(port->dev);
|
||||
@@ -807,14 +807,14 @@ static void omap_8250_unthrottle(struct uart_port *port)
|
||||
@@ -823,14 +823,14 @@ static void omap_8250_unthrottle(struct uart_port *port)
|
||||
pm_runtime_get_sync(port->dev);
|
||||
|
||||
/* Synchronize UART_IER access against the console. */
|
||||
|
@ -162,7 +162,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
pm_runtime_mark_last_busy(port->dev);
|
||||
pm_runtime_put_autosuspend(port->dev);
|
||||
@@ -958,7 +958,7 @@ static void __dma_rx_complete(void *param)
|
||||
@@ -974,7 +974,7 @@ static void __dma_rx_complete(void *param)
|
||||
unsigned long flags;
|
||||
|
||||
/* Synchronize UART_IER access against the console. */
|
||||
|
@ -171,7 +171,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
/*
|
||||
* If the tx status is not DMA_COMPLETE, then this is a delayed
|
||||
@@ -967,7 +967,7 @@ static void __dma_rx_complete(void *param)
|
||||
@@ -983,7 +983,7 @@ static void __dma_rx_complete(void *param)
|
||||
*/
|
||||
if (dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state) !=
|
||||
DMA_COMPLETE) {
|
||||
|
@ -180,7 +180,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
return;
|
||||
}
|
||||
__dma_rx_do_complete(p);
|
||||
@@ -978,7 +978,7 @@ static void __dma_rx_complete(void *param)
|
||||
@@ -994,7 +994,7 @@ static void __dma_rx_complete(void *param)
|
||||
omap_8250_rx_dma(p);
|
||||
}
|
||||
|
||||
|
@ -189,7 +189,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
}
|
||||
|
||||
static void omap_8250_rx_dma_flush(struct uart_8250_port *p)
|
||||
@@ -1083,7 +1083,7 @@ static void omap_8250_dma_tx_complete(void *param)
|
||||
@@ -1099,7 +1099,7 @@ static void omap_8250_dma_tx_complete(void *param)
|
||||
dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr,
|
||||
UART_XMIT_SIZE, DMA_TO_DEVICE);
|
||||
|
||||
|
@ -198,7 +198,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
dma->tx_running = 0;
|
||||
|
||||
@@ -1112,7 +1112,7 @@ static void omap_8250_dma_tx_complete(void *param)
|
||||
@@ -1128,7 +1128,7 @@ static void omap_8250_dma_tx_complete(void *param)
|
||||
serial8250_set_THRI(p);
|
||||
}
|
||||
|
||||
|
@ -207,7 +207,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
}
|
||||
|
||||
static int omap_8250_tx_dma(struct uart_8250_port *p)
|
||||
@@ -1278,7 +1278,7 @@ static int omap_8250_dma_handle_irq(struct uart_port *port)
|
||||
@@ -1294,7 +1294,7 @@ static int omap_8250_dma_handle_irq(struct uart_port *port)
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
@ -216,7 +216,7 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
status = serial_port_in(port, UART_LSR);
|
||||
|
||||
@@ -1758,15 +1758,15 @@ static int omap8250_runtime_resume(struct device *dev)
|
||||
@@ -1774,15 +1774,15 @@ static int omap8250_runtime_resume(struct device *dev)
|
||||
up = serial8250_get_port(priv->line);
|
||||
|
||||
if (up && omap8250_lost_context(up)) {
|
||||
|
@ -237,5 +237,5 @@ index 346167afe9e1..db5519ce0192 100644
|
|||
|
||||
priv->latency = priv->calc_latency;
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 4ebaf505e5fbbb2afb5bd4f5f48adb577fb39315 Mon Sep 17 00:00:00 2001
|
||||
From 2ba00850939172df3b1eb9065dfd18bd22ebf52d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:30 +0206
|
||||
Subject: [PATCH 039/196] serial: 8250_pci1xxxx: Use port lock wrappers
|
||||
Subject: [PATCH 039/198] serial: 8250_pci1xxxx: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -67,5 +67,5 @@ index a3b25779d921..53e238c8cc89 100644
|
|||
mutex_unlock(&tport->mutex);
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 6fbcb9f97af265fa1c92e1f95ef0530bb0a5f204 Mon Sep 17 00:00:00 2001
|
||||
From 6609031dab7f29f6ecbfe93f3b5a0edfeba6e3da Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:31 +0206
|
||||
Subject: [PATCH 040/196] serial: altera_jtaguart: Use port lock wrappers
|
||||
Subject: [PATCH 040/198] serial: altera_jtaguart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -134,5 +134,5 @@ index 5fab4c978891..7090b251dd4d 100644
|
|||
#endif
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 112dc89a8aea09edaed7b3226b5be6a9b8242141 Mon Sep 17 00:00:00 2001
|
||||
From b68c948e4b290493f64b6f3eacaec9d6d5e5586d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:32 +0206
|
||||
Subject: [PATCH 041/196] serial: altera_uart: Use port lock wrappers
|
||||
Subject: [PATCH 041/198] serial: altera_uart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -117,5 +117,5 @@ index a9c41942190c..77835ac68df2 100644
|
|||
if (port->irq)
|
||||
free_irq(port->irq, port);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From d8f628e5aa4ab5114ef77d8506c3bdfd6f7e8b5d Mon Sep 17 00:00:00 2001
|
||||
From 335e2ed1966a025ed881d48af9e4f83eb9a4908d Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:33 +0206
|
||||
Subject: [PATCH 042/196] serial: amba-pl010: Use port lock wrappers
|
||||
Subject: [PATCH 042/198] serial: amba-pl010: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -113,5 +113,5 @@ index b5a7404cbacb..eabbf8afc9b5 100644
|
|||
}
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 7ee23cef36f815349c95b29497c35bda97eba2c4 Mon Sep 17 00:00:00 2001
|
||||
From 6d23b8de485e6daeb30bb60ebd2549e5ef6efabc Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:34 +0206
|
||||
Subject: [PATCH 043/196] serial: amba-pl011: Use port lock wrappers
|
||||
Subject: [PATCH 043/198] serial: amba-pl011: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -328,5 +328,5 @@ index 362bbcdece0d..16c770311069 100644
|
|||
|
||||
clk_disable(uap->clk);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From c85c7c75c6c5c59ddd219cc1f9230d60cf19d0b9 Mon Sep 17 00:00:00 2001
|
||||
From 0b6067b5319203fff5b964e99691bf95aca008c6 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:35 +0206
|
||||
Subject: [PATCH 044/196] serial: apb: Use port lock wrappers
|
||||
Subject: [PATCH 044/198] serial: apb: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -77,5 +77,5 @@ index d3cb341f2c55..364599f256db 100644
|
|||
|
||||
static const char *apbuart_type(struct uart_port *port)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 19f8ba43023ff2ba22f8d92d71bd1ac7705ee6cf Mon Sep 17 00:00:00 2001
|
||||
From 44c163e253e782c8d5a4317e67ee12cc3820b1cb Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:36 +0206
|
||||
Subject: [PATCH 045/196] serial: ar933x: Use port lock wrappers
|
||||
Subject: [PATCH 045/198] serial: ar933x: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -145,5 +145,5 @@ index 924c1a89347c..ffd234673177 100644
|
|||
local_irq_restore(flags);
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 0cd89f0ef7ea21aa9769ef5a405ec8c142685c7b Mon Sep 17 00:00:00 2001
|
||||
From 0885034ac6bb370faf679bfcd44a7d7d76fdb6dd Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:37 +0206
|
||||
Subject: [PATCH 046/196] serial: arc_uart: Use port lock wrappers
|
||||
Subject: [PATCH 046/198] serial: arc_uart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -98,5 +98,5 @@ index ad4ae19b6ce3..1aa5b2b49c26 100644
|
|||
|
||||
static struct console arc_console = {
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From c5aed341415af407a29c6a9376b0a960b455f91c Mon Sep 17 00:00:00 2001
|
||||
From 13101454e81a130df7745de810f64caeecd461ad Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:38 +0206
|
||||
Subject: [PATCH 047/196] serial: atmel: Use port lock wrappers
|
||||
Subject: [PATCH 047/198] serial: atmel: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -120,5 +120,5 @@ index 88cdafa5ac54..1946fafc3f3e 100644
|
|||
}
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From fd2f440a4fa98bdd61c5344811a8b3c53de0e2b4 Mon Sep 17 00:00:00 2001
|
||||
From d340dc1c843a6528d8f5106ac9df3386c65ed4a1 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:39 +0206
|
||||
Subject: [PATCH 048/196] serial: bcm63xx-uart: Use port lock wrappers
|
||||
Subject: [PATCH 048/198] serial: bcm63xx-uart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -38,7 +38,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 11 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/bcm63xx_uart.c b/drivers/tty/serial/bcm63xx_uart.c
|
||||
index 0dd8cceb837c..4a08fd5ee61b 100644
|
||||
index 44c27e5cefbc..b104c36ce5c0 100644
|
||||
--- a/drivers/tty/serial/bcm63xx_uart.c
|
||||
+++ b/drivers/tty/serial/bcm63xx_uart.c
|
||||
@@ -201,7 +201,7 @@ static void bcm_uart_break_ctl(struct uart_port *port, int ctl)
|
||||
|
@ -59,7 +59,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -332,7 +332,7 @@ static irqreturn_t bcm_uart_interrupt(int irq, void *dev_id)
|
||||
@@ -335,7 +335,7 @@ static irqreturn_t bcm_uart_interrupt(int irq, void *dev_id)
|
||||
unsigned int irqstat;
|
||||
|
||||
port = dev_id;
|
||||
|
@ -68,7 +68,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
|
||||
irqstat = bcm_uart_readl(port, UART_IR_REG);
|
||||
if (irqstat & UART_RX_INT_STAT)
|
||||
@@ -353,7 +353,7 @@ static irqreturn_t bcm_uart_interrupt(int irq, void *dev_id)
|
||||
@@ -356,7 +356,7 @@ static irqreturn_t bcm_uart_interrupt(int irq, void *dev_id)
|
||||
estat & UART_EXTINP_DCD_MASK);
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@@ -451,9 +451,9 @@ static void bcm_uart_shutdown(struct uart_port *port)
|
||||
@@ -454,9 +454,9 @@ static void bcm_uart_shutdown(struct uart_port *port)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
|
@ -89,7 +89,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
|
||||
bcm_uart_disable(port);
|
||||
bcm_uart_flush(port);
|
||||
@@ -470,7 +470,7 @@ static void bcm_uart_set_termios(struct uart_port *port, struct ktermios *new,
|
||||
@@ -473,7 +473,7 @@ static void bcm_uart_set_termios(struct uart_port *port, struct ktermios *new,
|
||||
unsigned long flags;
|
||||
int tries;
|
||||
|
||||
|
@ -98,7 +98,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
|
||||
/* Drain the hot tub fully before we power it off for the winter. */
|
||||
for (tries = 3; !bcm_uart_tx_empty(port) && tries; tries--)
|
||||
@@ -546,7 +546,7 @@ static void bcm_uart_set_termios(struct uart_port *port, struct ktermios *new,
|
||||
@@ -549,7 +549,7 @@ static void bcm_uart_set_termios(struct uart_port *port, struct ktermios *new,
|
||||
|
||||
uart_update_timeout(port, new->c_cflag, baud);
|
||||
bcm_uart_enable(port);
|
||||
|
@ -107,7 +107,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -712,9 +712,9 @@ static void bcm_console_write(struct console *co, const char *s,
|
||||
@@ -715,9 +715,9 @@ static void bcm_console_write(struct console *co, const char *s,
|
||||
/* bcm_uart_interrupt() already took the lock */
|
||||
locked = 0;
|
||||
} else if (oops_in_progress) {
|
||||
|
@ -119,7 +119,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
locked = 1;
|
||||
}
|
||||
|
||||
@@ -725,7 +725,7 @@ static void bcm_console_write(struct console *co, const char *s,
|
||||
@@ -728,7 +728,7 @@ static void bcm_console_write(struct console *co, const char *s,
|
||||
wait_for_xmitr(port);
|
||||
|
||||
if (locked)
|
||||
|
@ -129,5 +129,5 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 5428bc92da81ac03fa3530a74ba51e833bbbac01 Mon Sep 17 00:00:00 2001
|
||||
From d9d52896ca258256888030cfd311a37a98e919a4 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:40 +0206
|
||||
Subject: [PATCH 049/196] serial: cpm_uart: Use port lock wrappers
|
||||
Subject: [PATCH 049/198] serial: cpm_uart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -71,5 +71,5 @@ index 626423022d62..be4af6eda4c2 100644
|
|||
}
|
||||
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 64f3446cd9cbba31faf719284c85750b28f22c5d Mon Sep 17 00:00:00 2001
|
||||
From 916cc53f908e1ad5abefe7c1a152b4fe7bbaee76 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:41 +0206
|
||||
Subject: [PATCH 050/196] serial: digicolor: Use port lock wrappers
|
||||
Subject: [PATCH 050/198] serial: digicolor: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -114,5 +114,5 @@ index 128b5479e813..5004125f3045 100644
|
|||
/* Wait for transmitter to become empty */
|
||||
do {
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From e9cac43e4c052afc1b2a76f9e1c6c5f44fbea884 Mon Sep 17 00:00:00 2001
|
||||
From e9b6548f8b14611fbfb36a182a18fb0423047bfc Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:42 +0206
|
||||
Subject: [PATCH 051/196] serial: dz: Use port lock wrappers
|
||||
Subject: [PATCH 051/198] serial: dz: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -162,5 +162,5 @@ index 667f52e83277..6df7af9edc1c 100644
|
|||
do {
|
||||
trdy = dz_in(dport, DZ_CSR);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From c4a981074cc232c31fd8a56c5a2665f7321a3320 Mon Sep 17 00:00:00 2001
|
||||
From 471d5859d368d3904b99653762a91d196c146d86 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:43 +0206
|
||||
Subject: [PATCH 052/196] serial: linflexuart: Use port lock wrappers
|
||||
Subject: [PATCH 052/198] serial: linflexuart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -144,5 +144,5 @@ index 249cb380c3c6..7fa809a405e8 100644
|
|||
|
||||
/*
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 2e2106c3ad0310075bb39b7480ef99896684d657 Mon Sep 17 00:00:00 2001
|
||||
From d515b20fcded5a1ceb74e1595b77a7ca01825ac8 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:44 +0206
|
||||
Subject: [PATCH 053/196] serial: fsl_lpuart: Use port lock wrappers
|
||||
Subject: [PATCH 053/198] serial: fsl_lpuart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -390,5 +390,5 @@ index 385b41275e8b..71d0cbd74807 100644
|
|||
dmaengine_terminate_sync(sport->dma_tx_chan);
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 828b820890ade060806490d0273c0dcffa63cc9b Mon Sep 17 00:00:00 2001
|
||||
From df886b013878b3ada509177a9d4eb3a4c2c23301 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:45 +0206
|
||||
Subject: [PATCH 054/196] serial: icom: Use port lock wrappers
|
||||
Subject: [PATCH 054/198] serial: icom: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -152,5 +152,5 @@ index 819f957b6b84..a75eafbcbea3 100644
|
|||
|
||||
static const char *icom_type(struct uart_port *port)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 4f36fa6b8c6cbaa11a181bfb618fd76a1761223b Mon Sep 17 00:00:00 2001
|
||||
From d6997d53bfddd199295e21d81deb60f80138f50c Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:46 +0206
|
||||
Subject: [PATCH 055/196] serial: imx: Use port lock wrappers
|
||||
Subject: [PATCH 055/198] serial: imx: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -37,10 +37,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 42 insertions(+), 42 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c
|
||||
index c77831e91ec2..66420a992539 100644
|
||||
index a5d0df2ba5c5..267c9af4bd53 100644
|
||||
--- a/drivers/tty/serial/imx.c
|
||||
+++ b/drivers/tty/serial/imx.c
|
||||
@@ -584,7 +584,7 @@ static void imx_uart_dma_tx_callback(void *data)
|
||||
@@ -586,7 +586,7 @@ static void imx_uart_dma_tx_callback(void *data)
|
||||
unsigned long flags;
|
||||
u32 ucr1;
|
||||
|
||||
|
@ -49,7 +49,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
dma_unmap_sg(sport->port.dev, sgl, sport->dma_tx_nents, DMA_TO_DEVICE);
|
||||
|
||||
@@ -609,7 +609,7 @@ static void imx_uart_dma_tx_callback(void *data)
|
||||
@@ -611,7 +611,7 @@ static void imx_uart_dma_tx_callback(void *data)
|
||||
imx_uart_writel(sport, ucr4, UCR4);
|
||||
}
|
||||
|
||||
|
@ -58,7 +58,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
}
|
||||
|
||||
/* called with port.lock taken and irqs off */
|
||||
@@ -780,11 +780,11 @@ static irqreturn_t imx_uart_rtsint(int irq, void *dev_id)
|
||||
@@ -782,11 +782,11 @@ static irqreturn_t imx_uart_rtsint(int irq, void *dev_id)
|
||||
struct imx_port *sport = dev_id;
|
||||
irqreturn_t ret;
|
||||
|
||||
|
@ -72,7 +72,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return ret;
|
||||
}
|
||||
@@ -793,9 +793,9 @@ static irqreturn_t imx_uart_txint(int irq, void *dev_id)
|
||||
@@ -795,9 +795,9 @@ static irqreturn_t imx_uart_txint(int irq, void *dev_id)
|
||||
{
|
||||
struct imx_port *sport = dev_id;
|
||||
|
||||
|
@ -84,7 +84,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
@@ -909,11 +909,11 @@ static irqreturn_t imx_uart_rxint(int irq, void *dev_id)
|
||||
@@ -911,11 +911,11 @@ static irqreturn_t imx_uart_rxint(int irq, void *dev_id)
|
||||
struct imx_port *sport = dev_id;
|
||||
irqreturn_t ret;
|
||||
|
||||
|
@ -98,7 +98,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return ret;
|
||||
}
|
||||
@@ -976,7 +976,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
|
||||
@@ -978,7 +978,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
|
||||
unsigned int usr1, usr2, ucr1, ucr2, ucr3, ucr4;
|
||||
irqreturn_t ret = IRQ_NONE;
|
||||
|
||||
|
@ -107,7 +107,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
usr1 = imx_uart_readl(sport, USR1);
|
||||
usr2 = imx_uart_readl(sport, USR2);
|
||||
@@ -1046,7 +1046,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
|
||||
@@ -1048,7 +1048,7 @@ static irqreturn_t imx_uart_int(int irq, void *dev_id)
|
||||
ret = IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
@ -116,7 +116,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return ret;
|
||||
}
|
||||
@@ -1129,7 +1129,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
|
||||
@@ -1131,7 +1131,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
|
||||
unsigned long flags;
|
||||
u32 ucr1;
|
||||
|
||||
|
@ -125,7 +125,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
ucr1 = imx_uart_readl(sport, UCR1) & ~UCR1_SNDBRK;
|
||||
|
||||
@@ -1138,7 +1138,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
|
||||
@@ -1140,7 +1140,7 @@ static void imx_uart_break_ctl(struct uart_port *port, int break_state)
|
||||
|
||||
imx_uart_writel(sport, ucr1, UCR1);
|
||||
|
||||
|
@ -134,7 +134,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -1151,9 +1151,9 @@ static void imx_uart_timeout(struct timer_list *t)
|
||||
@@ -1153,9 +1153,9 @@ static void imx_uart_timeout(struct timer_list *t)
|
||||
unsigned long flags;
|
||||
|
||||
if (sport->port.state) {
|
||||
|
@ -146,7 +146,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
mod_timer(&sport->timer, jiffies + MCTRL_TIMEOUT);
|
||||
}
|
||||
@@ -1183,9 +1183,9 @@ static void imx_uart_dma_rx_callback(void *data)
|
||||
@@ -1185,9 +1185,9 @@ static void imx_uart_dma_rx_callback(void *data)
|
||||
status = dmaengine_tx_status(chan, sport->rx_cookie, &state);
|
||||
|
||||
if (status == DMA_ERROR) {
|
||||
|
@ -158,7 +158,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
return;
|
||||
}
|
||||
|
||||
@@ -1214,9 +1214,9 @@ static void imx_uart_dma_rx_callback(void *data)
|
||||
@@ -1216,9 +1216,9 @@ static void imx_uart_dma_rx_callback(void *data)
|
||||
r_bytes = rx_ring->head - rx_ring->tail;
|
||||
|
||||
/* If we received something, check for 0xff flood */
|
||||
|
@ -170,7 +170,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
if (!(sport->port.ignore_status_mask & URXD_DUMMY_READ)) {
|
||||
|
||||
@@ -1474,7 +1474,7 @@ static int imx_uart_startup(struct uart_port *port)
|
||||
@@ -1476,7 +1476,7 @@ static int imx_uart_startup(struct uart_port *port)
|
||||
if (!uart_console(port) && imx_uart_dma_init(sport) == 0)
|
||||
dma_is_inited = 1;
|
||||
|
||||
|
@ -179,7 +179,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
/* Reset fifo's and state machines */
|
||||
imx_uart_soft_reset(sport);
|
||||
@@ -1547,7 +1547,7 @@ static int imx_uart_startup(struct uart_port *port)
|
||||
@@ -1549,7 +1549,7 @@ static int imx_uart_startup(struct uart_port *port)
|
||||
|
||||
imx_uart_disable_loopback_rs485(sport);
|
||||
|
||||
|
@ -188,7 +188,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -1572,21 +1572,21 @@ static void imx_uart_shutdown(struct uart_port *port)
|
||||
@@ -1574,21 +1574,21 @@ static void imx_uart_shutdown(struct uart_port *port)
|
||||
sport->dma_is_rxing = 0;
|
||||
}
|
||||
|
||||
|
@ -214,7 +214,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
/*
|
||||
* Stop our timer.
|
||||
@@ -1597,7 +1597,7 @@ static void imx_uart_shutdown(struct uart_port *port)
|
||||
@@ -1599,7 +1599,7 @@ static void imx_uart_shutdown(struct uart_port *port)
|
||||
* Disable all interrupts, port and break condition.
|
||||
*/
|
||||
|
||||
|
@ -223,7 +223,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
ucr1 = imx_uart_readl(sport, UCR1);
|
||||
ucr1 &= ~(UCR1_TRDYEN | UCR1_RRDYEN | UCR1_RTSDEN | UCR1_RXDMAEN |
|
||||
@@ -1619,7 +1619,7 @@ static void imx_uart_shutdown(struct uart_port *port)
|
||||
@@ -1621,7 +1621,7 @@ static void imx_uart_shutdown(struct uart_port *port)
|
||||
ucr4 &= ~UCR4_TCEN;
|
||||
imx_uart_writel(sport, ucr4, UCR4);
|
||||
|
||||
|
@ -232,7 +232,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
clk_disable_unprepare(sport->clk_per);
|
||||
clk_disable_unprepare(sport->clk_ipg);
|
||||
@@ -1682,7 +1682,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
@@ -1684,7 +1684,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
baud = uart_get_baud_rate(port, termios, old, 50, port->uartclk / 16);
|
||||
quot = uart_get_divisor(port, baud);
|
||||
|
||||
|
@ -241,7 +241,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
/*
|
||||
* Read current UCR2 and save it for future use, then clear all the bits
|
||||
@@ -1810,7 +1810,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
@@ -1812,7 +1812,7 @@ imx_uart_set_termios(struct uart_port *port, struct ktermios *termios,
|
||||
if (UART_ENABLE_MS(&sport->port, termios->c_cflag))
|
||||
imx_uart_enable_ms(&sport->port);
|
||||
|
||||
|
@ -250,7 +250,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
}
|
||||
|
||||
static const char *imx_uart_type(struct uart_port *port)
|
||||
@@ -1872,7 +1872,7 @@ static int imx_uart_poll_init(struct uart_port *port)
|
||||
@@ -1874,7 +1874,7 @@ static int imx_uart_poll_init(struct uart_port *port)
|
||||
|
||||
imx_uart_setup_ufcr(sport, TXTL_DEFAULT, RXTL_DEFAULT);
|
||||
|
||||
|
@ -259,7 +259,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
/*
|
||||
* Be careful about the order of enabling bits here. First enable the
|
||||
@@ -1900,7 +1900,7 @@ static int imx_uart_poll_init(struct uart_port *port)
|
||||
@@ -1902,7 +1902,7 @@ static int imx_uart_poll_init(struct uart_port *port)
|
||||
imx_uart_writel(sport, ucr1 | UCR1_RRDYEN, UCR1);
|
||||
imx_uart_writel(sport, ucr2 | UCR2_ATEN, UCR2);
|
||||
|
||||
|
@ -268,7 +268,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return 0;
|
||||
}
|
||||
@@ -2015,9 +2015,9 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
|
||||
@@ -2022,9 +2022,9 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
|
||||
if (sport->port.sysrq)
|
||||
locked = 0;
|
||||
else if (oops_in_progress)
|
||||
|
@ -280,7 +280,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
/*
|
||||
* First, save UCR1/2/3 and then disable interrupts
|
||||
@@ -2045,7 +2045,7 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
|
||||
@@ -2052,7 +2052,7 @@ imx_uart_console_write(struct console *co, const char *s, unsigned int count)
|
||||
imx_uart_ucrs_restore(sport, &old_ucr);
|
||||
|
||||
if (locked)
|
||||
|
@ -289,7 +289,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
}
|
||||
|
||||
/*
|
||||
@@ -2203,10 +2203,10 @@ static enum hrtimer_restart imx_trigger_start_tx(struct hrtimer *t)
|
||||
@@ -2210,10 +2210,10 @@ static enum hrtimer_restart imx_trigger_start_tx(struct hrtimer *t)
|
||||
struct imx_port *sport = container_of(t, struct imx_port, trigger_start_tx);
|
||||
unsigned long flags;
|
||||
|
||||
|
@ -302,7 +302,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return HRTIMER_NORESTART;
|
||||
}
|
||||
@@ -2216,10 +2216,10 @@ static enum hrtimer_restart imx_trigger_stop_tx(struct hrtimer *t)
|
||||
@@ -2223,10 +2223,10 @@ static enum hrtimer_restart imx_trigger_stop_tx(struct hrtimer *t)
|
||||
struct imx_port *sport = container_of(t, struct imx_port, trigger_stop_tx);
|
||||
unsigned long flags;
|
||||
|
||||
|
@ -315,7 +315,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
return HRTIMER_NORESTART;
|
||||
}
|
||||
@@ -2486,9 +2486,9 @@ static void imx_uart_restore_context(struct imx_port *sport)
|
||||
@@ -2493,9 +2493,9 @@ static void imx_uart_restore_context(struct imx_port *sport)
|
||||
{
|
||||
unsigned long flags;
|
||||
|
||||
|
@ -327,7 +327,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
return;
|
||||
}
|
||||
|
||||
@@ -2503,7 +2503,7 @@ static void imx_uart_restore_context(struct imx_port *sport)
|
||||
@@ -2510,7 +2510,7 @@ static void imx_uart_restore_context(struct imx_port *sport)
|
||||
imx_uart_writel(sport, sport->saved_reg[2], UCR3);
|
||||
imx_uart_writel(sport, sport->saved_reg[3], UCR4);
|
||||
sport->context_saved = false;
|
||||
|
@ -336,7 +336,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
}
|
||||
|
||||
static void imx_uart_save_context(struct imx_port *sport)
|
||||
@@ -2511,7 +2511,7 @@ static void imx_uart_save_context(struct imx_port *sport)
|
||||
@@ -2518,7 +2518,7 @@ static void imx_uart_save_context(struct imx_port *sport)
|
||||
unsigned long flags;
|
||||
|
||||
/* Save necessary regs */
|
||||
|
@ -345,7 +345,7 @@ index c77831e91ec2..66420a992539 100644
|
|||
sport->saved_reg[0] = imx_uart_readl(sport, UCR1);
|
||||
sport->saved_reg[1] = imx_uart_readl(sport, UCR2);
|
||||
sport->saved_reg[2] = imx_uart_readl(sport, UCR3);
|
||||
@@ -2523,7 +2523,7 @@ static void imx_uart_save_context(struct imx_port *sport)
|
||||
@@ -2530,7 +2530,7 @@ static void imx_uart_save_context(struct imx_port *sport)
|
||||
sport->saved_reg[8] = imx_uart_readl(sport, UBMR);
|
||||
sport->saved_reg[9] = imx_uart_readl(sport, IMX21_UTS);
|
||||
sport->context_saved = true;
|
||||
|
@ -355,5 +355,5 @@ index c77831e91ec2..66420a992539 100644
|
|||
|
||||
static void imx_uart_enable_wakeup(struct imx_port *sport, bool on)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 228135349ab2ea8fa33100caf52ff52932c2c94a Mon Sep 17 00:00:00 2001
|
||||
From 74630b9e216fd61db5d16393cd190806bffe6963 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:47 +0206
|
||||
Subject: [PATCH 056/196] serial: ip22zilog: Use port lock wrappers
|
||||
Subject: [PATCH 056/198] serial: ip22zilog: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -186,5 +186,5 @@ index 845ff706bc59..320b29cd4683 100644
|
|||
if (options)
|
||||
uart_parse_options(options, &baud, &parity, &bits, &flow);
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From e545c49e2e642484da7b702385855351b2351656 Mon Sep 17 00:00:00 2001
|
||||
From a1a763c342c621e5fc99edd1e45509f94eef6775 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:48 +0206
|
||||
Subject: [PATCH 057/196] serial: jsm: Use port lock wrappers
|
||||
Subject: [PATCH 057/198] serial: jsm: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -127,5 +127,5 @@ index 222afc270c88..ce0fef7e2c66 100644
|
|||
|
||||
static const char *jsm_tty_type(struct uart_port *port)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 34a07947702adc2a04e67a62a8524918a41741d2 Mon Sep 17 00:00:00 2001
|
||||
From b83f284c9678c7954530bb8c5d5e7ced30e2967a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:49 +0206
|
||||
Subject: [PATCH 058/196] serial: liteuart: Use port lock wrappers
|
||||
Subject: [PATCH 058/198] serial: liteuart: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -111,5 +111,5 @@ index d881cdd2a58f..a25ab1efe38f 100644
|
|||
|
||||
static int liteuart_console_setup(struct console *co, char *options)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From d0705514f666cc1f94f6e14d6e90da9e292ce300 Mon Sep 17 00:00:00 2001
|
||||
From 6a72baf324b91806da60d0624cbf8856614fd1ae Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:50 +0206
|
||||
Subject: [PATCH 059/196] serial: lpc32xx_hs: Use port lock wrappers
|
||||
Subject: [PATCH 059/198] serial: lpc32xx_hs: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -149,5 +149,5 @@ index b38fe4728c26..5149a947b7fe 100644
|
|||
/* Don't rewrite B0 */
|
||||
if (tty_termios_baud_rate(termios))
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From e453078fee203a5b4b42d8a09d914275e860a130 Mon Sep 17 00:00:00 2001
|
||||
From 0ff344b817fada3e81a6839145bac10e82ef95e8 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:51 +0206
|
||||
Subject: [PATCH 060/196] serial: ma35d1: Use port lock wrappers
|
||||
Subject: [PATCH 060/198] serial: ma35d1: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -118,5 +118,5 @@ index 69da24565b99..73910c54d6be 100644
|
|||
|
||||
static int __init ma35d1serial_console_setup(struct console *co, char *options)
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
From 27398ce8a64a6543cd10239422009eb3fbfe822c Mon Sep 17 00:00:00 2001
|
||||
From a29d619de0f1d68471bf3765fd78d1c74c3c94f6 Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Gleixner <tglx@linutronix.de>
|
||||
Date: Thu, 14 Sep 2023 20:43:52 +0206
|
||||
Subject: [PATCH 061/196] serial: mcf: Use port lock wrappers
|
||||
Subject: [PATCH 061/198] serial: mcf: Use port lock wrappers
|
||||
|
||||
When a serial port is used for kernel console output, then all
|
||||
modifications to the UART registers which are done from other contexts,
|
||||
|
@ -37,7 +37,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
|
|||
1 file changed, 10 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c
|
||||
index 1666ce012e5e..91b15243f6c6 100644
|
||||
index aea29b4e6567..ee40af20a08f 100644
|
||||
--- a/drivers/tty/serial/mcf.c
|
||||
+++ b/drivers/tty/serial/mcf.c
|
||||
@@ -135,12 +135,12 @@ static void mcf_break_ctl(struct uart_port *port, int break_state)
|
||||
|
@ -128,5 +128,5 @@ index 1666ce012e5e..91b15243f6c6 100644
|
|||
return ret;
|
||||
}
|
||||
--
|
||||
2.45.1
|
||||
2.45.2
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue