1
1
mirror of https://github.com/OpenVoiceOS/OpenVoiceOS synced 2025-06-05 22:19:21 +02:00

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:
j1nx 2024-07-20 13:04:35 +00:00
parent 4d74ba30d6
commit c474d35965
244 changed files with 4828 additions and 929 deletions

@ -1 +1 @@
Subproject commit 12ff415b340d2ff48f6665cc685e67bbd640a4e1 Subproject commit 3d03602f2ea49939a3874d566adb0c16e5fa3fce

View File

@ -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-client/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-backend-manager/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-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-config-assistant/Config.in"
source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-lingua-franca/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" source "$BR2_EXTERNAL_OPENVOICEOS_PATH/package/python-ovos-notifications-service/Config.in"

View File

@ -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

View File

@ -1,7 +1,6 @@
set default="0" set default="0"
set fallback="1" set fallback="1"
set timeout="1" set timeout="1"
set MACHINE_ID=""
if [ "$MACHINE_ID" == "" ]; then if [ "$MACHINE_ID" == "" ]; then
boot_condition="systemd.condition-first-boot=true" boot_condition="systemd.condition-first-boot=true"
@ -12,7 +11,7 @@ set menu_color_highlight=white/red
load_env 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 file_env -f ($root)/cmdline.txt cmdline
regexp --set 1:boothd (.+),.+ ${root} regexp --set 1:boothd (.+),.+ ${root}

View File

@ -42,3 +42,5 @@ CONFIG_HYPERVISOR_GUEST=HYPERVISOR_GUEST
# CONFIG_CDROM is not set # CONFIG_CDROM is not set
# CONFIG_VIDEO_IRS1125 is not set # CONFIG_VIDEO_IRS1125 is not set
# CONFIG_LEDS_TRIGGER_AUDIO is not set # CONFIG_LEDS_TRIGGER_AUDIO is not set
CONFIG_NUMA_EMULATION=y

View File

@ -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";
};

BIN
buildroot-external/board/ovos/raspberrypi/rpi4/RPI_EFI.fd Executable file → Normal file

Binary file not shown.

View File

