kernel: bump 6.12 to 6.12.92
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.92 Remove upstreamed patches: - generic/backport-6.12/216-01-revert-perf-cgroup-update-metric-leader-in-evlist__e.patch[1] - generic/backport-6.12/216-02-revert-perf-tool_pmu-fix-aggregation-on-duration_tim.patch[2] - generic/backport-6.12/216-03-revert-perf-python-add-parse_events-function.patch[3] - generic/backport-6.12/216-04-revert-perf-tool_pmu-factor-tool-events-into-their-o.patch[4] - ath79/patches-6.12/301-irqchip-irq-ath79-cpu-drop-OF-init-helper.patch[5] All other patches are automatically refreshed. [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=546fc0fe44797e07dfb17898e019e0b543628f53 [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=9fdca4c4d7eb942e83c81ef0e097303730ef72a6 [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=94fc25a1f82aeaf7777478234ad38d90adb9d94f [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=709575a6ab20da63b2183ec4ac89a8e284ddbc1d [5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.92&id=c6211c8832d542d93f4e030e6e6f79c45b219e13 Signed-off-by: Shiji Yang <yangshiji66@outlook.com> Link: https://github.com/openwrt/openwrt/pull/23621 Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
This commit is contained in:
parent
94f3f9a845
commit
d0520b880d
@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni <pabeni@redhat.com>
|
||||
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -2588,6 +2588,11 @@ mt7531_setup_common(struct dsa_switch *d
|
||||
@@ -2599,6 +2599,11 @@ mt7531_setup_common(struct dsa_switch *d
|
||||
/* Allow mirroring frames received on the local port (monitor port). */
|
||||
mt7530_set(priv, MT753X_AGC, LOCAL_EN);
|
||||
|
||||
|
||||
@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
{ /* sentinel */ },
|
||||
--- a/drivers/net/dsa/mt7530.c
|
||||
+++ b/drivers/net/dsa/mt7530.c
|
||||
@@ -1153,7 +1153,7 @@ mt753x_cpu_port_enable(struct dsa_switch
|
||||
@@ -1160,7 +1160,7 @@ mt753x_cpu_port_enable(struct dsa_switch
|
||||
* is affine to the inbound user port.
|
||||
*/
|
||||
if (priv->id == ID_MT7531 || priv->id == ID_MT7988 ||
|
||||
@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
mt7530_set(priv, MT7531_CFC, MT7531_CPU_PMAP(BIT(port)));
|
||||
|
||||
/* CPU port gets connected to all user ports of
|
||||
@@ -2589,7 +2589,7 @@ mt7531_setup_common(struct dsa_switch *d
|
||||
@@ -2600,7 +2600,7 @@ mt7531_setup_common(struct dsa_switch *d
|
||||
mt7530_set(priv, MT753X_AGC, LOCAL_EN);
|
||||
|
||||
/* Enable Special Tag for rx frames */
|
||||
@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
mt7530_write(priv, MT753X_CPORT_SPTAG_CFG,
|
||||
CPORT_SW2FE_STAG_EN | CPORT_FE2SW_STAG_EN);
|
||||
|
||||
@@ -3157,6 +3157,16 @@ static int mt7988_setup(struct dsa_switc
|
||||
@@ -3168,6 +3168,16 @@ static int mt7988_setup(struct dsa_switc
|
||||
reset_control_deassert(priv->rstc);
|
||||
usleep_range(20, 50);
|
||||
|
||||
@ -66,7 +66,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
/* Reset the switch PHYs */
|
||||
mt7530_write(priv, MT7530_SYS_CTRL, SYS_CTRL_PHY_RST);
|
||||
|
||||
@@ -3253,6 +3263,16 @@ const struct mt753x_info mt753x_table[]
|
||||
@@ -3264,6 +3274,16 @@ const struct mt753x_info mt753x_table[]
|
||||
.pcs_ops = &mt7530_pcs_ops,
|
||||
.sw_setup = mt7988_setup,
|
||||
.phy_read_c22 = mt7531_ind_c22_phy_read,
|
||||
|
||||
@ -1,23 +0,0 @@
|
||||
From e029f998594f151008ecbfa024e2957edd2a5189 Mon Sep 17 00:00:00 2001
|
||||
From: John Crispin <john@phrozen.org>
|
||||
Date: Tue, 6 Mar 2018 09:58:19 +0100
|
||||
Subject: [PATCH 08/33] irqchip/irq-ath79-cpu: drop !OF init helper
|
||||
|
||||
Signed-off-by: John Crispin <john@phrozen.org>
|
||||
---
|
||||
drivers/irqchip/irq-ath79-cpu.c | 7 -------
|
||||
1 file changed, 7 deletions(-)
|
||||
|
||||
--- a/drivers/irqchip/irq-ath79-cpu.c
|
||||
+++ b/drivers/irqchip/irq-ath79-cpu.c
|
||||
@@ -85,10 +85,3 @@ static int __init ar79_cpu_intc_of_init(
|
||||
}
|
||||
IRQCHIP_DECLARE(ar79_cpu_intc, "qca,ar7100-cpu-intc",
|
||||
ar79_cpu_intc_of_init);
|
||||
-
|
||||
-void __init ath79_cpu_irq_init(unsigned irq_wb_chan2, unsigned irq_wb_chan3)
|
||||
-{
|
||||
- irq_wb_chan[2] = irq_wb_chan2;
|
||||
- irq_wb_chan[3] = irq_wb_chan3;
|
||||
- mips_cpu_irq_init();
|
||||
-}
|
||||
@ -312,7 +312,7 @@ SVN-Revision: 35130
|
||||
case IPV6_2292HOPOPTS:
|
||||
--- a/net/ipv6/exthdrs.c
|
||||
+++ b/net/ipv6/exthdrs.c
|
||||
@@ -993,7 +993,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
@@ -1004,7 +1004,7 @@ static bool ipv6_hop_jumbo(struct sk_buf
|
||||
goto drop;
|
||||
}
|
||||
|
||||
|
||||
@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
--- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
+++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c
|
||||
@@ -2675,7 +2675,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
@@ -2674,7 +2674,7 @@ static void bcmgenet_init_tx_ring(struct
|
||||
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_PROD_INDEX);
|
||||
bcmgenet_tdma_ring_writel(priv, index, 0, TDMA_CONS_INDEX);
|
||||
@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
/* Disable rate control for now */
|
||||
bcmgenet_tdma_ring_writel(priv, index, flow_period_val,
|
||||
TDMA_FLOW_PERIOD);
|
||||
@@ -4074,8 +4074,10 @@ static int bcmgenet_probe(struct platfor
|
||||
@@ -4073,8 +4073,10 @@ static int bcmgenet_probe(struct platfor
|
||||
netif_set_real_num_rx_queues(priv->dev, priv->hw_params->rx_queues + 1);
|
||||
|
||||
/* Set default coalescing parameters */
|
||||
|
||||
@ -37,7 +37,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.org>
|
||||
|
||||
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
|
||||
{
|
||||
@@ -2513,6 +2516,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
@@ -2512,6 +2515,11 @@ static void reset_umac(struct bcmgenet_p
|
||||
bcmgenet_rbuf_ctrl_set(priv, 0);
|
||||
udelay(10);
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
||||
|
||||
static inline void bcmgenet_writel(u32 value, void __iomem *offset)
|
||||
{
|
||||
@@ -3360,6 +3363,17 @@ static int bcmgenet_open(struct net_devi
|
||||
@@ -3359,6 +3362,17 @@ static int bcmgenet_open(struct net_devi
|
||||
|
||||
bcmgenet_phy_pause_set(dev, priv->rx_pause, priv->tx_pause);
|
||||
|
||||
|
||||
@ -1,74 +0,0 @@
|
||||
From 5c9ceee75a90cd5db0d38d9dbfde6659194a9b5b Mon Sep 17 00:00:00 2001
|
||||
From: Sasha Levin <sashal@kernel.org>
|
||||
Date: Sun, 24 May 2026 10:29:50 -0400
|
||||
Subject: Revert "perf cgroup: Update metric leader in evlist__expand_cgroup"
|
||||
|
||||
This reverts commit d26e31446c0fa96feca0b7701243b42447225d33.
|
||||
|
||||
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
||||
---
|
||||
tools/perf/util/cgroup.c | 30 +++++++-----------------------
|
||||
1 file changed, 7 insertions(+), 23 deletions(-)
|
||||
|
||||
--- a/tools/perf/util/cgroup.c
|
||||
+++ b/tools/perf/util/cgroup.c
|
||||
@@ -417,6 +417,7 @@ int evlist__expand_cgroup(struct evlist
|
||||
struct rblist *metric_events, bool open_cgroup)
|
||||
{
|
||||
struct evlist *orig_list, *tmp_list;
|
||||
+ struct evsel *pos, *evsel, *leader;
|
||||
struct rblist orig_metric_events;
|
||||
struct cgroup *cgrp = NULL;
|
||||
struct cgroup_name *cn;
|
||||
@@ -455,7 +456,6 @@ int evlist__expand_cgroup(struct evlist
|
||||
goto out_err;
|
||||
|
||||
list_for_each_entry(cn, &cgroup_list, list) {
|
||||
- struct evsel *pos;
|
||||
char *name;
|
||||
|
||||
if (!cn->used)
|
||||
@@ -471,37 +471,21 @@ int evlist__expand_cgroup(struct evlist
|
||||
if (cgrp == NULL)
|
||||
continue;
|
||||
|
||||
- /* copy the list and set to the new cgroup. */
|
||||
+ leader = NULL;
|
||||
evlist__for_each_entry(orig_list, pos) {
|
||||
- struct evsel *evsel = evsel__clone(/*dest=*/NULL, pos);
|
||||
-
|
||||
+ evsel = evsel__clone(/*dest=*/NULL, pos);
|
||||
if (evsel == NULL)
|
||||
goto out_err;
|
||||
|
||||
- /* stash the copy during the copying. */
|
||||
- pos->priv = evsel;
|
||||
cgroup__put(evsel->cgrp);
|
||||
evsel->cgrp = cgroup__get(cgrp);
|
||||
|
||||
- evlist__add(tmp_list, evsel);
|
||||
- }
|
||||
- /* update leader information using stashed pointer to copy. */
|
||||
- evlist__for_each_entry(orig_list, pos) {
|
||||
- struct evsel *evsel = pos->priv;
|
||||
-
|
||||
- if (evsel__leader(pos))
|
||||
- evsel__set_leader(evsel, evsel__leader(pos)->priv);
|
||||
-
|
||||
- if (pos->metric_leader)
|
||||
- evsel->metric_leader = pos->metric_leader->priv;
|
||||
+ if (evsel__is_group_leader(pos))
|
||||
+ leader = evsel;
|
||||
+ evsel__set_leader(evsel, leader);
|
||||
|
||||
- if (pos->first_wildcard_match)
|
||||
- evsel->first_wildcard_match = pos->first_wildcard_match->priv;
|
||||
+ evlist__add(tmp_list, evsel);
|
||||
}
|
||||
- /* the stashed copy is no longer used. */
|
||||
- evlist__for_each_entry(orig_list, pos)
|
||||
- pos->priv = NULL;
|
||||
-
|
||||
/* cgroup__new() has a refcount, release it here */
|
||||
cgroup__put(cgrp);
|
||||
nr_cgroups++;
|
||||
@ -1,30 +0,0 @@
|
||||
From f126428e706b7c6eb9aa1c79ced284b195d4e392 Mon Sep 17 00:00:00 2001
|
||||
From: Sasha Levin <sashal@kernel.org>
|
||||
Date: Sun, 24 May 2026 10:36:48 -0400
|
||||
Subject: Revert "perf tool_pmu: Fix aggregation on duration_time"
|
||||
|
||||
This reverts commit 310be445ab1028315627b326516f193511cb1c97.
|
||||
|
||||
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
||||
---
|
||||
tools/perf/util/tool_pmu.c | 8 +-------
|
||||
1 file changed, 1 insertion(+), 7 deletions(-)
|
||||
|
||||
--- a/tools/perf/util/tool_pmu.c
|
||||
+++ b/tools/perf/util/tool_pmu.c
|
||||
@@ -392,14 +392,8 @@ int evsel__read_tool(struct evsel *evsel
|
||||
delta_start *= 1000000000 / ticks_per_sec;
|
||||
}
|
||||
count->val = delta_start;
|
||||
+ count->ena = count->run = delta_start;
|
||||
count->lost = 0;
|
||||
- /*
|
||||
- * The values of enabled and running must make a ratio of 100%. The
|
||||
- * exact values don't matter as long as they are non-zero to avoid
|
||||
- * issues with evsel__count_has_error.
|
||||
- */
|
||||
- count->ena++;
|
||||
- count->run++;
|
||||
return 0;
|
||||
}
|
||||
|
||||
@ -1,163 +0,0 @@
|
||||
From 8a11c59a5aab9423777ee1ead5e66174896c7adb Mon Sep 17 00:00:00 2001
|
||||
From: Sasha Levin <sashal@kernel.org>
|
||||
Date: Sun, 24 May 2026 10:36:48 -0400
|
||||
Subject: Revert "perf python: Add parse_events function"
|
||||
|
||||
This reverts commit 9cd264079fab9867dbc9fbc8a1e521996e3d7212.
|
||||
|
||||
Signed-off-by: Sasha Levin <sashal@kernel.org>
|
||||
---
|
||||
tools/perf/util/cgroup.c | 2 +-
|
||||
tools/perf/util/evsel.c | 19 +++++--------
|
||||
tools/perf/util/evsel.h | 2 +-
|
||||
tools/perf/util/python.c | 61 ----------------------------------------
|
||||
4 files changed, 9 insertions(+), 75 deletions(-)
|
||||
|
||||
--- a/tools/perf/util/cgroup.c
|
||||
+++ b/tools/perf/util/cgroup.c
|
||||
@@ -473,7 +473,7 @@ int evlist__expand_cgroup(struct evlist
|
||||
|
||||
leader = NULL;
|
||||
evlist__for_each_entry(orig_list, pos) {
|
||||
- evsel = evsel__clone(/*dest=*/NULL, pos);
|
||||
+ evsel = evsel__clone(pos);
|
||||
if (evsel == NULL)
|
||||
goto out_err;
|
||||
|
||||
--- a/tools/perf/util/evsel.c
|
||||
+++ b/tools/perf/util/evsel.c
|
||||
@@ -332,7 +332,7 @@ static int evsel__copy_config_terms(stru
|
||||
* The assumption is that @orig is not configured nor opened yet.
|
||||
* So we only care about the attributes that can be set while it's parsed.
|
||||
*/
|
||||
-struct evsel *evsel__clone(struct evsel *dest, struct evsel *orig)
|
||||
+struct evsel *evsel__clone(struct evsel *orig)
|
||||
{
|
||||
struct evsel *evsel;
|
||||
|
||||
@@ -345,11 +345,7 @@ struct evsel *evsel__clone(struct evsel
|
||||
if (orig->bpf_obj)
|
||||
return NULL;
|
||||
|
||||
- if (dest)
|
||||
- evsel = dest;
|
||||
- else
|
||||
- evsel = evsel__new(&orig->core.attr);
|
||||
-
|
||||
+ evsel = evsel__new(&orig->core.attr);
|
||||
if (evsel == NULL)
|
||||
return NULL;
|
||||
|
||||
@@ -399,12 +395,11 @@ struct evsel *evsel__clone(struct evsel
|
||||
evsel->core.leader = orig->core.leader;
|
||||
|
||||
evsel->max_events = orig->max_events;
|
||||
- zfree(&evsel->unit);
|
||||
- if (orig->unit) {
|
||||
- evsel->unit = strdup(orig->unit);
|
||||
- if (evsel->unit == NULL)
|
||||
- goto out_err;
|
||||
- }
|
||||
+ free((char *)evsel->unit);
|
||||
+ evsel->unit = strdup(orig->unit);
|
||||
+ if (evsel->unit == NULL)
|
||||
+ goto out_err;
|
||||
+
|
||||
evsel->scale = orig->scale;
|
||||
evsel->snapshot = orig->snapshot;
|
||||
evsel->per_pkg = orig->per_pkg;
|
||||
--- a/tools/perf/util/evsel.h
|
||||
+++ b/tools/perf/util/evsel.h
|
||||
@@ -241,7 +241,7 @@ static inline struct evsel *evsel__new(s
|
||||
return evsel__new_idx(attr, 0);
|
||||
}
|
||||
|
||||
-struct evsel *evsel__clone(struct evsel *dest, struct evsel *orig);
|
||||
+struct evsel *evsel__clone(struct evsel *orig);
|
||||
|
||||
int copy_config_terms(struct list_head *dst, struct list_head *src);
|
||||
void free_config_terms(struct list_head *config_terms);
|
||||
--- a/tools/perf/util/python.c
|
||||
+++ b/tools/perf/util/python.c
|
||||
@@ -13,7 +13,6 @@
|
||||
#include "evsel.h"
|
||||
#include "event.h"
|
||||
#include "print_binary.h"
|
||||
-#include "strbuf.h"
|
||||
#include "thread_map.h"
|
||||
#include "trace-event.h"
|
||||
#include "mmap.h"
|
||||
@@ -1248,60 +1247,6 @@ static PyObject *pyrf__tracepoint(struct
|
||||
#endif // HAVE_LIBTRACEEVENT
|
||||
}
|
||||
|
||||
-static PyObject *pyrf_evsel__from_evsel(struct evsel *evsel)
|
||||
-{
|
||||
- struct pyrf_evsel *pevsel = PyObject_New(struct pyrf_evsel, &pyrf_evsel__type);
|
||||
-
|
||||
- if (!pevsel)
|
||||
- return NULL;
|
||||
-
|
||||
- memset(&pevsel->evsel, 0, sizeof(pevsel->evsel));
|
||||
- evsel__init(&pevsel->evsel, &evsel->core.attr, evsel->core.idx);
|
||||
-
|
||||
- evsel__clone(&pevsel->evsel, evsel);
|
||||
- return (PyObject *)pevsel;
|
||||
-}
|
||||
-
|
||||
-static PyObject *pyrf_evlist__from_evlist(struct evlist *evlist)
|
||||
-{
|
||||
- struct pyrf_evlist *pevlist = PyObject_New(struct pyrf_evlist, &pyrf_evlist__type);
|
||||
- struct evsel *pos;
|
||||
-
|
||||
- if (!pevlist)
|
||||
- return NULL;
|
||||
-
|
||||
- memset(&pevlist->evlist, 0, sizeof(pevlist->evlist));
|
||||
- evlist__init(&pevlist->evlist, evlist->core.all_cpus, evlist->core.threads);
|
||||
- evlist__for_each_entry(evlist, pos) {
|
||||
- struct pyrf_evsel *pevsel = (void *)pyrf_evsel__from_evsel(pos);
|
||||
-
|
||||
- evlist__add(&pevlist->evlist, &pevsel->evsel);
|
||||
- }
|
||||
- return (PyObject *)pevlist;
|
||||
-}
|
||||
-
|
||||
-static PyObject *pyrf__parse_events(PyObject *self, PyObject *args)
|
||||
-{
|
||||
- const char *input;
|
||||
- struct evlist evlist = {};
|
||||
- struct parse_events_error err;
|
||||
- PyObject *result;
|
||||
-
|
||||
- if (!PyArg_ParseTuple(args, "s", &input))
|
||||
- return NULL;
|
||||
-
|
||||
- parse_events_error__init(&err);
|
||||
- evlist__init(&evlist, NULL, NULL);
|
||||
- if (parse_events(&evlist, input, &err)) {
|
||||
- parse_events_error__print(&err, input);
|
||||
- PyErr_SetFromErrno(PyExc_OSError);
|
||||
- return NULL;
|
||||
- }
|
||||
- result = pyrf_evlist__from_evlist(&evlist);
|
||||
- evlist__exit(&evlist);
|
||||
- return result;
|
||||
-}
|
||||
-
|
||||
static PyMethodDef perf__methods[] = {
|
||||
{
|
||||
.ml_name = "tracepoint",
|
||||
@@ -1309,12 +1254,6 @@ static PyMethodDef perf__methods[] = {
|
||||
.ml_flags = METH_VARARGS | METH_KEYWORDS,
|
||||
.ml_doc = PyDoc_STR("Get tracepoint config.")
|
||||
},
|
||||
- {
|
||||
- .ml_name = "parse_events",
|
||||
- .ml_meth = (PyCFunction) pyrf__parse_events,
|
||||
- .ml_flags = METH_VARARGS,
|
||||
- .ml_doc = PyDoc_STR("Parse a string of events and return an evlist.")
|
||||
- },
|
||||
{ .ml_name = NULL, }
|
||||
};
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@ -304,7 +304,7 @@ Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
||||
{ }
|
||||
--- a/drivers/net/phy/dp83tc811.c
|
||||
+++ b/drivers/net/phy/dp83tc811.c
|
||||
@@ -403,7 +403,7 @@ static struct phy_driver dp83811_driver[
|
||||
@@ -404,7 +404,7 @@ static struct phy_driver dp83811_driver[
|
||||
};
|
||||
module_phy_driver(dp83811_driver);
|
||||
|
||||
|
||||
@ -1,2 +1,2 @@
|
||||
LINUX_VERSION-6.12 = .91
|
||||
LINUX_KERNEL_HASH-6.12.91 = 0ff2ab9e169f9f1948557471fbb450d3018f8c5b77caf288e1a3982582597969
|
||||
LINUX_VERSION-6.12 = .92
|
||||
LINUX_KERNEL_HASH-6.12.92 = 0fe376b7db3cac4456b38291bee4faa7091cb8befaa6f9870314f5d1282f9e3e
|
||||
|
||||
@ -132,7 +132,7 @@ Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
||||
|
||||
/*
|
||||
* Define if arch has non-standard setup. This is a _PCI_ standard
|
||||
@@ -937,6 +940,10 @@ struct ata_port {
|
||||
@@ -938,6 +941,10 @@ struct ata_port {
|
||||
#ifdef CONFIG_ATA_ACPI
|
||||
struct ata_acpi_gtm __acpi_init_gtm; /* use ata_acpi_init_gtm() */
|
||||
#endif
|
||||
|
||||
Loading…
Reference in New Issue
Block a user