[openwrt/openwrt] kernel: bump 6.6 to 6.6.85
LEDE Commits
lede-commits at lists.infradead.org
Mon Mar 31 14:31:57 PDT 2025
hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/2e71e41ce66077515a8c4f5be82c75aeeead659d
commit 2e71e41ce66077515a8c4f5be82c75aeeead659d
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Sun Mar 30 08:40:06 2025 -0400
kernel: bump 6.6 to 6.6.85
Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.85
Removed upstreamed:
bcm27xx/patches-6.6/950-1498-dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch[1]
bcm27xx/patches-6.6/950-1551-drm-v3d-Don-t-run-jobs-that-have-errors-flagged-in-i.patch[2]
Manually rebased:
bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch
All other patches automatically rebased.
1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.85&id=61820187b3ef5a15aed7ef49ed1fcc13398b449c
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.85&id=7cd375d46afcce906cfcddf5aec6b318199d1f16
Build system: x86/64
Build-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Run-tested: flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64
Signed-off-by: John Audia <therealgraysky at proton.me>
Link: https://github.com/openwrt/openwrt/pull/18379
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
include/kernel-6.6 | 4 +-
...-debugfs-end-points-to-query-GPU-usage-st.patch | 10 ++--
...v3d-fix-up-register-addresses-for-V3D-7.x.patch | 12 ++---
...dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch | 60 ---------------------
...cm2711-Don-t-mark-timer-regs-unconfigured.patch | 11 ----
...-t-run-jobs-that-have-errors-flagged-in-i.patch | 61 ----------------------
...jecting-with-source-address-failed-policy.patch | 18 +++----
7 files changed, 22 insertions(+), 154 deletions(-)
diff --git a/include/kernel-6.6 b/include/kernel-6.6
index 250365a50f..2b70664440 100644
--- a/include/kernel-6.6
+++ b/include/kernel-6.6
@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .84
-LINUX_KERNEL_HASH-6.6.84 = 7fd20721551a61db347c5ac6ca05818e24058682be4e4389dc51e88d4ac17ba7
+LINUX_VERSION-6.6 = .85
+LINUX_KERNEL_HASH-6.6.85 = 5ebaccf4ca3428cd26817bae62171f4efd270eed866a3e3d0a1d9e970b7b7529
diff --git a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch
index 6e546e6754..9ff7a6d0ad 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch
@@ -423,7 +423,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
v3d_switch_perfmon(v3d, &job->base);
/* XXX: Set the QCFG */
-@@ -190,6 +301,7 @@ v3d_tfu_job_run(struct drm_sched_job *sc
+@@ -194,6 +305,7 @@ v3d_tfu_job_run(struct drm_sched_job *sc
trace_v3d_submit_tfu(dev, to_v3d_fence(fence)->seqno);
@@ -431,7 +431,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
V3D_WRITE(V3D_TFU_IIA, job->args.iia);
V3D_WRITE(V3D_TFU_IIS, job->args.iis);
V3D_WRITE(V3D_TFU_ICA, job->args.ica);
-@@ -231,6 +343,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
+@@ -238,6 +350,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
trace_v3d_submit_csd(dev, to_v3d_fence(fence)->seqno);
@@ -439,7 +439,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
v3d_switch_perfmon(v3d, &job->base);
for (i = 1; i <= 6; i++)
-@@ -247,7 +360,10 @@ v3d_cache_clean_job_run(struct drm_sched
+@@ -254,7 +367,10 @@ v3d_cache_clean_job_run(struct drm_sched
struct v3d_job *job = to_v3d_job(sched_job);
struct v3d_dev *v3d = job->v3d;
@@ -450,7 +450,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
return NULL;
}
-@@ -385,8 +501,18 @@ v3d_sched_init(struct v3d_dev *v3d)
+@@ -392,8 +508,18 @@ v3d_sched_init(struct v3d_dev *v3d)
int hw_jobs_limit = 1;
int job_hang_limit = 0;
int hang_limit_ms = 500;
@@ -469,7 +469,7 @@ Signed-off-by: Jose Maria Casanova Crespo <jmcasanova at igalia.com>
ret = drm_sched_init(&v3d->queue[V3D_BIN].sched,
&v3d_bin_sched_ops,
hw_jobs_limit, job_hang_limit,
-@@ -440,9 +566,20 @@ void
+@@ -447,9 +573,20 @@ void
v3d_sched_fini(struct v3d_dev *v3d)
{
enum v3d_queue q;
diff --git a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch
index ca8a34e8e1..4e81342876 100644
--- a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch
@@ -600,7 +600,7 @@ v2: fix kernel panic with debug-fs interface to list registers
static struct dma_fence *
v3d_tfu_job_run(struct drm_sched_job *sched_job)
{
-@@ -302,20 +304,22 @@ v3d_tfu_job_run(struct drm_sched_job *sc
+@@ -306,20 +308,22 @@ v3d_tfu_job_run(struct drm_sched_job *sc
trace_v3d_submit_tfu(dev, to_v3d_fence(fence)->seqno);
v3d_sched_stats_add_job(&v3d->gpu_queue_stats[V3D_TFU], sched_job);
@@ -635,16 +635,16 @@ v2: fix kernel panic with debug-fs interface to list registers
return fence;
}
-@@ -327,7 +331,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
+@@ -331,7 +335,7 @@ v3d_csd_job_run(struct drm_sched_job *sc
struct v3d_dev *v3d = job->base.v3d;
struct drm_device *dev = &v3d->drm;
struct dma_fence *fence;
- int i;
+ int i, csd_cfg0_reg, csd_cfg_reg_count;
- v3d->csd_job = job;
-
-@@ -346,10 +350,12 @@ v3d_csd_job_run(struct drm_sched_job *sc
+ if (unlikely(job->base.base.s_fence->finished.error))
+ return NULL;
+@@ -353,10 +357,12 @@ v3d_csd_job_run(struct drm_sched_job *sc
v3d_sched_stats_add_job(&v3d->gpu_queue_stats[V3D_CSD], sched_job);
v3d_switch_perfmon(v3d, &job->base);
@@ -660,7 +660,7 @@ v2: fix kernel panic with debug-fs interface to list registers
return fence;
}
-@@ -452,7 +458,8 @@ v3d_csd_job_timedout(struct drm_sched_jo
+@@ -459,7 +465,8 @@ v3d_csd_job_timedout(struct drm_sched_jo
{
struct v3d_csd_job *job = to_csd_job(sched_job);
struct v3d_dev *v3d = job->base.v3d;
diff --git a/target/linux/bcm27xx/patches-6.6/950-1498-dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch b/target/linux/bcm27xx/patches-6.6/950-1498-dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch
deleted file mode 100644
index a184b3134a..0000000000
--- a/target/linux/bcm27xx/patches-6.6/950-1498-dts-bcm2711-PL011-UARTs-are-actually-r1p5.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 87fc066350358ce45f5ad52424c8a2e351b1720c Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil at raspberrypi.com>
-Date: Tue, 7 Jan 2025 12:05:41 +0000
-Subject: [PATCH] dts: bcm2711: PL011 UARTs are actually r1p5
-
-The ARM PL011 UART instances in BCM2711 are r1p5 spec, which means they
-have 32-entry FIFOs. The correct periphid value for this is 0x00341011.
-Thanks to N Buchwitz for pointing this out.
-
-Signed-off-by: Phil Elwell <phil at raspberrypi.com>
----
- arch/arm/boot/dts/broadcom/bcm2711.dtsi | 9 +++++----
- 1 file changed, 5 insertions(+), 4 deletions(-)
-
---- a/arch/arm/boot/dts/broadcom/bcm2711.dtsi
-+++ b/arch/arm/boot/dts/broadcom/bcm2711.dtsi
-@@ -134,7 +134,7 @@
- clocks = <&clocks BCM2835_CLOCK_UART>,
- <&clocks BCM2835_CLOCK_VPU>;
- clock-names = "uartclk", "apb_pclk";
-- arm,primecell-periphid = <0x00241011>;
-+ arm,primecell-periphid = <0x00341011>;
- status = "disabled";
- };
-
-@@ -145,7 +145,7 @@
- clocks = <&clocks BCM2835_CLOCK_UART>,
- <&clocks BCM2835_CLOCK_VPU>;
- clock-names = "uartclk", "apb_pclk";
-- arm,primecell-periphid = <0x00241011>;
-+ arm,primecell-periphid = <0x00341011>;
- status = "disabled";
- };
-
-@@ -156,7 +156,7 @@
- clocks = <&clocks BCM2835_CLOCK_UART>,
- <&clocks BCM2835_CLOCK_VPU>;
- clock-names = "uartclk", "apb_pclk";
-- arm,primecell-periphid = <0x00241011>;
-+ arm,primecell-periphid = <0x00341011>;
- status = "disabled";
- };
-
-@@ -167,7 +167,7 @@
- clocks = <&clocks BCM2835_CLOCK_UART>,
- <&clocks BCM2835_CLOCK_VPU>;
- clock-names = "uartclk", "apb_pclk";
-- arm,primecell-periphid = <0x00241011>;
-+ arm,primecell-periphid = <0x00341011>;
- status = "disabled";
- };
-
-@@ -1155,6 +1155,7 @@
- };
-
- &uart0 {
-+ arm,primecell-periphid = <0x00341011>;
- interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
- };
-
diff --git a/target/linux/bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch b/target/linux/bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch
index 81b37af340..168dd19f16 100644
--- a/target/linux/bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch
+++ b/target/linux/bcm27xx/patches-6.6/950-1512-dts-bcm2711-Don-t-mark-timer-regs-unconfigured.patch
@@ -20,17 +20,6 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
arch/arm64/boot/dts/broadcom/bcm2712.dtsi | 2 --
2 files changed, 4 deletions(-)
---- a/arch/arm/boot/dts/broadcom/bcm2711.dtsi
-+++ b/arch/arm/boot/dts/broadcom/bcm2711.dtsi
-@@ -451,8 +451,6 @@
- IRQ_TYPE_LEVEL_LOW)>,
- <GIC_PPI 10 (GIC_CPU_MASK_SIMPLE(4) |
- IRQ_TYPE_LEVEL_LOW)>;
-- /* This only applies to the ARMv7 stub */
-- arm,cpu-registers-not-fw-configured;
- };
-
- cpus: cpus {
--- a/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
+++ b/arch/arm64/boot/dts/broadcom/bcm2712.dtsi
@@ -741,8 +741,6 @@
diff --git a/target/linux/bcm27xx/patches-6.6/950-1551-drm-v3d-Don-t-run-jobs-that-have-errors-flagged-in-i.patch b/target/linux/bcm27xx/patches-6.6/950-1551-drm-v3d-Don-t-run-jobs-that-have-errors-flagged-in-i.patch
deleted file mode 100644
index cdb9ad1888..0000000000
--- a/target/linux/bcm27xx/patches-6.6/950-1551-drm-v3d-Don-t-run-jobs-that-have-errors-flagged-in-i.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 5258ca4ad089548a72657522443b9c3e46fd125b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ma=C3=ADra=20Canal?= <mcanal at igalia.com>
-Date: Sat, 22 Feb 2025 14:40:21 -0300
-Subject: [PATCH] drm/v3d: Don't run jobs that have errors flagged in its fence
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The V3D driver still relies on `drm_sched_increase_karma()` and
-`drm_sched_resubmit_jobs()` for resubmissions when a timeout occurs.
-The function `drm_sched_increase_karma()` marks the job as guilty, while
-`drm_sched_resubmit_jobs()` sets an error (-ECANCELED) in the DMA fence of
-that guilty job.
-
-Because of this, we must check whether the job’s DMA fence has been
-flagged with an error before executing the job. Otherwise, the same guilty
-job may be resubmitted indefinitely, causing repeated GPU resets.
-
-This patch adds a check for an error on the job's fence to prevent running
-a guilty job that was previously flagged when the GPU timed out.
-
-Note that the CPU and CACHE_CLEAN queues do not require this check, as
-their jobs are executed synchronously once the DRM scheduler starts them.
-
-Cc: stable at vger.kernel.org
-Fixes: d223f98f0209 ("drm/v3d: Add support for compute shader dispatch.")
-Fixes: 1584f16ca96e ("drm/v3d: Add support for submitting jobs to the TFU.")
-Signed-off-by: Maíra Canal <mcanal at igalia.com>
----
- drivers/gpu/drm/v3d/v3d_sched.c | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
---- a/drivers/gpu/drm/v3d/v3d_sched.c
-+++ b/drivers/gpu/drm/v3d/v3d_sched.c
-@@ -292,11 +292,15 @@ v3d_tfu_job_run(struct drm_sched_job *sc
- struct drm_device *dev = &v3d->drm;
- struct dma_fence *fence;
-
-+ if (unlikely(job->base.base.s_fence->finished.error))
-+ return NULL;
-+
-+ v3d->tfu_job = job;
-+
- fence = v3d_fence_create(v3d, V3D_TFU);
- if (IS_ERR(fence))
- return NULL;
-
-- v3d->tfu_job = job;
- if (job->base.irq_fence)
- dma_fence_put(job->base.irq_fence);
- job->base.irq_fence = dma_fence_get(fence);
-@@ -333,6 +337,9 @@ v3d_csd_job_run(struct drm_sched_job *sc
- struct dma_fence *fence;
- int i, csd_cfg0_reg, csd_cfg_reg_count;
-
-+ if (unlikely(job->base.base.s_fence->finished.error))
-+ return NULL;
-+
- v3d->csd_job = job;
-
- v3d_invalidate_caches(v3d);
diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
index 9b76c82a6f..ccafdf2911 100644
--- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
+++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch
@@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
case RTN_THROW:
case RTN_UNREACHABLE:
default:
-@@ -4551,6 +4570,17 @@ static int ip6_pkt_prohibit_out(struct n
+@@ -4554,6 +4573,17 @@ static int ip6_pkt_prohibit_out(struct n
return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES);
}
@@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
/*
* Allocate a dst for local (unicast / anycast) address.
*/
-@@ -5042,7 +5072,8 @@ static int rtm_to_fib6_config(struct sk_
+@@ -5045,7 +5075,8 @@ static int rtm_to_fib6_config(struct sk_
if (rtm->rtm_type == RTN_UNREACHABLE ||
rtm->rtm_type == RTN_BLACKHOLE ||
rtm->rtm_type == RTN_PROHIBIT ||
@@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
cfg->fc_flags |= RTF_REJECT;
if (rtm->rtm_type == RTN_LOCAL)
-@@ -6304,6 +6335,8 @@ static int ip6_route_dev_notify(struct n
+@@ -6307,6 +6338,8 @@ static int ip6_route_dev_notify(struct n
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.ip6_prohibit_entry->dst.dev = dev;
net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev);
@@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.dev = dev;
net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev);
#endif
-@@ -6315,6 +6348,7 @@ static int ip6_route_dev_notify(struct n
+@@ -6318,6 +6351,7 @@ static int ip6_route_dev_notify(struct n
in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev);
@@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev);
#endif
}
-@@ -6515,6 +6549,8 @@ static int __net_init ip6_route_net_init
+@@ -6518,6 +6552,8 @@ static int __net_init ip6_route_net_init
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
net->ipv6.fib6_has_custom_rules = false;
@@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template,
sizeof(*net->ipv6.ip6_prohibit_entry),
GFP_KERNEL);
-@@ -6525,11 +6561,21 @@ static int __net_init ip6_route_net_init
+@@ -6528,11 +6564,21 @@ static int __net_init ip6_route_net_init
ip6_template_metrics, true);
INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached);
@@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops;
dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst,
ip6_template_metrics, true);
-@@ -6556,6 +6602,8 @@ out:
+@@ -6559,6 +6605,8 @@ out:
return ret;
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
@@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
out_ip6_prohibit_entry:
kfree(net->ipv6.ip6_prohibit_entry);
out_ip6_null_entry:
-@@ -6575,6 +6623,7 @@ static void __net_exit ip6_route_net_exi
+@@ -6578,6 +6626,7 @@ static void __net_exit ip6_route_net_exi
kfree(net->ipv6.ip6_null_entry);
#ifdef CONFIG_IPV6_MULTIPLE_TABLES
kfree(net->ipv6.ip6_prohibit_entry);
@@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski <jogo at openwrt.org>
kfree(net->ipv6.ip6_blk_hole_entry);
#endif
dst_entries_destroy(&net->ipv6.ip6_dst_ops);
-@@ -6658,6 +6707,9 @@ void __init ip6_route_init_special_entri
+@@ -6661,6 +6710,9 @@ void __init ip6_route_init_special_entri
init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev;
init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev);
More information about the lede-commits
mailing list