@ -44,14 +44,14 @@ image disk.img {
partition rootfs-1 { partition rootfs-1 {
partition-uuid = c0932a41-44cf-463b-8152-d43188553ed4 partition-uuid = c0932a41-44cf-463b-8152-d43188553ed4
partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4 partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
image = "rootfs.squashfs" image = "rootfs.erofs"
size = 512M size = 512M
} }
partition rootfs-2 { partition rootfs-2 {
partition-uuid = 3adea996-45ad-4928-920e-ffb5aedd00cb partition-uuid = 3adea996-45ad-4928-920e-ffb5aedd00cb
partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4 partition-type-uuid = 0fc63daf-8483-4772-8e79-3d69d8477de4
image = "rootfs.squashfs" image = "rootfs.erofs"
size = 512M size = 512M
} }

View File

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Busybox version: 1.36.1 # Busybox version: 1.36.1
# Fri Mar 29 11:40:35 2024 # Fri Jul 19 10:40:11 2024
# #
CONFIG_HAVE_DOT_CONFIG=y CONFIG_HAVE_DOT_CONFIG=y

View File

@ -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_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL)/board/ovos/raspberrypi/rpi4"
BR2_LINUX_KERNEL=y BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,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_DEFCONFIG="bcm2711"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config" BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL)/kernel/ovos.config $(BR2_EXTERNAL)/kernel/device-drivers.config $(BR2_EXTERNAL)/kernel/docker.config $(BR2_EXTERNAL)/board/ovos/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_DTS_SUPPORT=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_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_INSTALL_TARGET=y
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
BR2_LINUX_KERNEL_NEEDS_HOST_LIBELF=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_FFPROBE=y
BR2_PACKAGE_FFMPEG_AVRESAMPLE=y BR2_PACKAGE_FFMPEG_AVRESAMPLE=y
BR2_PACKAGE_FFMPEG_POSTPROC=y BR2_PACKAGE_FFMPEG_POSTPROC=y
BR2_PACKAGE_FLAC=y
BR2_PACKAGE_GST1_LIBAV=y
BR2_PACKAGE_PIPEWIRE=y BR2_PACKAGE_PIPEWIRE=y
BR2_PACKAGE_PIPEWIRE_COMPRESS_OFFLOAD=y
BR2_PACKAGE_PIPEWIRE_EXAMPLES=y BR2_PACKAGE_PIPEWIRE_EXAMPLES=y
BR2_PACKAGE_PIPEWIRE_GSTREAMER=y BR2_PACKAGE_PIPEWIRE_GSTREAMER=y
BR2_PACKAGE_PIPEWIRE_V4L2=y BR2_PACKAGE_PIPEWIRE_V4L2=y
BR2_PACKAGE_PULSEAUDIO=y BR2_PACKAGE_PULSEAUDIO=y
BR2_PACKAGE_TINYCOMPRESS=y BR2_PACKAGE_SOX=y
BR2_PACKAGE_V4L2GRAB=y BR2_PACKAGE_V4L2GRAB=y
BR2_PACKAGE_V4L2LOOPBACK=y BR2_PACKAGE_V4L2LOOPBACK=y
BR2_PACKAGE_V4L2LOOPBACK_UTILS=y BR2_PACKAGE_V4L2LOOPBACK_UTILS=y
BR2_PACKAGE_BZIP2=y
BR2_PACKAGE_GZIP=y BR2_PACKAGE_GZIP=y
BR2_PACKAGE_LZIP=y BR2_PACKAGE_LZIP=y
BR2_PACKAGE_LZOP=y
BR2_PACKAGE_P7ZIP=y BR2_PACKAGE_P7ZIP=y
BR2_PACKAGE_UNRAR=y BR2_PACKAGE_UNRAR=y
BR2_PACKAGE_UNZIP=y BR2_PACKAGE_UNZIP=y
BR2_PACKAGE_ZIP=y BR2_PACKAGE_ZIP=y
BR2_PACKAGE_ZSTD=y
BR2_PACKAGE_LSOF=y BR2_PACKAGE_LSOF=y
BR2_PACKAGE_MEMSTAT=y BR2_PACKAGE_MEMSTAT=y
BR2_PACKAGE_NMON=y BR2_PACKAGE_NMON=y
@ -85,6 +92,7 @@ BR2_PACKAGE_BINUTILS=y
BR2_PACKAGE_CHECK=y BR2_PACKAGE_CHECK=y
BR2_PACKAGE_DIFFUTILS=y BR2_PACKAGE_DIFFUTILS=y
BR2_PACKAGE_FINDUTILS=y BR2_PACKAGE_FINDUTILS=y
BR2_PACKAGE_GETTEXT=y
BR2_PACKAGE_GIT_CRYPT=y BR2_PACKAGE_GIT_CRYPT=y
BR2_PACKAGE_GREP=y BR2_PACKAGE_GREP=y
BR2_PACKAGE_JO=y BR2_PACKAGE_JO=y
@ -96,19 +104,15 @@ BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
BR2_PACKAGE_E2FSPROGS=y BR2_PACKAGE_E2FSPROGS=y
BR2_PACKAGE_E2FSPROGS_E2IMAGE=y
BR2_PACKAGE_E2FSPROGS_FUSE2FS=y BR2_PACKAGE_E2FSPROGS_FUSE2FS=y
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=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_FUSE_OVERLAYFS=y
BR2_PACKAGE_MTD=y
BR2_PACKAGE_NFS_UTILS=y BR2_PACKAGE_NFS_UTILS=y
BR2_PACKAGE_NTFS_3G=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=y
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D=y
BR2_PACKAGE_MESA3D_VULKAN_DRIVER_BROADCOM=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_X=y
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4_CD=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_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_AVRDUDE=y
BR2_PACKAGE_CRYPTSETUP=y
BR2_PACKAGE_DBUS_PYTHON=y BR2_PACKAGE_DBUS_PYTHON=y
BR2_PACKAGE_GPTFDISK=y BR2_PACKAGE_GPTFDISK=y
BR2_PACKAGE_GPTFDISK_GDISK=y BR2_PACKAGE_GPTFDISK_GDISK=y
BR2_PACKAGE_GPTFDISK_SGDISK=y BR2_PACKAGE_GPTFDISK_SGDISK=y
BR2_PACKAGE_GPTFDISK_CGDISK=y
BR2_PACKAGE_I2C_TOOLS=y BR2_PACKAGE_I2C_TOOLS=y
BR2_PACKAGE_PARTED=y BR2_PACKAGE_PARTED=y
BR2_PACKAGE_RASPI_GPIO=y
BR2_PACKAGE_READ_EDID=y
BR2_PACKAGE_RNG_TOOLS=y BR2_PACKAGE_RNG_TOOLS=y
BR2_PACKAGE_SPI_TOOLS=y BR2_PACKAGE_SPI_TOOLS=y
BR2_PACKAGE_USB_MODESWITCH_DATA=y BR2_PACKAGE_USB_MODESWITCH_DATA=y
BR2_PACKAGE_LUA=y
BR2_PACKAGE_PYTHON3=y BR2_PACKAGE_PYTHON3=y
BR2_PACKAGE_PYTHON3_PY_PYC=y BR2_PACKAGE_PYTHON3_PY_PYC=y
BR2_PACKAGE_PYTHON_GOBJECT=y BR2_PACKAGE_PYTHON_GOBJECT=y
BR2_PACKAGE_PYTHON_PIP=y BR2_PACKAGE_PYTHON_PIP=y
BR2_PACKAGE_PYTHON_PODMAN_COMPOSE=y BR2_PACKAGE_PYTHON_PODMAN_COMPOSE=y
BR2_PACKAGE_PYTHON_SPIDEV=y BR2_PACKAGE_PYTHON_SPIDEV=y
BR2_PACKAGE_ALSA_LIB_PYTHON=y
BR2_PACKAGE_ALSA_PLUGINS=y BR2_PACKAGE_ALSA_PLUGINS=y
BR2_PACKAGE_LIBSAMPLERATE=y
BR2_PACKAGE_LIBSOXR=y BR2_PACKAGE_LIBSOXR=y
BR2_PACKAGE_LIBVORBIS=y
BR2_PACKAGE_LILV=y BR2_PACKAGE_LILV=y
BR2_PACKAGE_OPUS=y
BR2_PACKAGE_PORTAUDIO=y BR2_PACKAGE_PORTAUDIO=y
BR2_PACKAGE_SBC=y BR2_PACKAGE_SBC=y
BR2_PACKAGE_SBC_TOOLS=y BR2_PACKAGE_SBC_TOOLS=y
BR2_PACKAGE_SPEEXDSP=y
BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y BR2_PACKAGE_WEBRTC_AUDIO_PROCESSING=y
BR2_PACKAGE_LIBARCHIVE=y BR2_PACKAGE_LIBARCHIVE=y
BR2_PACKAGE_LIBDEFLATE=y BR2_PACKAGE_LIBDEFLATE=y
BR2_PACKAGE_LZ4_PROGS=y BR2_PACKAGE_LZ4_PROGS=y
BR2_PACKAGE_CA_CERTIFICATES=y BR2_PACKAGE_CA_CERTIFICATES=y
BR2_PACKAGE_LIBARGON2=y
BR2_PACKAGE_LIBKSBA=y BR2_PACKAGE_LIBKSBA=y
BR2_PACKAGE_LIBSSH2=y BR2_PACKAGE_LIBSSH2=y
BR2_PACKAGE_LIBOPENSSL_BIN=y BR2_PACKAGE_LIBOPENSSL_BIN=y
@ -163,21 +169,13 @@ BR2_PACKAGE_LIBNFS=y
BR2_PACKAGE_LIBSYSFS=y BR2_PACKAGE_LIBSYSFS=y
BR2_PACKAGE_LOCKDEV=y BR2_PACKAGE_LOCKDEV=y
BR2_PACKAGE_PHYSFS=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=y
BR2_PACKAGE_LIBGPIOD2_TOOLS=y BR2_PACKAGE_LIBGPIOD2_TOOLS=y
BR2_PACKAGE_LIBINPUT=y BR2_PACKAGE_LIBINPUT=y
BR2_PACKAGE_LIBINPUT_PYTHON_TOOLS=y
BR2_PACKAGE_LIBV4L_UTILS=y BR2_PACKAGE_LIBV4L_UTILS=y
BR2_PACKAGE_JSON_GLIB=y BR2_PACKAGE_JSON_GLIB=y
BR2_PACKAGE_LIBFASTJSON=y
BR2_PACKAGE_LIBCAMERA=y BR2_PACKAGE_LIBCAMERA=y
BR2_PACKAGE_LIBCAMERA_V4L2=y BR2_PACKAGE_LIBCAMERA_V4L2=y
BR2_PACKAGE_LIBCAMERA_PIPELINE_RPI_VC4=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_LIBCAMERA_PIPELINE_VIMC=y
BR2_PACKAGE_LIBCURL=y BR2_PACKAGE_LIBCURL=y
BR2_PACKAGE_LIBCURL_CURL=y BR2_PACKAGE_LIBCURL_CURL=y
BR2_PACKAGE_LIBDNET=y BR2_PACKAGE_LIBPSL=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_SLIRP4NETNS=y BR2_PACKAGE_SLIRP4NETNS=y
BR2_PACKAGE_ZEROMQ=y BR2_PACKAGE_JEMALLOC=y
BR2_PACKAGE_ZEROMQ_WEBSOCKET=y
BR2_PACKAGE_LIBCAP_TOOLS=y BR2_PACKAGE_LIBCAP_TOOLS=y
BR2_PACKAGE_LIBNPTH=y BR2_PACKAGE_LIBUNWIND=y
BR2_PACKAGE_LIBFRIBIDI=y BR2_PACKAGE_LIBUV=y
BR2_PACKAGE_NCURSES_WCHAR=y
BR2_PACKAGE_AARDVARK_DNS=y BR2_PACKAGE_AARDVARK_DNS=y
BR2_PACKAGE_AVAHI=y
BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_AVAHI_DEFAULT_SERVICES=y BR2_PACKAGE_AVAHI_DEFAULT_SERVICES=y
BR2_PACKAGE_BLUEZ_TOOLS=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_PLUGINS_SAP=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y BR2_PACKAGE_BLUEZ5_UTILS_TOOLS_HID2HCI=y
BR2_PACKAGE_CRDA=y BR2_PACKAGE_CRDA=y
BR2_PACKAGE_DNSMASQ=y
BR2_PACKAGE_IFUPDOWN=y BR2_PACKAGE_IFUPDOWN=y
BR2_PACKAGE_IPROUTE2=y BR2_PACKAGE_IPROUTE2=y
BR2_PACKAGE_IPUTILS=y BR2_PACKAGE_IPUTILS=y
@ -228,10 +221,12 @@ BR2_PACKAGE_OPENSSH=y
# BR2_PACKAGE_OPENSSH_SANDBOX is not set # BR2_PACKAGE_OPENSSH_SANDBOX is not set
BR2_PACKAGE_WGET=y BR2_PACKAGE_WGET=y
BR2_PACKAGE_WIRELESS_TOOLS=y BR2_PACKAGE_WIRELESS_TOOLS=y
BR2_PACKAGE_WIRELESS_TOOLS_LIB=y
BR2_PACKAGE_WPA_SUPPLICANT=y BR2_PACKAGE_WPA_SUPPLICANT=y
BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y BR2_PACKAGE_WPA_SUPPLICANT_WEXT=y
BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y BR2_PACKAGE_WPA_SUPPLICANT_AP_SUPPORT=y
BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y BR2_PACKAGE_WPA_SUPPLICANT_MESH_NETWORKING=y
BR2_PACKAGE_WPA_SUPPLICANT_OVERRIDES=y
BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y BR2_PACKAGE_WPA_SUPPLICANT_AUTOSCAN=y
BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y BR2_PACKAGE_WPA_SUPPLICANT_HOTSPOT=y
BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y BR2_PACKAGE_WPA_SUPPLICANT_DEBUG_SYSLOG=y
@ -253,12 +248,12 @@ BR2_PACKAGE_COREUTILS=y
BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y BR2_PACKAGE_COREUTILS_INDIVIDUAL_BINARIES=y
BR2_PACKAGE_EFIBOOTMGR=y BR2_PACKAGE_EFIBOOTMGR=y
BR2_PACKAGE_HTOP=y BR2_PACKAGE_HTOP=y
BR2_PACKAGE_NUMACTL=y
BR2_PACKAGE_PODMAN=y BR2_PACKAGE_PODMAN=y
BR2_PACKAGE_PODMAN_DRIVER_BTRFS=y BR2_PACKAGE_PODMAN_DRIVER_BTRFS=y
BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y BR2_PACKAGE_PODMAN_DRIVER_DEVICEMAPPER=y
BR2_PACKAGE_PODMAN_DRIVER_VFS=y BR2_PACKAGE_PODMAN_DRIVER_VFS=y
BR2_PACKAGE_PROCPS_NG=y BR2_PACKAGE_PROCPS_NG=y
BR2_PACKAGE_RSYSLOG=y
BR2_PACKAGE_SHADOW=y BR2_PACKAGE_SHADOW=y
BR2_PACKAGE_SHADOW_SHADOWGRP=y BR2_PACKAGE_SHADOW_SHADOWGRP=y
BR2_PACKAGE_SHADOW_ACCOUNT_TOOLS_SETUID=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=y
BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config" BR2_PACKAGE_SWUPDATE_CONFIG="$(BR2_EXTERNAL)/swupdate.config"
BR2_PACKAGE_SWUPDATE_USB=y BR2_PACKAGE_SWUPDATE_USB=y
BR2_PACKAGE_SYSTEMD_KERNELINSTALL=y
BR2_PACKAGE_SYSTEMD_ANALYZE=y BR2_PACKAGE_SYSTEMD_ANALYZE=y
BR2_PACKAGE_SYSTEMD_BACKLIGHT=y BR2_PACKAGE_SYSTEMD_BACKLIGHT=y
BR2_PACKAGE_SYSTEMD_BINFMT=y
# BR2_PACKAGE_SYSTEMD_PSTORE is not set # BR2_PACKAGE_SYSTEMD_PSTORE is not set
BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y BR2_PACKAGE_SYSTEMD_FIRSTBOOT=y
BR2_PACKAGE_SYSTEMD_HIBERNATE=y
# BR2_PACKAGE_SYSTEMD_HWDB is not set # BR2_PACKAGE_SYSTEMD_HWDB is not set
BR2_PACKAGE_SYSTEMD_LOCALED=y BR2_PACKAGE_SYSTEMD_LOCALED=y
BR2_PACKAGE_SYSTEMD_LOGIND=y BR2_PACKAGE_SYSTEMD_LOGIND=y
@ -279,9 +275,6 @@ BR2_PACKAGE_SYSTEMD_OOMD=y
BR2_PACKAGE_SYSTEMD_POLKIT=y BR2_PACKAGE_SYSTEMD_POLKIT=y
BR2_PACKAGE_SYSTEMD_RANDOMSEED=y BR2_PACKAGE_SYSTEMD_RANDOMSEED=y
BR2_PACKAGE_SYSTEMD_REPART=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_TAR=y
BR2_PACKAGE_UTIL_LINUX_BINARIES=y BR2_PACKAGE_UTIL_LINUX_BINARIES=y
BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y BR2_PACKAGE_UTIL_LINUX_HWCLOCK=y
@ -300,11 +293,15 @@ BR2_PACKAGE_UTIL_LINUX_ZRAMCTL=y
BR2_PACKAGE_LESS=y BR2_PACKAGE_LESS=y
BR2_PACKAGE_NANO=y BR2_PACKAGE_NANO=y
BR2_PACKAGE_VIM=y BR2_PACKAGE_VIM=y
BR2_TARGET_ROOTFS_SQUASHFS=y BR2_TARGET_ROOTFS_EROFS=y
BR2_TARGET_ROOTFS_SQUASHFS4_LZO=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_ROOTFS_TAR is not set
BR2_TARGET_GRUB2=y 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_TARGET_GRUB2_INSTALL_TOOLS=y
BR2_PACKAGE_HOST_DOSFSTOOLS=y BR2_PACKAGE_HOST_DOSFSTOOLS=y
BR2_PACKAGE_HOST_E2FSPROGS=y BR2_PACKAGE_HOST_E2FSPROGS=y
@ -315,6 +312,7 @@ BR2_PACKAGE_HOST_PKGCONF=y
BR2_PACKAGE_BTSPEAKER=y BR2_PACKAGE_BTSPEAKER=y
BR2_PACKAGE_HOSTNAME_SERVICE=y BR2_PACKAGE_HOSTNAME_SERVICE=y
BR2_PACKAGE_NCPAMIXER=y BR2_PACKAGE_NCPAMIXER=y
BR2_PACKAGE_OPENFEC=y
BR2_PACKAGE_OVOS_BUS_SERVER=y BR2_PACKAGE_OVOS_BUS_SERVER=y
BR2_PACKAGE_OVOS_CONTAINERS=y BR2_PACKAGE_OVOS_CONTAINERS=y
BR2_PACKAGE_OVOS_CONTAINERS_ARCH="arm64" BR2_PACKAGE_OVOS_CONTAINERS_ARCH="arm64"
@ -322,12 +320,11 @@ BR2_PACKAGE_OVOS_CONTAINERS_GUI=y
BR2_PACKAGE_OVOS_SPLASH=y BR2_PACKAGE_OVOS_SPLASH=y
BR2_PACKAGE_RESPEAKER=y BR2_PACKAGE_RESPEAKER=y
BR2_PACKAGE_RNNNOISE_LADSPA=y BR2_PACKAGE_RNNNOISE_LADSPA=y
BR2_PACKAGE_ROC_TOOLKIT=y
BR2_PACKAGE_RPI_EEPROM=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_USERLAND_TOOLS=y
BR2_PACKAGE_VOCALFUSION=y BR2_PACKAGE_VOCALFUSION=y
BR2_PACKAGE_PYTHON_ADAFRUIT_BLINKA=y BR2_PACKAGE_PYTHON_ADAFRUIT_BLINKA=y
BR2_PACKAGE_PYTHON_SMBUS2=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

View File

@ -38,27 +38,15 @@ CONFIG_MISC_FILESYSTEMS=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
CONFIG_EXFAT_FS=m CONFIG_EXFAT_FS=m
CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" 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_MSDOS_FS=y
CONFIG_VFAT_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_BTRFS_FS=m
CONFIG_OVERLAY_FS=y CONFIG_OVERLAY_FS=y
CONFIG_TMPFS=y CONFIG_TMPFS=y

View File

@ -19,12 +19,9 @@ OVOS_CONTAINERS_IMAGES = ovos-phal \
ovos-cli ovos-cli
ifeq ($(BR2_PACKAGE_OVOS_CONTAINERS_GUI),y) ifeq ($(BR2_PACKAGE_OVOS_CONTAINERS_GUI),y)
OVOS_CONTAINERS_IMAGES += ovos-gui-websocket \ OVOS_CONTAINERS_IMAGES += ovos-gui-shell
ovos-gui-shell
define OVOS_CONTAINERS_INSTALL_GUI_SERVICES 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 \ $(INSTALL) -D -m 644 $(BR2_EXTERNAL_OPENVOICEOS_PATH)/package/ovos-containers/ovos_gui.container \
$(TARGET_DIR)/home/ovos/.config/containers/systemd/ovos_gui.container $(TARGET_DIR)/home/ovos/.config/containers/systemd/ovos_gui.container

View File

@ -1,2 +1,2 @@
# md5, sha256 from https://pypi.org/pypi/combo_lock/json # 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

View File

@ -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_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_SETUP_TYPE = setuptools
PYTHON_COMBO_LOCK_LICENSE = apache-2.0 PYTHON_COMBO_LOCK_LICENSE = apache-2.0

View File

@ -1,2 +1,2 @@
# sha256 from https://pypi.org/pypi/importlib-metadata/json # 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

View File

@ -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_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 PYTHON_IMPORTLIB_METADATA_SETUP_TYPE = setuptools
$(eval $(python-package)) $(eval $(python-package))

View File

@ -1,5 +1,9 @@
config BR2_PACKAGE_PYTHON_OVOS_BACKEND_CLIENT config BR2_PACKAGE_PYTHON_OVOS_BACKEND_CLIENT
bool "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 help
Unofficial python api for interaction with Unofficial python api for interaction with
https://api.mycroft.ai , also compatible with https://api.mycroft.ai , also compatible with

View File

@ -1 +1 @@
sha256 dedf51d425346eb650f070da7416e66f67bae6c4a4048fe56e4e409f87cbc553 python-ovos-backend-client-1a746cee2fca3051415b51460a8a8f6897ee61da.tar.gz sha256 c9430399fc4dc573fb61373b322fbb2528fa95081758ef2c9173f38edfd7d294 python-ovos-backend-client-c10cc52430dbaa57d50121e2e120b5e39e8ccad1.tar.gz

View File

@ -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_SITE = $(call github,OpenVoiceOS,ovos-backend-client,$(PYTHON_OVOS_BACKEND_CLIENT_VERSION))
PYTHON_OVOS_BACKEND_CLIENT_SETUP_TYPE = setuptools PYTHON_OVOS_BACKEND_CLIENT_SETUP_TYPE = setuptools
PYTHON_OVOS_BACKEND_CLIENT_LICENSE_FILES = LICENSE PYTHON_OVOS_BACKEND_CLIENT_LICENSE_FILES = LICENSE

View File

@ -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

View File

@ -1,2 +1,2 @@
# Locally computed sha256 checksums # Locally computed sha256 checksums
sha256 6be39206814b1ce4061067aced354b304db2b32cbeaa0b00b7ae8143cac8de7e python-ovos-bus-client-94fbd69ff165ddcd645f02dd28cdd05cb4326bf8.tar.gz sha256 40f18feb6ce2e98630485df7b20a08c4bfcdf28522e33e1cddcc70ae09d185b6 ovos-bus-client-0.0.9a22.tar.gz

View File

@ -4,8 +4,9 @@
# #
################################################################################ ################################################################################
PYTHON_OVOS_BUS_CLIENT_VERSION = 94fbd69ff165ddcd645f02dd28cdd05cb4326bf8 PYTHON_OVOS_BUS_CLIENT_VERSION = 0.0.9a22
PYTHON_OVOS_BUS_CLIENT_SITE = $(call github,OpenVoiceOS,ovos-bus-client,$(PYTHON_OVOS_BUS_CLIENT_VERSION)) 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_SETUP_TYPE = setuptools
PYTHON_OVOS_BUS_CLIENT_LICENSE = Apache-2.0 PYTHON_OVOS_BUS_CLIENT_LICENSE = Apache-2.0
PYTHON_OVOS_BUS_CLIENT_LICENSE_FILES = LICENSE PYTHON_OVOS_BUS_CLIENT_LICENSE_FILES = LICENSE

View File

@ -1 +1 @@
sha256 026a937926474354dd9b4168e674c15edd3f4c3c25aed46a30b005fa0dca182e python-ovos-config-de57ca2f69fc0b4b95b56f2f486ce75cdd0a421e.tar.gz sha256 8d02876632b99d4b5db25c8771bab1c4d8f6cfe4fdb21c7bee174dd5475b6f27 python-ovos-config-53597873e570cd26c9cd9c52b99404e9c3383fd3.tar.gz

View File

@ -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_SITE = $(call github,OpenVoiceOS,ovos-config,$(PYTHON_OVOS_CONFIG_VERSION))
PYTHON_OVOS_CONFIG_SETUP_TYPE = setuptools PYTHON_OVOS_CONFIG_SETUP_TYPE = setuptools
PYTHON_OVOS_CONFIG_LICENSE_FILES = LICENSE PYTHON_OVOS_CONFIG_LICENSE_FILES = LICENSE

View File

@ -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

View File

@ -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

View File

@ -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))

View File

@ -1,5 +1,10 @@
config BR2_PACKAGE_PYTHON_OVOS_GUI config BR2_PACKAGE_PYTHON_OVOS_GUI
bool "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 help
GUI messagebus service, manages GUI state GUI messagebus service, manages GUI state
and implements the gui protocol and implements the gui protocol

View File

@ -1 +1 @@
sha256 09488c55a2617bf3d2807a84c4f2a8f636ce1b8a547a0ce5c685bba3f8742e96 python-ovos-gui-502dec01d0055c54998280ffaa76d5f54961173f.tar.gz sha256 5bb3329c701864f1927e18aa7c7754f546703476b04a8d56419602769a9b5c6e ovos-gui-0.1.0a2.tar.gz

View File

@ -4,8 +4,9 @@
# #
################################################################################ ################################################################################
PYTHON_OVOS_GUI_VERSION = 502dec01d0055c54998280ffaa76d5f54961173f PYTHON_OVOS_GUI_VERSION = 0.1.0a2
PYTHON_OVOS_GUI_SITE = $(call github,OpenVoiceOS,ovos-gui,$(PYTHON_OVOS_GUI_VERSION)) 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_SETUP_TYPE = setuptools
PYTHON_OVOS_GUI_LICENSE_FILES = LICENSE PYTHON_OVOS_GUI_LICENSE_FILES = LICENSE
PYTHON_OVOS_GUI_ENV = MYCROFT_LOOSE_REQUIREMENTS=true PYTHON_OVOS_GUI_ENV = MYCROFT_LOOSE_REQUIREMENTS=true

View File

@ -1,5 +1,14 @@
config BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER config BR2_PACKAGE_PYTHON_OVOS_PLUGIN_MANAGER
bool "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 help
OPM can be used to search, install, load OPM can be used to search, install, load
and create plugins for the OpenVoiceOS ecosystem! and create plugins for the OpenVoiceOS ecosystem!

View File

@ -1 +1 @@
sha256 2642bdde9eff11333d60c8097ced046e4d5c16121e60ffff92adc9ac26995f96 python-ovos-plugin-manager-7eba4f0911e68aed315ec9029727ac052d363b95.tar.gz sha256 22df0d387b80a0bfd294dcfbe8f54c73ef5d74b7067ef1580b8a4778fdce3e71 python-ovos-plugin-manager-9857a3ef5d2b348b2276fbf5821bea71b6678cfa.tar.gz

View File

@ -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_SITE = $(call github,OpenVoiceOS,ovos-plugin-manager,$(PYTHON_OVOS_PLUGIN_MANAGER_VERSION))
PYTHON_OVOS_PLUGIN_MANAGER_SETUP_TYPE = setuptools PYTHON_OVOS_PLUGIN_MANAGER_SETUP_TYPE = setuptools
PYTHON_OVOS_PLUGIN_MANAGER_LICENSE_FILES = LICENSE PYTHON_OVOS_PLUGIN_MANAGER_LICENSE_FILES = LICENSE

View File

@ -1 +1 @@
sha256 8c3ea3d7f1fe1c54bd070a71b59f7ef0ff8ba62879f0da4d26dc7422bb65faf3 python-ovos-utils-5e43850e138150247da5d151ed4bd2e65a6bb455.tar.gz sha256 1205ac8ebc3459ca355b4657870dec3918d532e74f9e24413d597393447ab853 ovos_utils-0.1.0a24.tar.gz

View File

@ -4,8 +4,9 @@
# #
################################################################################ ################################################################################
PYTHON_OVOS_UTILS_VERSION = 5e43850e138150247da5d151ed4bd2e65a6bb455 PYTHON_OVOS_UTILS_VERSION = 0.1.0a24
PYTHON_OVOS_UTILS_SITE = $(call github,OpenVoiceOS,ovos_utils,$(PYTHON_OVOS_UTILS_VERSION)) 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_SETUP_TYPE = setuptools
PYTHON_OVOS_UTILS_LICENSE_FILES = LICENSE PYTHON_OVOS_UTILS_LICENSE_FILES = LICENSE
PYTHON_OVOS_UTILS_ENV = MYCROFT_LOOSE_REQUIREMENTS=true PYTHON_OVOS_UTILS_ENV = MYCROFT_LOOSE_REQUIREMENTS=true

View File

@ -3,16 +3,16 @@
# rpi-eeprom # rpi-eeprom
# #
############################################################# #############################################################
RPI_EEPROM_VERSION = 61023cbd32725a07e094f9b2d01df302f4ddabba RPI_EEPROM_VERSION = e430a41e7323a1e28fb42b53cf79e5ba9b5ee975
RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION)) RPI_EEPROM_SITE = $(call github,raspberrypi,rpi-eeprom,$(RPI_EEPROM_VERSION))
RPI_EEPROM_LICENSE = BSD-3-Clause RPI_EEPROM_LICENSE = BSD-3-Clause
RPI_EEPROM_LICENSE_FILES = LICENSE RPI_EEPROM_LICENSE_FILES = LICENSE
RPI_EEPROM_INSTALL_IMAGES = YES RPI_EEPROM_INSTALL_IMAGES = YES
ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI4),y) ifeq ($(BR2_PACKAGE_RPI_EEPROM_RPI4),y)
RPI_EEPROM_FIRMWARE_PATH = firmware-2711/stable/pieeprom-2024-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 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 endif
define RPI_EEPROM_BUILD_CMDS define RPI_EEPROM_BUILD_CMDS

File diff suppressed because it is too large Load Diff

View File

@ -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> From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 8 Sep 2023 18:22:48 +0200 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, Even though sched_submit_work() is ran from preemptible context,
it is discouraged to have it use blocking locks due to the recursion 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(+) 1 file changed, 9 insertions(+)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c 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 --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -6721,11 +6721,18 @@ void __noreturn do_task_dead(void) @@ -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) static void sched_update_worker(struct task_struct *tsk)
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 8 Sep 2023 18:22:49 +0200 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 DEBUG_RT_MUTEXES
With DEBUG_RT_MUTEXES enabled the fast-path rt_mutex_cmpxchg_acquire() 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); ww_mutex_set_context_fastpath(lock, ww_ctx);
return 0; return 0;
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 8 Sep 2023 18:22:50 +0200 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() There are currently two implementations of this basic __schedule()
loop, and there is soon to be a third. 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(-) 1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/kernel/sched/core.c b/kernel/sched/core.c 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 --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -6771,16 +6771,21 @@ static void sched_update_worker(struct task_struct *tsk) @@ -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); NOKPROBE_SYMBOL(schedule_rtlock);
#endif #endif
-- --
2.45.1 2.45.2

View File

@ -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> From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 8 Sep 2023 18:22:51 +0200 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 With PREEMPT_RT there is a rt_mutex recursion problem where
sched_submit_work() can use an rtlock (aka spinlock_t). More 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. * Must hold either p->pi_lock or task_rq(p)->lock.
*/ */
diff --git a/kernel/sched/core.c b/kernel/sched/core.c 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 --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -6724,9 +6724,6 @@ static inline void sched_submit_work(struct task_struct *tsk) @@ -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) if (pi_task)
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 8 Sep 2023 18:22:52 +0200 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 helpers
Have rt_mutex use the rt_mutex specific scheduler helpers to avoid 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. * The common functions which get wrapped into the rwlock API.
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Fri, 8 Sep 2023 18:22:53 +0200 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 potential nested blocking
There used to be a BUG_ON(current->pi_blocked_on) in the lock acquisition 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); rtlock_slowlock(rtm);
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Peter Zijlstra <peterz@infradead.org>
Date: Fri, 15 Sep 2023 17:19:44 +0200 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 Some new assertions pointed out that the existing code has nested rt_mutex wait
state in the futex code. 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 * Fixup the pi_state owner and possibly acquire the lock if we
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 3 Aug 2023 12:09:31 +0200 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(). in ptrace_stop().
Commit 53da1d9456fe7 ("fix ptrace slowness") added a preempt-disable section Commit 53da1d9456fe7 ("fix ptrace slowness") added a preempt-disable section
@ -48,5 +48,5 @@ index 09019017d669..051ed8114cd4 100644
preempt_disable(); preempt_disable();
read_unlock(&tasklist_lock); read_unlock(&tasklist_lock);
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 3 Aug 2023 12:09:32 +0200 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. PREEMPT_RT.
On PREEMPT_RT keeping preemption disabled during the invocation of On PREEMPT_RT keeping preemption disabled during the invocation of
@ -49,5 +49,5 @@ index 051ed8114cd4..b71026341056 100644
cgroup_leave_frozen(true); cgroup_leave_frozen(true);
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2023 16:15:12 +0200 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(). dc_fpu_begin().
This is a revert of the commit mentioned below while it is not wrong, as 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)) { if (cpu_has_feature(CPU_FTR_VSX_COMP)) {
disable_kernel_vsx(); disable_kernel_vsx();
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2023 16:15:13 +0200 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() 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 can be invoked multiple times while the FPU-disable function itself is
@ -128,5 +128,5 @@ index 86f4c0e04654..8bd5926b47e0 100644
+ preempt_enable(); + preempt_enable();
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2023 16:15:14 +0200 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. outside from task context.
Add a warning if the FPU is used from any context other than task 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); depth = __this_cpu_inc_return(fpu_recursion_depth);
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2023 16:15:15 +0200 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().
dcn21_validate_bandwidth_fp() is invoked while FPU access has been 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); void dcn21_clk_mgr_set_bw_params_wm_table(struct clk_bw_params *bw_params);
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 21 Sep 2023 16:15:16 +0200 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().
dcn20_validate_bandwidth_fp() is invoked while FPU access has been 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 pp_smu_wm_range_sets *ranges,
struct _vcs_dpi_soc_bounding_box_st *loaded_bb); struct _vcs_dpi_soc_bounding_box_st *loaded_bb);
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Mon, 15 Aug 2022 17:29:50 +0200 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 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 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) static inline void input_queue_head_incr(struct softnet_data *sd)
diff --git a/net/core/dev.c b/net/core/dev.c 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 --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -4705,15 +4705,6 @@ static void rps_trigger_softirq(void *data) @@ -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) static int napi_threaded_poll(void *data)
{ {
struct napi_struct *napi = 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); INIT_CSD(&sd->csd, rps_trigger_softirq, sd);
sd->cpu = i; sd->cpu = i;
#endif #endif
@ -124,5 +124,5 @@ index f0a9ef1aeaa2..682175af439d 100644
static void skb_splice_csum_page(struct sk_buff *skb, struct page *page, static void skb_splice_csum_page(struct sk_buff *skb, struct page *page,
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 7 Aug 2019 18:15:38 +0200 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. Allow to select RT.
@ -12,7 +12,7 @@ Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
1 file changed, 1 insertion(+) 1 file changed, 1 insertion(+)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index be9248e5cb71..0b9640069679 100644 index 82d12c93feab..231e41817ea4 100644
--- a/arch/x86/Kconfig --- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig +++ b/arch/x86/Kconfig
@@ -28,6 +28,7 @@ config X86_64 @@ -28,6 +28,7 @@ config X86_64
@ -24,5 +24,5 @@ index be9248e5cb71..0b9640069679 100644
select HAVE_ARCH_SOFT_DIRTY select HAVE_ARCH_SOFT_DIRTY
select MODULES_USE_ELF_RELA select MODULES_USE_ELF_RELA
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Thu, 7 Nov 2019 17:49:20 +0100 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: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@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(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 0b9640069679..282313172756 100644 index 231e41817ea4..fe340c07ddbf 100644
--- a/arch/x86/Kconfig --- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig +++ b/arch/x86/Kconfig
@@ -28,7 +28,6 @@ config X86_64 @@ -28,7 +28,6 @@ config X86_64
@ -30,5 +30,5 @@ index 0b9640069679..282313172756 100644
select ARCH_USE_MEMTEST select ARCH_USE_MEMTEST
select ARCH_USE_QUEUED_RWLOCKS select ARCH_USE_QUEUED_RWLOCKS
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Tue, 1 Aug 2023 17:26:48 +0200 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 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 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; rd->rto_cpu = -1;
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 1 Dec 2021 17:41:09 +0100 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 A timer/hrtimer softirq is raised in-IRQ context. With threaded
interrupts enabled or on PREEMPT_RT this leads to waking the ksoftirqd 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) static inline struct task_struct *this_cpu_ksoftirqd(void)
diff --git a/kernel/softirq.c b/kernel/softirq.c diff --git a/kernel/softirq.c b/kernel/softirq.c
index 210cf5f8d92c..c29c30106eb8 100644 index bd9716d7bb63..0e43058c2e58 100644
--- a/kernel/softirq.c --- a/kernel/softirq.c
+++ b/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 #endif
} }
@ -105,7 +105,7 @@ index 210cf5f8d92c..c29c30106eb8 100644
static inline void __irq_exit_rcu(void) static inline void __irq_exit_rcu(void)
{ {
#ifndef __ARCH_IRQ_EXIT_IRQS_DISABLED #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 #endif
account_hardirq_exit(current); account_hardirq_exit(current);
preempt_count_sub(HARDIRQ_OFFSET); preempt_count_sub(HARDIRQ_OFFSET);
@ -121,7 +121,7 @@ index 210cf5f8d92c..c29c30106eb8 100644
tick_irq_exit(); 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", .thread_comm = "ksoftirqd/%u",
}; };
@ -229,5 +229,5 @@ index 63a8ce7177dd..7cad6fe3c035 100644
/* /*
-- --
2.45.1 2.45.2

View File

@ -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> From: Frederic Weisbecker <frederic@kernel.org>
Date: Tue, 5 Apr 2022 03:07:51 +0200 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. boosting test.
ksoftirqd is statically boosted to the priority level right above the 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); extern void raise_hrtimer_softirq(void);
diff --git a/kernel/rcu/rcutorture.c b/kernel/rcu/rcutorture.c 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 --- a/kernel/rcu/rcutorture.c
+++ b/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); WARN_ON_ONCE(!t);
sp.sched_priority = 2; sp.sched_priority = 2;
sched_setscheduler_nocheck(t, SCHED_FIFO, &sp); 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. */ /* Don't allow time recalculation while creating a new task. */
diff --git a/kernel/softirq.c b/kernel/softirq.c diff --git a/kernel/softirq.c b/kernel/softirq.c
index c29c30106eb8..1277abc94228 100644 index 0e43058c2e58..63e8b9ad2727 100644
--- a/kernel/softirq.c --- a/kernel/softirq.c
+++ b/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 #ifdef CONFIG_PREEMPT_RT
@ -76,5 +76,5 @@ index c29c30106eb8..1277abc94228 100644
static unsigned int local_pending_timers(void) static unsigned int local_pending_timers(void)
-- --
2.45.1 2.45.2

View File

@ -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> From: Frederic Weisbecker <frederic@kernel.org>
Date: Tue, 5 Apr 2022 03:07:52 +0200 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 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 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); DECLARE_PER_CPU(struct task_struct *, ksoftirqd);
diff --git a/kernel/softirq.c b/kernel/softirq.c diff --git a/kernel/softirq.c b/kernel/softirq.c
index 1277abc94228..a4d359e2c2b5 100644 index 63e8b9ad2727..65477d8e00af 100644
--- a/kernel/softirq.c --- a/kernel/softirq.c
+++ b/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 #ifdef CONFIG_PREEMPT_RT
DEFINE_PER_CPU(struct task_struct *, timersd); 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) static ktime_t tick_nohz_next_event(struct tick_sched *ts, int cpu)
-- --
2.45.1 2.45.2

View File

@ -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> From: Junxiao Chang <junxiao.chang@intel.com>
Date: Mon, 20 Feb 2023 09:12:20 +0100 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 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 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(-) 1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/kernel/softirq.c b/kernel/softirq.c diff --git a/kernel/softirq.c b/kernel/softirq.c
index a4d359e2c2b5..c2474cc4fa51 100644 index 65477d8e00af..ea6198bf64e0 100644
--- a/kernel/softirq.c --- a/kernel/softirq.c
+++ b/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 #endif
account_hardirq_exit(current); account_hardirq_exit(current);
preempt_count_sub(HARDIRQ_OFFSET); preempt_count_sub(HARDIRQ_OFFSET);
@ -45,5 +45,5 @@ index a4d359e2c2b5..c2474cc4fa51 100644
tick_irq_exit(); tick_irq_exit();
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Mike Galbraith <umgwanakikbuti@gmail.com>
Date: Thu, 31 Mar 2016 04:08:28 +0200 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. PREEMPT_RT.
The bit spinlock disables preemption. The spinlock_t lock becomes a sleeping The bit spinlock disables preemption. The spinlock_t lock becomes a sleeping
@ -98,5 +98,5 @@ index ca7a15bd4845..e64eb607eb45 100644
ktime_t ac_time; ktime_t ac_time;
#endif #endif
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Wed, 8 Mar 2023 16:29:38 +0100 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. instrumentation*() section.
Callers of preempt_enable() can be within an noinstr section leading to: Callers of preempt_enable() can be within an noinstr section leading to:
@ -48,5 +48,5 @@ index 9aa6358a1a16..cd16f0330fba 100644
#define preempt_check_resched() \ #define preempt_check_resched() \
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 4 Aug 2023 13:30:37 +0200 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. PI-boosted.
Provide a method to check if a task inherited the priority from another 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 void set_user_nice(struct task_struct *p, long nice);
extern int task_prio(const struct task_struct *p); extern int task_prio(const struct task_struct *p);
diff --git a/kernel/sched/core.c b/kernel/sched/core.c 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 --- a/kernel/sched/core.c
+++ b/kernel/sched/core.c +++ b/kernel/sched/core.c
@@ -8923,6 +8923,21 @@ static inline void preempt_dynamic_init(void) { } @@ -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. * yield - yield the current processor to other threads.
* *
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 4 Aug 2023 13:30:38 +0200 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 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 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 */ #endif /* _LINUX_BH_H */
diff --git a/kernel/softirq.c b/kernel/softirq.c diff --git a/kernel/softirq.c b/kernel/softirq.c
index c2474cc4fa51..cae0ae2e2b0b 100644 index ea6198bf64e0..2fde8af88e48 100644
--- a/kernel/softirq.c --- a/kernel/softirq.c
+++ b/kernel/softirq.c +++ b/kernel/softirq.c
@@ -247,6 +247,19 @@ void __local_bh_enable_ip(unsigned long ip, unsigned int cnt) @@ -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 * Invoked from ksoftirqd_run() outside of the interrupt disabled section
* to acquire the per CPU local lock for reentrancy protection. * to acquire the per CPU local lock for reentrancy protection.
-- --
2.45.1 2.45.2

View File

@ -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> From: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Date: Fri, 4 Aug 2023 13:30:39 +0200 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. The TIMER_SOFTIRQ handler invokes timer callbacks of the expired timers.
Before each invocation the timer_base::lock is dropped. The only lock 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); raw_spin_lock_irq(&base->lock);
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:19 +0206 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 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -41,10 +41,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 6 insertions(+), 6 deletions(-) 1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h 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 --- a/include/linux/serial_core.h
+++ b/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; u8 sysrq_ch;
if (!port->has_sysrq) { if (!port->has_sysrq) {
@ -61,7 +61,7 @@ index a7d5fa892be2..678409c47b88 100644
if (sysrq_ch) if (sysrq_ch)
handle_sysrq(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; u8 sysrq_ch;
if (!port->has_sysrq) { if (!port->has_sysrq) {
@ -78,7 +78,7 @@ index a7d5fa892be2..678409c47b88 100644
if (sysrq_ch) if (sysrq_ch)
handle_sysrq(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) 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 */ #endif /* CONFIG_MAGIC_SYSRQ_SERIAL */
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:20 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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) static const char *serial21285_type(struct uart_port *port)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:21 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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); lsr = serial_port_in(port, UART_LSR);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:22 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 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 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 --- a/drivers/tty/serial/8250/8250_bcm7271.c
+++ b/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) @@ -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); 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. * interrupt but there is no data ready.
*/ */
if (((iir & UART_IIR_ID) == UART_IIR_RX_TIMEOUT) && !(priv->shutdown)) { 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); status = serial_port_in(p, UART_LSR);
if ((status & UART_LSR_DR) == 0) { 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; handled = 1;
} }
@ -107,7 +107,7 @@ index aa5aff046756..ff0662c68725 100644
if (handled) if (handled)
return 1; 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) if (priv->shutdown)
return HRTIMER_NORESTART; return HRTIMER_NORESTART;
@ -116,7 +116,7 @@ index aa5aff046756..ff0662c68725 100644
status = serial_port_in(p, UART_LSR); 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; status |= UART_MCR_RTS;
serial_port_out(p, UART_MCR, status); serial_port_out(p, UART_MCR, status);
} }
@ -125,7 +125,7 @@ index aa5aff046756..ff0662c68725 100644
return HRTIMER_NORESTART; 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 * This will prevent resume from enabling RTS before the
* baud rate has been restored. * baud rate has been restored.
*/ */
@ -138,7 +138,7 @@ index aa5aff046756..ff0662c68725 100644
serial8250_suspend_port(priv->line); serial8250_suspend_port(priv->line);
clk_disable_unprepare(priv->baud_mux_clk); 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) { if (priv->saved_mctrl & TIOCM_RTS) {
/* Restore RTS */ /* Restore RTS */
@ -152,5 +152,5 @@ index aa5aff046756..ff0662c68725 100644
return 0; return 0;
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:23 +0206 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 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -468,5 +468,5 @@ index a17803da83f8..cba5a1b1030f 100644
static unsigned int probe_baud(struct uart_port *port) static unsigned int probe_baud(struct uart_port *port)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:24 +0206 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 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -81,5 +81,5 @@ index 7fa66501792d..8b30ca8fdd3f 100644
int serial8250_tx_dma(struct uart_8250_port *p) int serial8250_tx_dma(struct uart_8250_port *p)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:25 +0206 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 MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8 Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit Content-Transfer-Encoding: 8bit
@ -41,10 +41,10 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
1 file changed, 4 insertions(+), 4 deletions(-) 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 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 --- a/drivers/tty/serial/8250/8250_dw.c
+++ b/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. * so we limit the workaround only to non-DMA mode.
*/ */
if (!up->dma && rx_timeout) { if (!up->dma && rx_timeout) {
@ -70,5 +70,5 @@ index a1f2259cc9a9..53c284bb271d 100644
if (status & (UART_LSR_DR | UART_LSR_BI)) { if (status & (UART_LSR_DR | UART_LSR_BI)) {
dw8250_writel_ext(p, RZN1_UART_RDMACR, 0); dw8250_writel_ext(p, RZN1_UART_RDMACR, 0);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:26 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 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 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 --- a/drivers/tty/serial/8250/8250_exar.c
+++ b/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. * Synchronize UART_IER access against the console.
*/ */
@ -53,5 +53,5 @@ index 4d20f3aa280c..342786064590 100644
return serial8250_do_startup(port); return serial8250_do_startup(port);
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:27 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:28 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 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 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 --- a/drivers/tty/serial/8250/8250_mtk.c
+++ b/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) @@ -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) 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 * Ok, we're now changing the port state. Do it with
* interrupts disabled. * interrupts disabled.
*/ */
@ -68,7 +68,7 @@ index 74da5676ce67..23457daae8a1 100644
/* /*
* Update the per-port timeout. * 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)) if (uart_console(port))
up->port.cons->cflag = termios->c_cflag; up->port.cons->cflag = termios->c_cflag;
@ -78,5 +78,5 @@ index 74da5676ce67..23457daae8a1 100644
if (tty_termios_baud_rate(termios)) if (tty_termios_baud_rate(termios))
tty_termios_encode_baud_rate(termios, baud, baud); tty_termios_encode_baud_rate(termios, baud, baud);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:29 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 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 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 --- a/drivers/tty/serial/8250/8250_omap.c
+++ b/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. * interrupts disabled.
*/ */
pm_runtime_get_sync(port->dev); pm_runtime_get_sync(port->dev);
@ -49,7 +49,7 @@ index 346167afe9e1..db5519ce0192 100644
/* /*
* Update the per-port timeout. * 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); omap8250_restore_regs(up);
@ -58,7 +58,7 @@ index 346167afe9e1..db5519ce0192 100644
pm_runtime_mark_last_busy(port->dev); pm_runtime_mark_last_busy(port->dev);
pm_runtime_put_autosuspend(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); pm_runtime_get_sync(port->dev);
/* Synchronize UART_IER access against the console. */ /* 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); serial_out(up, UART_LCR, UART_LCR_CONF_MODE_B);
efr = serial_in(up, UART_EFR); 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_EFR, efr);
serial_out(up, UART_LCR, 0); serial_out(up, UART_LCR, 0);
@ -76,7 +76,7 @@ index 346167afe9e1..db5519ce0192 100644
pm_runtime_mark_last_busy(port->dev); pm_runtime_mark_last_busy(port->dev);
pm_runtime_put_autosuspend(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; unsigned long delay;
/* Synchronize UART_IER access against the console. */ /* Synchronize UART_IER access against the console. */
@ -85,7 +85,7 @@ index 346167afe9e1..db5519ce0192 100644
up->ier = port->serial_in(port, UART_IER); up->ier = port->serial_in(port, UART_IER);
if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) { if (up->ier & (UART_IER_RLSI | UART_IER_RDI)) {
port->ops->stop_rx(port); 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); cancel_delayed_work(&up->overrun_backoff);
} }
@ -94,7 +94,7 @@ index 346167afe9e1..db5519ce0192 100644
delay = msecs_to_jiffies(up->overrun_backoff_time_ms); delay = msecs_to_jiffies(up->overrun_backoff_time_ms);
schedule_delayed_work(&up->overrun_backoff, delay); 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. */ /* Synchronize UART_IER access against the console. */
@ -107,7 +107,7 @@ index 346167afe9e1..db5519ce0192 100644
#ifdef CONFIG_PM #ifdef CONFIG_PM
up->capabilities |= UART_CAP_RPM; 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); serial_out(up, UART_OMAP_WER, priv->wer);
if (up->dma && !(priv->habit & UART_HAS_EFR2)) { if (up->dma && !(priv->habit & UART_HAS_EFR2)) {
@ -119,7 +119,7 @@ index 346167afe9e1..db5519ce0192 100644
} }
enable_irq(up->port.irq); 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); serial_out(up, UART_OMAP_EFR2, 0x0);
/* Synchronize UART_IER access against the console. */ /* Synchronize UART_IER access against the console. */
@ -132,7 +132,7 @@ index 346167afe9e1..db5519ce0192 100644
disable_irq_nosync(up->port.irq); disable_irq_nosync(up->port.irq);
dev_pm_clear_wake_irq(port->dev); 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); pm_runtime_get_sync(port->dev);
@ -145,7 +145,7 @@ index 346167afe9e1..db5519ce0192 100644
pm_runtime_mark_last_busy(port->dev); pm_runtime_mark_last_busy(port->dev);
pm_runtime_put_autosuspend(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); pm_runtime_get_sync(port->dev);
/* Synchronize UART_IER access against the console. */ /* Synchronize UART_IER access against the console. */
@ -162,7 +162,7 @@ index 346167afe9e1..db5519ce0192 100644
pm_runtime_mark_last_busy(port->dev); pm_runtime_mark_last_busy(port->dev);
pm_runtime_put_autosuspend(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; unsigned long flags;
/* Synchronize UART_IER access against the console. */ /* 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 * 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) != if (dmaengine_tx_status(dma->rxchan, dma->rx_cookie, &state) !=
DMA_COMPLETE) { DMA_COMPLETE) {
@ -180,7 +180,7 @@ index 346167afe9e1..db5519ce0192 100644
return; return;
} }
__dma_rx_do_complete(p); __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); 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) 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, dma_sync_single_for_cpu(dma->txchan->device->dev, dma->tx_addr,
UART_XMIT_SIZE, DMA_TO_DEVICE); UART_XMIT_SIZE, DMA_TO_DEVICE);
@ -198,7 +198,7 @@ index 346167afe9e1..db5519ce0192 100644
dma->tx_running = 0; 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); serial8250_set_THRI(p);
} }
@ -207,7 +207,7 @@ index 346167afe9e1..db5519ce0192 100644
} }
static int omap_8250_tx_dma(struct uart_8250_port *p) 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; return IRQ_HANDLED;
} }
@ -216,7 +216,7 @@ index 346167afe9e1..db5519ce0192 100644
status = serial_port_in(port, UART_LSR); 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); up = serial8250_get_port(priv->line);
if (up && omap8250_lost_context(up)) { if (up && omap8250_lost_context(up)) {
@ -237,5 +237,5 @@ index 346167afe9e1..db5519ce0192 100644
priv->latency = priv->calc_latency; priv->latency = priv->calc_latency;
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:30 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -67,5 +67,5 @@ index a3b25779d921..53e238c8cc89 100644
mutex_unlock(&tport->mutex); mutex_unlock(&tport->mutex);
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:31 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -134,5 +134,5 @@ index 5fab4c978891..7090b251dd4d 100644
#endif #endif
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:32 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -117,5 +117,5 @@ index a9c41942190c..77835ac68df2 100644
if (port->irq) if (port->irq)
free_irq(port->irq, port); free_irq(port->irq, port);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:33 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:34 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -328,5 +328,5 @@ index 362bbcdece0d..16c770311069 100644
clk_disable(uap->clk); clk_disable(uap->clk);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:35 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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) static const char *apbuart_type(struct uart_port *port)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:36 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -145,5 +145,5 @@ index 924c1a89347c..ffd234673177 100644
local_irq_restore(flags); local_irq_restore(flags);
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:37 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -98,5 +98,5 @@ index ad4ae19b6ce3..1aa5b2b49c26 100644
static struct console arc_console = { static struct console arc_console = {
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:38 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:39 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/drivers/tty/serial/bcm63xx_uart.c b/drivers/tty/serial/bcm63xx_uart.c 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 --- a/drivers/tty/serial/bcm63xx_uart.c
+++ b/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) @@ -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; unsigned int irqstat;
port = dev_id; port = dev_id;
@ -68,7 +68,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
irqstat = bcm_uart_readl(port, UART_IR_REG); irqstat = bcm_uart_readl(port, UART_IR_REG);
if (irqstat & UART_RX_INT_STAT) 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); estat & UART_EXTINP_DCD_MASK);
} }
@ -77,7 +77,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
return IRQ_HANDLED; 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; unsigned long flags;
@ -89,7 +89,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
bcm_uart_disable(port); bcm_uart_disable(port);
bcm_uart_flush(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; unsigned long flags;
int tries; int tries;
@ -98,7 +98,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
/* Drain the hot tub fully before we power it off for the winter. */ /* Drain the hot tub fully before we power it off for the winter. */
for (tries = 3; !bcm_uart_tx_empty(port) && tries; tries--) 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); uart_update_timeout(port, new->c_cflag, baud);
bcm_uart_enable(port); 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 */ /* bcm_uart_interrupt() already took the lock */
locked = 0; locked = 0;
} else if (oops_in_progress) { } else if (oops_in_progress) {
@ -119,7 +119,7 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
locked = 1; 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); wait_for_xmitr(port);
if (locked) if (locked)
@ -129,5 +129,5 @@ index 0dd8cceb837c..4a08fd5ee61b 100644
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:40 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:41 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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 */ /* Wait for transmitter to become empty */
do { do {
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:42 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -162,5 +162,5 @@ index 667f52e83277..6df7af9edc1c 100644
do { do {
trdy = dz_in(dport, DZ_CSR); trdy = dz_in(dport, DZ_CSR);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:43 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:44 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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); dmaengine_terminate_sync(sport->dma_tx_chan);
} }
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:45 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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) static const char *icom_type(struct uart_port *port)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:46 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 1 file changed, 42 insertions(+), 42 deletions(-)
diff --git a/drivers/tty/serial/imx.c b/drivers/tty/serial/imx.c 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 --- a/drivers/tty/serial/imx.c
+++ b/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; unsigned long flags;
u32 ucr1; u32 ucr1;
@ -49,7 +49,7 @@ index c77831e91ec2..66420a992539 100644
dma_unmap_sg(sport->port.dev, sgl, sport->dma_tx_nents, DMA_TO_DEVICE); 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); imx_uart_writel(sport, ucr4, UCR4);
} }
@ -58,7 +58,7 @@ index c77831e91ec2..66420a992539 100644
} }
/* called with port.lock taken and irqs off */ /* 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; struct imx_port *sport = dev_id;
irqreturn_t ret; irqreturn_t ret;
@ -72,7 +72,7 @@ index c77831e91ec2..66420a992539 100644
return ret; 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; struct imx_port *sport = dev_id;
@ -84,7 +84,7 @@ index c77831e91ec2..66420a992539 100644
return IRQ_HANDLED; 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; struct imx_port *sport = dev_id;
irqreturn_t ret; irqreturn_t ret;
@ -98,7 +98,7 @@ index c77831e91ec2..66420a992539 100644
return ret; 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; unsigned int usr1, usr2, ucr1, ucr2, ucr3, ucr4;
irqreturn_t ret = IRQ_NONE; irqreturn_t ret = IRQ_NONE;
@ -107,7 +107,7 @@ index c77831e91ec2..66420a992539 100644
usr1 = imx_uart_readl(sport, USR1); usr1 = imx_uart_readl(sport, USR1);
usr2 = imx_uart_readl(sport, USR2); 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; ret = IRQ_HANDLED;
} }
@ -116,7 +116,7 @@ index c77831e91ec2..66420a992539 100644
return ret; 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; unsigned long flags;
u32 ucr1; u32 ucr1;
@ -125,7 +125,7 @@ index c77831e91ec2..66420a992539 100644
ucr1 = imx_uart_readl(sport, UCR1) & ~UCR1_SNDBRK; 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); 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; unsigned long flags;
if (sport->port.state) { if (sport->port.state) {
@ -146,7 +146,7 @@ index c77831e91ec2..66420a992539 100644
mod_timer(&sport->timer, jiffies + MCTRL_TIMEOUT); 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); status = dmaengine_tx_status(chan, sport->rx_cookie, &state);
if (status == DMA_ERROR) { if (status == DMA_ERROR) {
@ -158,7 +158,7 @@ index c77831e91ec2..66420a992539 100644
return; 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; r_bytes = rx_ring->head - rx_ring->tail;
/* If we received something, check for 0xff flood */ /* 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)) { 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) if (!uart_console(port) && imx_uart_dma_init(sport) == 0)
dma_is_inited = 1; dma_is_inited = 1;
@ -179,7 +179,7 @@ index c77831e91ec2..66420a992539 100644
/* Reset fifo's and state machines */ /* Reset fifo's and state machines */
imx_uart_soft_reset(sport); 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); imx_uart_disable_loopback_rs485(sport);
@ -188,7 +188,7 @@ index c77831e91ec2..66420a992539 100644
return 0; 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; sport->dma_is_rxing = 0;
} }
@ -214,7 +214,7 @@ index c77831e91ec2..66420a992539 100644
/* /*
* Stop our timer. * 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. * Disable all interrupts, port and break condition.
*/ */
@ -223,7 +223,7 @@ index c77831e91ec2..66420a992539 100644
ucr1 = imx_uart_readl(sport, UCR1); ucr1 = imx_uart_readl(sport, UCR1);
ucr1 &= ~(UCR1_TRDYEN | UCR1_RRDYEN | UCR1_RTSDEN | UCR1_RXDMAEN | 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; ucr4 &= ~UCR4_TCEN;
imx_uart_writel(sport, ucr4, UCR4); 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_per);
clk_disable_unprepare(sport->clk_ipg); 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); baud = uart_get_baud_rate(port, termios, old, 50, port->uartclk / 16);
quot = uart_get_divisor(port, baud); 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 * 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)) if (UART_ENABLE_MS(&sport->port, termios->c_cflag))
imx_uart_enable_ms(&sport->port); imx_uart_enable_ms(&sport->port);
@ -250,7 +250,7 @@ index c77831e91ec2..66420a992539 100644
} }
static const char *imx_uart_type(struct uart_port *port) 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); 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 * 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, ucr1 | UCR1_RRDYEN, UCR1);
imx_uart_writel(sport, ucr2 | UCR2_ATEN, UCR2); imx_uart_writel(sport, ucr2 | UCR2_ATEN, UCR2);
@ -268,7 +268,7 @@ index c77831e91ec2..66420a992539 100644
return 0; 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) if (sport->port.sysrq)
locked = 0; locked = 0;
else if (oops_in_progress) else if (oops_in_progress)
@ -280,7 +280,7 @@ index c77831e91ec2..66420a992539 100644
/* /*
* First, save UCR1/2/3 and then disable interrupts * 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); imx_uart_ucrs_restore(sport, &old_ucr);
if (locked) 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); struct imx_port *sport = container_of(t, struct imx_port, trigger_start_tx);
unsigned long flags; unsigned long flags;
@ -302,7 +302,7 @@ index c77831e91ec2..66420a992539 100644
return HRTIMER_NORESTART; 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); struct imx_port *sport = container_of(t, struct imx_port, trigger_stop_tx);
unsigned long flags; unsigned long flags;
@ -315,7 +315,7 @@ index c77831e91ec2..66420a992539 100644
return HRTIMER_NORESTART; 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; unsigned long flags;
@ -327,7 +327,7 @@ index c77831e91ec2..66420a992539 100644
return; 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[2], UCR3);
imx_uart_writel(sport, sport->saved_reg[3], UCR4); imx_uart_writel(sport, sport->saved_reg[3], UCR4);
sport->context_saved = false; sport->context_saved = false;
@ -336,7 +336,7 @@ index c77831e91ec2..66420a992539 100644
} }
static void imx_uart_save_context(struct imx_port *sport) 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; unsigned long flags;
/* Save necessary regs */ /* Save necessary regs */
@ -345,7 +345,7 @@ index c77831e91ec2..66420a992539 100644
sport->saved_reg[0] = imx_uart_readl(sport, UCR1); sport->saved_reg[0] = imx_uart_readl(sport, UCR1);
sport->saved_reg[1] = imx_uart_readl(sport, UCR2); sport->saved_reg[1] = imx_uart_readl(sport, UCR2);
sport->saved_reg[2] = imx_uart_readl(sport, UCR3); 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[8] = imx_uart_readl(sport, UBMR);
sport->saved_reg[9] = imx_uart_readl(sport, IMX21_UTS); sport->saved_reg[9] = imx_uart_readl(sport, IMX21_UTS);
sport->context_saved = true; sport->context_saved = true;
@ -355,5 +355,5 @@ index c77831e91ec2..66420a992539 100644
static void imx_uart_enable_wakeup(struct imx_port *sport, bool on) static void imx_uart_enable_wakeup(struct imx_port *sport, bool on)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:47 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -186,5 +186,5 @@ index 845ff706bc59..320b29cd4683 100644
if (options) if (options)
uart_parse_options(options, &baud, &parity, &bits, &flow); uart_parse_options(options, &baud, &parity, &bits, &flow);
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:48 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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) static const char *jsm_tty_type(struct uart_port *port)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:49 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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) static int liteuart_console_setup(struct console *co, char *options)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:50 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, modifications to the UART registers which are done from other contexts,
@ -149,5 +149,5 @@ index b38fe4728c26..5149a947b7fe 100644
/* Don't rewrite B0 */ /* Don't rewrite B0 */
if (tty_termios_baud_rate(termios)) if (tty_termios_baud_rate(termios))
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:51 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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) static int __init ma35d1serial_console_setup(struct console *co, char *options)
-- --
2.45.1 2.45.2

View File

@ -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> From: Thomas Gleixner <tglx@linutronix.de>
Date: Thu, 14 Sep 2023 20:43:52 +0206 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 When a serial port is used for kernel console output, then all
modifications to the UART registers which are done from other contexts, 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(-) 1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/drivers/tty/serial/mcf.c b/drivers/tty/serial/mcf.c 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 --- a/drivers/tty/serial/mcf.c
+++ b/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) @@ -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; return ret;
} }
-- --
2.45.1 2.45.2

Some files were not shown because too many files have changed in this diff Show More