From 41c8c476e75b6a14d5233afa66e6196fd0f4e99e Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 12:37:10 +0200 Subject: [PATCH 01/17] utils: kernel-refresh.sh: only run upgrade steps on a version change Refreshing the patch series for the current kernel version removed the patches it had just regenerated, since the script always ran the upgrade steps: kernel-refresh.sh -k ~/src/linux -t v6.18.55 -o 6.18.55 With -o equal to the new version, the rm of the old patch directory hit the new one. Without -o it was worse, patches/linux/ itself went. Skip the directory removal, defconfig bump and tarball checksum when no old version is given or it matches the new one. A plain refresh also no longer downloads the kernel tarball. Signed-off-by: Joachim Wiberg --- utils/kernel-refresh.sh | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/utils/kernel-refresh.sh b/utils/kernel-refresh.sh index c7b2a269b..d3a7d9fa1 100755 --- a/utils/kernel-refresh.sh +++ b/utils/kernel-refresh.sh @@ -7,12 +7,14 @@ usage() Synchronize patches/linux/\$TAG with changes from a kernel GIT tree. Usage: - $0 -k kernel-dir -o old-version [-t kernel-tag] [-p patch-dir] [-d defconfig-dir] + $0 -k kernel-dir [-o old-version] [-t kernel-tag] [-p patch-dir] [-d defconfig-dir] Options: -h This help text -k kernel-dir Path to kernel tree - -o old-version Version to be replaced by new kernel version + -o old-version Version to be replaced by new kernel version. Only + when upgrading: removes patches/linux/\$old-version, + bumps the defconfigs and refreshes linux.hash -t kernel-tag Base tag from which to generate patches. Default: "v" + \$BR2_LINUX_KERNEL_VERSION -p patch-dir Path to kernel patches directory @@ -91,6 +93,12 @@ DEFCONFIG_DIR=$(readlink -f $DEFCONFIG_DIR) git ls-files --error-unmatch $PATCH_DIR 1>/dev/null 2>&1 && git -C $PATCH_DIR rm -f *.patch git -C $KERNEL_DIR format-patch --no-signoff --no-encode-email-headers --no-cover-letter --no-signature -o $PATCH_DIR $KERNEL_TAG..HEAD git -C $PATCH_DIR add *.patch + +# Same version: patches refreshed, nothing more to do +if [ -z "$OLD_VER" ] || [ "$OLD_VER" = "$NEW_VER" ]; then + exit 0 +fi + if [ -d ${PATCHES_BASE}/${OLD_VER} ]; then git rm -rf ${PATCHES_BASE}/${OLD_VER} fi From 6f428505771ecc1383b7defdcf38025dbbd1c5fb Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 15:01:19 +0200 Subject: [PATCH 02/17] board: tactical-1000: seed uboot.env when provisioning RAUC cannot read the boot state on a Tactical 1000 laid out with provision-tactical: rauc: Failed to get boot state of 'rootfs.0': uboot backend: fw_printenv failed with exit code: 1 # fw_printenv Cannot open /mnt/aux/uboot.env: No such file or directory The script creates the aux filesystem but never writes uboot.env, which the stock image gets from image-itb-aux and a regular install from prod/provision. Write it the same way, with the default BOOT_ORDER and one boot attempt per slot. Signed-off-by: Joachim Wiberg --- .../rootfs/usr/libexec/infix/prod/provision-tactical | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical b/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical index c5983fa79..f935e1901 100755 --- a/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical +++ b/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical @@ -114,9 +114,17 @@ if ask "Create aux, primary ${imgsize}, secondary ${imgsize}, cfg ${cfgsize}, an mkfs.ext4 -qF -L aux -m 0 -i 4096 -O ^metadata_csum,^metadata_csum_seed,uninit_bg "${disk}p4" mkfs.ext4 -qF -L cfg -m 0 -i 4096 -O uninit_bg "${disk}p7" mkfs.ext4 -qF -L var -m 0 -i 4096 -O uninit_bg "${disk}p8" + # + # RAUC tracks slot boot state in uboot.env, seed it as prod/provision does. mnt=$(mktemp -d) mount -t ext4 "${disk}p4" "$mnt" echo 1 >"$mnt"/resized + mkenvimage -s 0x4000 -o "$mnt"/uboot.env - < Date: Wed, 7 Oct 2026 14:19:27 +0200 Subject: [PATCH 03/17] configs: add missing boards to aarch64_minimal_defconfig Signed-off-by: Joachim Wiberg --- configs/aarch64_minimal_defconfig | 3 +++ 1 file changed, 3 insertions(+) diff --git a/configs/aarch64_minimal_defconfig b/configs/aarch64_minimal_defconfig index 186fc77b2..8f642dd17 100644 --- a/configs/aarch64_minimal_defconfig +++ b/configs/aarch64_minimal_defconfig @@ -111,6 +111,7 @@ BR2_PACKAGE_HOST_GENEXT2FS=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SIGNATURE_SUPPORT=y BR2_PACKAGE_HOST_UBOOT_TOOLS_FDT_ADD_PUBKEY=y +BR2_PACKAGE_ACER_CONNECT_VERO_W6M=y BR2_PACKAGE_ALDER_ALDER=y BR2_PACKAGE_BANANAPI_BPI_R3=y BR2_PACKAGE_BANANAPI_BPI_R4=y @@ -118,6 +119,8 @@ BR2_PACKAGE_BANANAPI_BPI_R64=y BR2_PACKAGE_FRIENDLYARM_NANOPI_R2S=y BR2_PACKAGE_MARVELL_CN9130_CRB=y BR2_PACKAGE_MARVELL_ESPRESSOBIN=y +BR2_PACKAGE_MICROCHIP_EV23X71A=y +BR2_PACKAGE_NOVARQ_TACTICAL_1000=y BR2_PACKAGE_RASPBERRYPI_RPI64=y BR2_PACKAGE_STYX_DCP_SC_28P=y IX_VENDOR_HOME="https://www.kernelkit.org" From bd4150ec08f933b3e521d04a77e11f68357b867e Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 15:57:04 +0200 Subject: [PATCH 04/17] rootfs: make log and follow available in BusyBox ash The minimal builds drop bash, and BusyBox ash does not read /etc/bash.bashrc even when started as /bin/bash, so the log and follow helpers were gone from the shell there. Move them to /etc/profile.d/log.sh as plain sh functions, read by both ash and bash login shells, including the CLI shell command. The bash completions for them stay in bash.bashrc. Signed-off-by: Joachim Wiberg --- board/common/rootfs/etc/bash.bashrc | 16 +--------------- board/common/rootfs/etc/profile.d/log.sh | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 board/common/rootfs/etc/profile.d/log.sh diff --git a/board/common/rootfs/etc/bash.bashrc b/board/common/rootfs/etc/bash.bashrc index 8e916c939..a7c56c198 100644 --- a/board/common/rootfs/etc/bash.bashrc +++ b/board/common/rootfs/etc/bash.bashrc @@ -33,21 +33,7 @@ bind "set show-all-if-ambiguous on" export LANG=C.UTF-8 -log() -{ - local fn="/var/log/syslog" - [ -n "$1" ] && fn="/var/log/$1" - less +G -r "$fn" -} - -follow () -{ - local fn="/var/log/syslog" - [ -n "$1" ] && fn="/var/log/$1" - - tail -F -n +1 "$fn" -} - +# log and follow are defined in /etc/profile.d/log.sh _logfile_completions() { local cur=${COMP_WORDS[COMP_CWORD]} diff --git a/board/common/rootfs/etc/profile.d/log.sh b/board/common/rootfs/etc/profile.d/log.sh new file mode 100644 index 000000000..3dada6c13 --- /dev/null +++ b/board/common/rootfs/etc/profile.d/log.sh @@ -0,0 +1,15 @@ +# Page or follow a log file, default syslog. Plain sh, so BusyBox ash +# and bash both get it; the bash completions live in /etc/bash.bashrc. +log() +{ + local fn="/var/log/syslog" + [ -n "$1" ] && fn="/var/log/$1" + less +G -r "$fn" +} + +follow() +{ + local fn="/var/log/syslog" + [ -n "$1" ] && fn="/var/log/$1" + tail -F -n +1 "$fn" +} From 755733811c75f95701c464743741cb89be1bc168 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 16:49:44 +0200 Subject: [PATCH 05/17] package: add symreg, Microchip switch register access by name The management port on Tactical 1000 locks up now and then, and the only way to see what the switch is doing is to read its registers. Add Microchip's symreg tool, which reads and writes LAN969x registers by symbolic name and dumps the MAC, VLAN, VCAP and stream tables, via the symreg debugfs driver added with patch 0080. The package enables the driver in the kernel, and each Laguna board selects the package and carries the device tree node in its Infix overlay. Builds without a Laguna board never see it. Signed-off-by: Joachim Wiberg --- board/aarch64/microchip-ev23x71a/Config.in | 1 + .../microchip-ev23x71a/dts/microchip/infix.dtsi | 12 ++++++++++++ board/aarch64/novarq-tactical-1000/Config.in | 1 + .../novarq-tactical-1000/dts/microchip/infix.dtsi | 12 ++++++++++++ package/Config.in | 1 + package/symreg/Config.in | 10 ++++++++++ package/symreg/symreg.hash | 3 +++ package/symreg/symreg.mk | 11 +++++++++++ 8 files changed, 51 insertions(+) create mode 100644 package/symreg/Config.in create mode 100644 package/symreg/symreg.hash create mode 100644 package/symreg/symreg.mk diff --git a/board/aarch64/microchip-ev23x71a/Config.in b/board/aarch64/microchip-ev23x71a/Config.in index dc3e8254d..83683518d 100644 --- a/board/aarch64/microchip-ev23x71a/Config.in +++ b/board/aarch64/microchip-ev23x71a/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_MICROCHIP_EV23X71A bool "Microchip EV23X71A (Laguna)" depends on BR2_aarch64 + select BR2_PACKAGE_SYMREG help Support for the Microchip EV23X71A evaluation board, based on the LAN969x (Laguna) family of TSN capable switches. 24 GbE diff --git a/board/aarch64/microchip-ev23x71a/dts/microchip/infix.dtsi b/board/aarch64/microchip-ev23x71a/dts/microchip/infix.dtsi index e39f876f8..255fa8ae5 100644 --- a/board/aarch64/microchip-ev23x71a/dts/microchip/infix.dtsi +++ b/board/aarch64/microchip-ev23x71a/dts/microchip/infix.dtsi @@ -13,3 +13,15 @@ }; }; }; + +/* Register access by name for the symreg tool, debugfs only */ +&axi { + symreg@e00c0000 { + compatible = "microchip,sparx5-symreg"; + reg = <0xe00c0000 0x10000>, + <0xe2000000 0x2000000>; + reg-names = "cpu", "dev"; + microchip,symreg = <0xe00c0000 0x10000>, + <0xe2000000 0x2000000>; + }; +}; diff --git a/board/aarch64/novarq-tactical-1000/Config.in b/board/aarch64/novarq-tactical-1000/Config.in index 4c66e6205..440bfc28c 100644 --- a/board/aarch64/novarq-tactical-1000/Config.in +++ b/board/aarch64/novarq-tactical-1000/Config.in @@ -1,6 +1,7 @@ config BR2_PACKAGE_NOVARQ_TACTICAL_1000 bool "Novarq Tactical 1000 (Laguna)" depends on BR2_aarch64 + select BR2_PACKAGE_SYMREG help Support for the Novarq Tactical 1000, based on the LAN969x (Laguna) family of TSN capable switches. 24 GbE copper ports, diff --git a/board/aarch64/novarq-tactical-1000/dts/microchip/infix.dtsi b/board/aarch64/novarq-tactical-1000/dts/microchip/infix.dtsi index e39f876f8..255fa8ae5 100644 --- a/board/aarch64/novarq-tactical-1000/dts/microchip/infix.dtsi +++ b/board/aarch64/novarq-tactical-1000/dts/microchip/infix.dtsi @@ -13,3 +13,15 @@ }; }; }; + +/* Register access by name for the symreg tool, debugfs only */ +&axi { + symreg@e00c0000 { + compatible = "microchip,sparx5-symreg"; + reg = <0xe00c0000 0x10000>, + <0xe2000000 0x2000000>; + reg-names = "cpu", "dev"; + microchip,symreg = <0xe00c0000 0x10000>, + <0xe2000000 0x2000000>; + }; +}; diff --git a/package/Config.in b/package/Config.in index f91fb5580..3ee9d715d 100644 --- a/package/Config.in +++ b/package/Config.in @@ -40,6 +40,7 @@ source "$BR2_EXTERNAL_INFIX_PATH/package/python-spy/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/python-libyang/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/python-yangdoc/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/skeleton-init-finit/Config.in" +source "$BR2_EXTERNAL_INFIX_PATH/package/symreg/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/tetris/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/libyang-cpp/Config.in" source "$BR2_EXTERNAL_INFIX_PATH/package/sysrepo-cpp/Config.in" diff --git a/package/symreg/Config.in b/package/symreg/Config.in new file mode 100644 index 000000000..bb3265fcd --- /dev/null +++ b/package/symreg/Config.in @@ -0,0 +1,10 @@ +config BR2_PACKAGE_SYMREG + bool "symreg - Microchip switch registers by name" + depends on BR2_aarch64 + help + Read and write Microchip LAN969x switch registers by symbolic + name, and dump the MAC, VLAN, VCAP and stream tables, through + the symreg debugfs driver. Debug aid, root only. Selected by + the Laguna boards, see board/aarch64/microchip-lan969x/README.md + + https://github.com/microchip-ung/symreg-tool diff --git a/package/symreg/symreg.hash b/package/symreg/symreg.hash new file mode 100644 index 000000000..5889d1fb6 --- /dev/null +++ b/package/symreg/symreg.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 0d7eee2dbdd8e79bb91103d06ee057cb477764a046c5d6d8045e978166a70490 symreg-cb96993eeb34558926a8f5851a945ad4cd674690.tar.gz +sha256 d620d728cc1c0efebe173f8840dd957a56d9ff40867c062d0571b4110ea15f1e LICENSE diff --git a/package/symreg/symreg.mk b/package/symreg/symreg.mk new file mode 100644 index 000000000..53b77b5d2 --- /dev/null +++ b/package/symreg/symreg.mk @@ -0,0 +1,11 @@ +SYMREG_VERSION = cb96993eeb34558926a8f5851a945ad4cd674690 +SYMREG_SITE = $(call github,microchip-ung,symreg-tool,$(SYMREG_VERSION)) +SYMREG_LICENSE = MIT +SYMREG_LICENSE_FILES = LICENSE +SYMREG_CONF_OPTS = -DBUILD_LAN969X=ON + +define SYMREG_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_SPARX5_SYMREG) +endef + +$(eval $(cmake-package)) From 729f405bfd941b1d62f5824c23f09f9bf281c228 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 16:56:33 +0200 Subject: [PATCH 06/17] board: lan969x: add README with symreg debug notes The shared Laguna directory had no README. Describe what it holds, what a new Laguna board needs for the symreg tool, and how to use the tool to chase a port fault, with the management port as the example. Signed-off-by: Joachim Wiberg --- board/aarch64/microchip-lan969x/README.md | 72 +++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 board/aarch64/microchip-lan969x/README.md diff --git a/board/aarch64/microchip-lan969x/README.md b/board/aarch64/microchip-lan969x/README.md new file mode 100644 index 000000000..acf492f7d --- /dev/null +++ b/board/aarch64/microchip-lan969x/README.md @@ -0,0 +1,72 @@ +# Microchip LAN969x (Laguna) + +Files shared by the boards built on the LAN969x switch family: + +| Board | Package | +|-------------------------------------------------|------------------------------------| +| [Microchip EV23X71A](../microchip-ev23x71a) | `BR2_PACKAGE_MICROCHIP_EV23X71A` | +| [Novarq Tactical 1000](../novarq-tactical-1000) | `BR2_PACKAGE_NOVARQ_TACTICAL_1000` | + +`uboot/` holds the U-Boot config fragment and environment used by the +`*_boot_defconfig` of each board. Kernel device tree and configuration +fixups stay with each board, see its `dts/` directory and `.mk` file. + +A new Laguna board should select `BR2_PACKAGE_SYMREG` in its `Config.in` +and carry the `microchip,sparx5-symreg` node in its `dts/microchip/infix.dtsi`, +copied from one of the boards above, so the tool below works on it too. + +## Debugging + +### Register access by name + +Every Laguna board ships `symreg`, Microchip's tool for reading and +writing switch registers by their datasheet names. It talks to the +`symreg` debugfs driver, which maps the register space the device tree +node describes and exposes it as `/sys/kernel/debug/symreg/mem`. Root +only, since debugfs is. + +``` +symreg --help # options and the register syntax +symreg -m # MAC table +symreg -v # VLAN table +symreg -c 0 # VCAP instance 0 +symreg -s # stream table + +symreg 'DEV2G5[29]*' # all registers of port 29's device block +symreg 'ASM*[29]*' # ingress side of the same port +symreg -a 'DSM*[29]*' # same, with the physical addresses + +symreg REG[idx] # read one register +symreg REG[idx].FIELD # read one field +symreg REG[idx].FIELD 1 # write one field, add -f for wildcards +``` + +Register and field names follow the LAN969x datasheet. Quote the +wildcards or the shell expands them. The dispatcher `symreg` picks the +SoC from `/proc/device-tree/compatible` and runs `symreg_lan969x`, which +can also be called directly. + +The tool reads live hardware, so the useful pattern for an intermittent +fault is a snapshot while the port works, another once it has failed, +and a diff of the two. For the management port, which is switch port 29 +on both boards: + +```bash +for blk in 'DEV2G5[29]*' 'ASM*[29]*' 'DSM*[29]*' 'QSYS*[29]*'; do + symreg "$blk" +done >/tmp/port29-$(date +%s).txt +``` + +Check the PHY as well. The management PHY sits on the GCB MDIO bus and +shares one level triggered interrupt line with the copper PHYs, so a +stale link state can come from a missed PHY interrupt as well as from +the switch. Read it with `mdio` from mdio-tools, see the +[EV23X71A README](../microchip-ev23x71a/README.md#debug-and-analysis), +which also covers the VCAP debugfs and `ethtool` counters; both apply to +either board. + +### Writing registers + +Writes take effect immediately and bypass the driver, which keeps no +record of them. Expect the driver's own view to disagree afterwards, +and reboot before trusting any behaviour again. From 4ae478e8d302482948f9a16659b586ac0c711a60 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 10:45:09 +0200 Subject: [PATCH 07/17] doc: ChangeLog for the Laguna fixes and the symreg tool Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index e585de412..893c8d085 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -67,6 +67,9 @@ All notable changes to the project are documented in this file. - WiFi channel survey is on request: `show hardware survey`, the Scan channels button on the WebUI WiFi page, or the `channel-survey` action. The always-on `survey` container under the radio is gone +- LAN969x boards ship `symreg`, which reads and writes switch registers by + name and dumps the MAC, VLAN and VCAP tables, for debugging the switch + core, see `board/aarch64/microchip-lan969x/README.md` ### Fixes @@ -99,6 +102,13 @@ All notable changes to the project are documented in this file. WPA3 clients - Changing the MAC address of a WiFi access point could leave the access points on that radio down until the WiFi service was restarted +- LAN969x: a port outside any bridge stopped receiving multicast, including + IPv6 neighbour discovery and mDNS, when another port outside a bridge went + down or joined a bridge. The port looked dead on the LAN until it was + taken down and up again, which is how the Tactical 1000 management port + kept dropping out of the test rig +- LAN969x: kernel BUG "scheduling while atomic" when a multicast address was + added to or removed from a port outside any bridge [pppoe]: https://www.kernelkit.org/infix/latest/pppoe/ [wds]: https://www.kernelkit.org/infix/latest/wifi/#wds-backhaul-and-repeaters From cc5d53642f46f66aa5bc4f06bf4ea9385f057aa4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 14:23:09 +0200 Subject: [PATCH 08/17] confd: ptp: allow 100 ms for hardware transmit timestamps PTP ports on the EV23X71A copper ports drop to the faulty state a few seconds after reaching master or slave: ptp4l: timed out while polling for tx timestamp ptp4l: port 1 (e20): send sync failed ptp4l: port 1 (e20): MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED) The LAN8814 PHYs on the board do the timestamping, and the kernel picks them over the switch core as timestamp provider. The PHY returns the transmit timestamp from its interrupt handler over MDIO, a bus shared by 25 PHYs and polled by phylib, so it sometimes takes longer than the 10 ms ptp4l waits by default. Set tx_timestamp_timeout to 100 ms in the generated ptp4l configuration whenever hardware timestamping is used. On the EV23X71A, 20 ms already clears every fault, and a MAC timestamper answers within microseconds, so the extra headroom costs nothing. This covers any port that ends up timestamping in a PHY. The Laguna ports move to the switch clock in the next commit, which the Tactical 1000 needs since its PHY timestamps never arrive at all. --- doc/ChangeLog.md | 3 +++ src/confd/src/ptp.c | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 893c8d085..571b6b8ea 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -109,6 +109,9 @@ All notable changes to the project are documented in this file. kept dropping out of the test rig - LAN969x: kernel BUG "scheduling while atomic" when a multicast address was added to or removed from a port outside any bridge +- PTP ports with PHY timestamping, e.g. the copper ports on LAN969x boards, + kept dropping to the faulty state because the transmit timestamp arrived + later than the 10 ms the PTP daemon waited for it [pppoe]: https://www.kernelkit.org/infix/latest/pppoe/ [wds]: https://www.kernelkit.org/infix/latest/wifi/#wds-backhaul-and-repeaters diff --git a/src/confd/src/ptp.c b/src/confd/src/ptp.c index e35e2cc85..9d48ef8d1 100644 --- a/src/confd/src/ptp.c +++ b/src/confd/src/ptp.c @@ -181,6 +181,10 @@ static int write_instance_conf(struct lyd_node *inst, json_t *root) ts = instance_time_stamping(idx, inst, root); fprintf(fp, "time_stamping %s\n", ts); + /* PHY timestamps arrive over MDIO, later than ptp4l's 10 ms default */ + if (!strcmp(ts, "hardware")) + fprintf(fp, "tx_timestamp_timeout 100\n"); + /* Profile — sets transportSpecific and all protocol-mandatory options */ dot1as = emit_profile_globals(fp, profile, !strcmp(ts, "hardware")); From 31b270847c8b135eb4e2a81ab3dcbc2292271d0f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 08:08:19 +0200 Subject: [PATCH 09/17] confd: ptp: raise the 802.1AS link delay threshold, make it configurable Every IEEE 802.1AS test on the Tactical 1000 rig fails: the ports stay in the listening state and never exchange Announce, while the same units synchronize fine with the IEEE 1588 profile. ptp4l reports a mean link delay of 1.5 us on these ports. Port statistics show the peer delay exchange running in both directions, but the generated configuration sets neighborPropDelayThresh to the 800 ns of the automotive profile, so neither port becomes asCapable and neither sends Announce. The switch core time stamps behind the PHY, so the delay it measures includes the PHY latency, 1.5 us on a LAN8814 at 1 Gbit/s and more at 100 Mbit/s. Default the threshold to 10 us with hardware time stamping, keep ptp4l's own 20 ms default with software time stamping, and honor mean-link-delay-thresh from the gPTP port data set when set. With 10 us on both ends of the link, the receiver on the rig reaches the time-receiver state within seconds, offset within a few ns. Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 3 +++ src/confd/src/ptp.c | 43 +++++++++++++++++++++++++++++-------------- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 571b6b8ea..046d04b18 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -112,6 +112,9 @@ All notable changes to the project are documented in this file. - PTP ports with PHY timestamping, e.g. the copper ports on LAN969x boards, kept dropping to the faulty state because the transmit timestamp arrived later than the 10 ms the PTP daemon waited for it +- PTP: the IEEE 802.1AS link delay threshold, above which a port never + leaves the listening state, defaults to 10 us with hardware time stamping + instead of 800 ns, and can be set per port with `mean-link-delay-thresh` [pppoe]: https://www.kernelkit.org/infix/latest/pppoe/ [wds]: https://www.kernelkit.org/infix/latest/wifi/#wds-backhaul-and-repeaters diff --git a/src/confd/src/ptp.c b/src/confd/src/ptp.c index 9d48ef8d1..1e03659ac 100644 --- a/src/confd/src/ptp.c +++ b/src/confd/src/ptp.c @@ -37,10 +37,9 @@ static const char *instance_type_to_clock_type(const char *type) * * ieee802-dot1as sets the full gPTP option set as required by the standard: * transportSpecific, network_transport, delay_mechanism, multicast MACs, - * gmCapable, follow_up_info, assume_two_step, path_trace_enabled, - * and the tighter neighborPropDelayThresh. + * gmCapable, follow_up_info, assume_two_step, path_trace_enabled. */ -static bool emit_profile_globals(FILE *fp, const char *profile, bool hw_ts) +static bool emit_profile_globals(FILE *fp, const char *profile) { bool dot1as = profile && !strcmp(profile, "ieee802-dot1as"); @@ -54,22 +53,35 @@ static bool emit_profile_globals(FILE *fp, const char *profile, bool hw_ts) fprintf(fp, "follow_up_info 1\n"); fprintf(fp, "assume_two_step 1\n"); fprintf(fp, "path_trace_enabled 1\n"); - /* - * 802.1AS P2P gate: if meanLinkDelay exceeds this threshold the - * port stays asCapable=false and never leaves LISTENING. 800 ns - * is the 802.1AS default and is appropriate only for hardware - * timestamping — software timestamps (QEMU, tap interfaces) can - * easily produce peer delays in the microsecond range, which - * would keep both ports stuck in LISTENING indefinitely. - */ - if (hw_ts) - fprintf(fp, "neighborPropDelayThresh 800\n"); } else { fprintf(fp, "transportSpecific 0\n"); } return dot1as; } +/* + * 802.1AS gate: a port whose measured link delay exceeds the threshold + * never becomes asCapable and stays in LISTENING. A switch core time + * stamps behind the PHY, so the delay it sees includes the PHY latency, + * 1.5 us on a LAN8814 at 1 Gbit/s and more at 100 Mbit/s, which the + * 800 ns of the automotive profile leaves no room for. Software time + * stamps are slower still, they get ptp4l's own default of 20 ms. + */ +#define PTP_LINK_DELAY_THRESH_NS 10000 + +static void emit_link_delay_thresh(FILE *fp, struct lyd_node *port_ds, bool hw_ts) +{ + const char *v = lydx_get_cattr(port_ds, "mean-link-delay-thresh"); + long long ns = PTP_LINK_DELAY_THRESH_NS; + + if (v) + ns = (strtoll(v, NULL, 10) + 32768) / 65536; /* ns * 2^16 */ + else if (!hw_ts) + return; + + fprintf(fp, "neighborPropDelayThresh %lld\n", ns); +} + /* * Return true if ifname has hardware TX timestamping capability according * to the probed data in system.json (confd->root). If the interface is @@ -186,7 +198,7 @@ static int write_instance_conf(struct lyd_node *inst, json_t *root) fprintf(fp, "tx_timestamp_timeout 100\n"); /* Profile — sets transportSpecific and all protocol-mandatory options */ - dot1as = emit_profile_globals(fp, profile, !strcmp(ts, "hardware")); + dot1as = emit_profile_globals(fp, profile); /* domainNumber */ v = lydx_get_cattr(default_ds, "domain-number"); @@ -307,6 +319,9 @@ static int write_instance_conf(struct lyd_node *inst, json_t *root) if (v && strcmp(v, "0")) fprintf(fp, "delayAsymmetry %s\n", v); + if (dot1as) + emit_link_delay_thresh(fp, port_ds, !strcmp(ts, "hardware")); + if (lydx_is_enabled(port_ds, "time-transmitter-only")) fprintf(fp, "masterOnly 1\n"); From 6c39b47714af682424838a5cefa2dcd0fb4bccf0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 08:18:12 +0200 Subject: [PATCH 10/17] linux: sparx5: fix multicast to the CPU on standalone ports Sync patches with kkit-linux-6.18.y. On LAN969x, taking any standalone port down, or adding it to a bridge, removed the multicast MAC table entries it shared with every other standalone port. The management port then dropped IPv6 all-nodes and mDNS traffic until cycled, which is how it disappeared from ixll and the test rig. Signed-off-by: Joachim Wiberg --- ...0g-Support-firmware-loading-on-88X33.patch | 2 +- ...0g-Fix-power-up-when-strapped-to-sta.patch | 2 +- ...rvell10g-Add-LED-support-for-88X3310.patch | 2 +- ...0g-Support-LEDs-tied-to-a-single-med.patch | 2 +- ...phy-Do-not-resume-PHY-when-attaching.patch | 2 +- ...-classifying-unknown-multicast-as-mr.patch | 2 +- ...e-router-ports-when-forwarding-L2-mu.patch | 2 +- ...delay-for-applying-strict-multicast-.patch | 2 +- ...rentiate-MDB-additions-from-modifica.patch | 2 +- ...ie-tlv-Let-device-probe-even-when-TL.patch | 2 +- ...d-r8153b-support-for-link-activity-L.patch | 2 +- ...ek-mt7986a-rename-BPi-R3-ports-to-ma.patch | 2 +- ...-Add-a-timing-for-the-Raspberry-Pi-7.patch | 2 +- ...uchscreen-edt-ft5x06-Add-polled-mode.patch | 2 +- ...e6xxx-Fix-timeout-on-waiting-for-PPU.patch | 2 +- ...x-Improve-indirect-register-access-p.patch | 2 +- ...x-Honor-ports-being-managed-via-in-b.patch | 2 +- ...x-Limit-rsvd2cpu-policy-to-user-port.patch | 2 +- ...Use-tag-priority-as-initial-skb-prio.patch | 2 +- ...MDB-memberships-whose-L2-addresses-o.patch | 2 +- ...t-EtherType-based-priority-overrides.patch | 2 +- ...x-Support-EtherType-based-priority-o.patch | 2 +- ...a-mv88e6xxx-Add-mqprio-qdisc-support.patch | 2 +- ...x-Use-VLAN-prio-over-IP-when-both-ar.patch | 2 +- ...8e6xxx-Trap-locally-terminated-VLANs.patch | 2 +- ...x-collapse-disabled-state-into-block.patch | 2 +- ...x-Only-activate-LAG-offloading-when-.patch | 2 +- ...-mv88e6xxx-Add-LED-support-for-6393X.patch | 2 +- ...eck-connection-state-before-querying.patch | 2 +- ...ppress-log-spam-for-regulatory-restr.patch | 2 +- ...duce-log-noise-during-AP-to-station-.patch | 2 +- ...11h-add-OF-device-table-for-auto-loa.patch | 2 +- ...le-video-and-then-retry-failed-trans.patch | 2 +- ...locks-should-be-running-before-reset.patch | 2 +- ...nsure-DSI-is-enabled-for-FIFO-resets.patch | 2 +- ...036-drm-vc4-Reset-DSI-AFE-on-disable.patch | 2 +- ...le-the-different-command-FIFO-widths.patch | 2 +- ...762-Program-the-DPI-mode-into-the-ch.patch | 2 +- ...e-tc358762-revert-move-ops-to-enable.patch | 2 +- ...762-Set-pre_enabled-on-pre_enable-to.patch | 2 +- ...dalone-PCS-registration-infrastructu.patch | 2 +- ...d-MediaTek-MT7988-USXGMII-PCS-driver.patch | 2 +- ...iatek-add-USXGMII-support-for-MT7988.patch | 2 +- ...diatek-mt7988a-add-USXGMII-PCS-nodes.patch | 2 +- ...ek-bananapi-bpi-r4-enable-SFP-ports-.patch | 2 +- ...et-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch | 2 +- ...x-Trap-PTP-frames-on-timestamping-po.patch | 2 +- ...-add-MODULE_DEVICE_TABLE-for-mt7622-.patch | 2 +- ...3-Fix-PERST-control-timing-during-sy.patch | 2 +- ...xx-Derive-LED-names-from-device-name.patch | 2 +- ...s-make-it-selectable-for-ARCH_LAN969.patch | 2 +- ...arx5-fix-wrong-chip-ids-for-TSN-SKUs.patch | 2 +- ...gure-serdes-for-1000BASE-X-in-sparx5.patch | 2 +- ...atmel-sama5d2-sdhci-add-microchip-la.patch | 2 +- ...mc-sdhci-of-at91-add-LAN969x-support.patch | 2 +- ...1-stop-SDCLK-on-reset-and-add-eMMC-h.patch | 2 +- ...arx5-lan969x-populate-netdev-of_node.patch | 2 +- ...rochip-add-LAN969x-clock-header-file.patch | 2 +- ...64-dts-microchip-add-LAN969x-support.patch | 2 +- ...m64-dts-microchip-add-EV23X71A-board.patch | 2 +- ...4-dts-microchip-lan969x-add-OTP-node.patch | 2 +- ...ts-microchip-lan969x-add-SDMMC-nodes.patch | 2 +- ...4-dts-microchip-ev23x71a-enable-eMMC.patch | 2 +- ...rvey-the-requested-interface-not-the.patch | 2 +- ...nor-caller-s-rtnl-lock-when-stopping.patch | 2 +- ...t-cfg_to_ndev-return-NULL-and-harden.patch | 2 +- ...pport-deletion-and-recreation-of-the.patch | 2 +- ...port-port-authorized-after-offloaded.patch | 2 +- ...m-AT91-document-Novarq-Tactical-1000.patch | 2 +- ...s-microchip-add-Novarq-Tactical-1000.patch | 2 +- ...crochip-tactical-1000-add-port-names.patch | 2 +- ...icrochip-tactical-1000-adapt-to-6.18.patch | 2 +- ...ngs-arm-AT91-document-EV23X71A-board.patch | 2 +- ...-default-priority-init-on-unsupporte.patch | 2 +- ...se-the-global-DCB-APP-mirroring-help.patch | 2 +- ...net-dsa-Support-the-PCP-APP-selector.patch | 2 +- ...net-dsa-Support-DCB-priority-rewrite.patch | 2 +- ...-Support-the-IEEE-ETS-managed-object.patch | 2 +- ...leep-in-atomic-context-in-MAC-table-.patch | 2 +- ...ymreg-symreg-debugfs-driver-DBB-1045.patch | 2 +- ..._wed-map-WO-memory-regions-without-r.patch | 2 +- ...-fix-kernel-panic-on-non-DBDC-MT7986.patch | 2 +- ...-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch | 2 +- ...-add-WDS-support-when-WED-is-enabled.patch | 2 +- ..._wed-increase-WED-v2-WDMA-RESV_BUFF-.patch | 2 +- ...-publish-wcid-before-MCU-add-command.patch | 2 +- ...ulticast-delivery-to-the-CPU-on-stan.patch | 156 ++++++++++++++++++ 87 files changed, 242 insertions(+), 86 deletions(-) create mode 100644 patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch diff --git a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index 63f024651..e0ca5d206 100644 --- a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ From ca34ebe2b40b53b52a5ea6fb00b7bb36eeeabb5f Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 01/86] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 01/87] net: phy: marvell10g: Support firmware loading on 88X3310 When probing, if a device is waiting for firmware to be loaded into diff --git a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index 9a48713b7..61f9b6f16 100644 --- a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ From 59532ff26cccf476b4e6f8eeaf2e733c93106a78 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 02/86] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 02/87] net: phy: marvell10g: Fix power-up when strapped to start powered down On devices which are hardware strapped to start powered down (PDSTATE diff --git a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index 1b45c4c0a..a2ca8becd 100644 --- a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ From 2881f5a7008a4b7a214f63960f1d199f55a7a78a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 03/86] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 03/87] net: phy: marvell10g: Add LED support for 88X3310 Pickup the LEDs from the state in which the hardware reset or bootloader left them, but also support further configuration via diff --git a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index 13027abff..dd6fda79f 100644 --- a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ From 67a62752bdb5e1e45982289b2eda1f5df4ca6f47 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 04/86] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 04/87] net: phy: marvell10g: Support LEDs tied to a single media side In a combo-port setup, i.e. where both the copper and fiber interface diff --git a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch index 370ff0d79..dbbdf895f 100644 --- a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ From a60255d4ba8ea888ecb86e92a2c65334a26f6384 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 05/86] net: phy: Do not resume PHY when attaching +Subject: [PATCH 05/87] net: phy: Do not resume PHY when attaching The PHY should not start negotiating with its link-partner until explicitly instructed to do so. diff --git a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index 722348bd3..ebb09de83 100644 --- a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ From 3fc8e2a80589a5a5ae02fac7b3f97f195cb90930 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 06/86] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 06/87] net: bridge: avoid classifying unknown multicast as mrouters_only Unknown multicast, MAC/IPv4/IPv6, should always be flooded according to diff --git a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index ac60d4c16..5359c77f8 100644 --- a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ From 8f5cf3a448d6e7a1d00043debd0bf1fcaf706680 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 07/86] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 07/87] net: bridge: Ignore router ports when forwarding L2 multicast Multicast router ports are either statically configured or learned from diff --git a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch index 46e829866..85a7246b1 100644 --- a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ From a42722822b7ff8ea8ac5e65a8449bb72b1ef8c05 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 08/86] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 08/87] net: bridge: drop delay for applying strict multicast filtering This *local* patch drops the initial delay before applying strict multicast diff --git a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch index 6a3937d3a..f1dcd3d53 100644 --- a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ From 2722df35856114c70f9896452d155b660f804ed8 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 09/86] net: bridge: Differentiate MDB additions from +Subject: [PATCH 09/87] net: bridge: Differentiate MDB additions from modifications Before this change, the reception of an IGMPv3 report (and analogously diff --git a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index 1e5f830a6..8f6c8ccbd 100644 --- a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ From 17f03931f23a3ed1dbe6f77a7e48bfdc11f17140 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 10/86] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 10/87] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Before this change, probing an NVMEM device, expected to contain a diff --git a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 55dfcebe6..2016842c7 100644 --- a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,7 +1,7 @@ From cbc993b90307a45db570d20bce5e651100bafaa7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 11/86] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 11/87] net: usb: r8152: add r8153b support for link/activity LEDs This patch adds support for the link/activity LEDs on the NanoPi R2S diff --git a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch index 5726a3f79..3a6583ed0 100644 --- a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch +++ b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch @@ -1,7 +1,7 @@ From 0c1a54359f6989eedad98678e030fc1d8fb44da0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 10 Aug 2025 18:52:54 +0200 -Subject: [PATCH 12/86] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to +Subject: [PATCH 12/87] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to match case For ref. see: https://wiki.banana-pi.org/File:Bpi-r3_Metal_case.jpg diff --git a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 1068b1f89..5ed508028 100644 --- a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -1,7 +1,7 @@ From 2cbb47d51538a83315595715405a328552b9a753 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 20 Aug 2025 21:38:24 +0200 -Subject: [PATCH 13/86] drm/panel-simple: Add a timing for the Raspberry Pi 7" +Subject: [PATCH 13/87] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI diff --git a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch index 70094938d..bbc466698 100644 --- a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch +++ b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch @@ -1,7 +1,7 @@ From fed97704c224902b2d79c81492c5a50ccd97793b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 21 Aug 2025 11:20:23 +0200 -Subject: [PATCH 14/86] input:touchscreen:edt-ft5x06: Add polled mode +Subject: [PATCH 14/87] input:touchscreen:edt-ft5x06: Add polled mode Not all hardware has interrupts therefore we need to poll the touchscreen. diff --git a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index 0d8c07724..0872ea891 100644 --- a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ From 11f9f49b62a6eb3a73a523541b3f26f6958e0d49 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 15/86] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 15/87] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X In a multi-chip setup, delays of up to 750ms are observed before the diff --git a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index aef78ec81..82a0ba19a 100644 --- a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ From 6aed16ecedd6e8d3594474b00b4f80a6a75372c1 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 16/86] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 16/87] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 When operating in multi-chip mode, the 6393 family maps a subset of diff --git a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index 914a05225..042b9a3e1 100644 --- a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ From 627e2902f0b11f9994e5c8c92627791b60069cdb Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 17/86] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 17/87] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Keep all link parameters in their unforced states when the port is diff --git a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index 25c027ed6..afec77930 100644 --- a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ From 1ad63ed23d72ed2429bcb7393aac0e82affde9e3 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 18/86] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 18/87] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X For packets with a DA in the IEEE reserved L2 group range, originating diff --git a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index 51365c7dc..a2f3b62b1 100644 --- a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ From 29b6583d7463dfddbfbb0e30a70de7707f5c86b0 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 19/86] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 19/87] net: dsa: tag_dsa: Use tag priority as initial skb->priority Use the 3-bit priority field from the DSA tag as the initial packet diff --git a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index ffeed9746..254225f62 100644 --- a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ From 6cebfb46fd0a75b04f2481dcbd43cb9442bb1e12 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 20/86] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 20/87] net: dsa: Support MDB memberships whose L2 addresses overlap Multiple IP multicast groups (32 for v4, 2^80 for v6) map to the same diff --git a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch index c4d543ad5..ca1d7f470 100644 --- a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ From 2b39a3958e00546ff1c6f0cc523970d19355d796 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 21/86] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 21/87] net: dsa: Support EtherType based priority overrides --- include/net/dsa.h | 4 ++++ diff --git a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index fa0860976..fdc346d27 100644 --- a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ From 3769055203bee35077c685d850f0debbac52459e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 22/86] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 22/87] net: dsa: mv88e6xxx: Support EtherType based priority overrides --- diff --git a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index ade6f51f6..2b8b53f13 100644 --- a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ From bf8849ce4ee5e95f33c435914a5d7c8e6e16e416 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 23/86] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 23/87] net: dsa: mv88e6xxx: Add mqprio qdisc support Add support for attaching mqprio qdisc's to mv88e6xxx ports and use the packet's traffic class as the outgoing priority when no PCP bits diff --git a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index 11cf8db9d..42de3ce87 100644 --- a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ From 73b39094d7cdd592ec6fb18164590678789ab37a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 24/86] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 24/87] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Switch the priority sourcing precdence to prefer VLAN PCP over IP diff --git a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index a8da9951c..2c68cc103 100644 --- a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ From 320983cf57f27f4138a4736388ad384ea9754d37 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 25/86] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 25/87] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Before this change, in a setup like the following, packets assigned to diff --git a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index e3cd5c084..ddb49d39f 100644 --- a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ From 95d919b20d95e7d33432d450e2caafa42105d645 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 26/86] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 26/87] net: dsa: mv88e6xxx: collapse disabled state into blocking This patch changes the behavior of switchcore ports wrt. the port state. diff --git a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index ec77c2f60..e6e3d5f3a 100644 --- a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ From 4a67cefaa3e4d69034afee21162133191863e841 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 27/86] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 27/87] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged The current port isolation scheme for mv88e6xxx is detailed here: diff --git a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index ba7c735f1..fb9e21919 100644 --- a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ From de1f05b6ee9af9d4f7deb7cde43e28d81e1b7f7f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 14 Jan 2026 18:22:41 +0100 -Subject: [PATCH 28/86] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 28/87] net: dsa: mv88e6xxx: Add LED support for 6393X Original commit: commit 462277b926140ee2d231317e92afb6cabf640268 diff --git a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch index 61a591407..f78bffb9b 100644 --- a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch +++ b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch @@ -1,7 +1,7 @@ From 5ba4ebc2cbcc3efdb8c68e64de2e3e1d36f700ca Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 19 Jan 2026 13:06:53 +0100 -Subject: [PATCH 29/86] wifi: brcmfmac: check connection state before querying +Subject: [PATCH 29/87] wifi: brcmfmac: check connection state before querying station info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch index 2749a592e..de35424aa 100644 --- a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch +++ b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch @@ -1,7 +1,7 @@ From e714d2bb8736f8befb0e223b4de054981125010e Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:12:10 +0100 -Subject: [PATCH 30/86] wifi: brcmfmac: suppress log spam for +Subject: [PATCH 30/87] wifi: brcmfmac: suppress log spam for regulatory-restricted channels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch index 30aecd068..e9c443d05 100644 --- a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch +++ b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch @@ -1,7 +1,7 @@ From 09696680be45dbeb24e8a722c3d4030b7737e11a Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:18:45 +0100 -Subject: [PATCH 31/86] wifi: brcmfmac: reduce log noise during AP to station +Subject: [PATCH 31/87] wifi: brcmfmac: reduce log noise during AP to station transition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch index 145a6655e..f470c50ab 100644 --- a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch +++ b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch @@ -1,7 +1,7 @@ From 28322c174df66701c2f4283bf338a3032a8121bc Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 17 Feb 2026 21:59:59 +0100 -Subject: [PATCH 32/86] net: phy: air_en8811h: add OF device table for +Subject: [PATCH 32/87] net: phy: air_en8811h: add OF device table for auto-loading mdio_uevent() only emits an OF-style MODALIAS via diff --git a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch index d2717e199..02bcdcd21 100644 --- a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch +++ b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch @@ -1,7 +1,7 @@ From 53aba25643ef8e41021eab9b61242f3151fa3a56 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 20 Sep 2024 12:05:18 +0100 -Subject: [PATCH 33/86] drm: vc4: dsi: enable video and then retry failed +Subject: [PATCH 33/87] drm: vc4: dsi: enable video and then retry failed transfers The DSI block appears to be able to come up stuck in a condition where diff --git a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch index 128b97ca5..791eea07d 100644 --- a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch +++ b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch @@ -1,7 +1,7 @@ From b145fb6117a42c835d69cee8d01b7679396541e6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Jun 2022 17:23:47 +0100 -Subject: [PATCH 34/86] drm: vc4: dsi: Clocks should be running before reset +Subject: [PATCH 34/87] drm: vc4: dsi: Clocks should be running before reset The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and diff --git a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch index d1130efce..00a40e4a0 100644 --- a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch +++ b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch @@ -1,7 +1,7 @@ From 394a21d586f7f13a5cb822ed95ef986dfb17ca87 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2024 17:51:55 +0100 -Subject: [PATCH 35/86] drm/vc4: Ensure DSI is enabled for FIFO resets +Subject: [PATCH 35/87] drm/vc4: Ensure DSI is enabled for FIFO resets The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. diff --git a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch index de5adcbf3..fac56914d 100644 --- a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch +++ b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch @@ -1,7 +1,7 @@ From 5b807e23d91f3d90697f74d484276e574670aa2c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 26 May 2022 18:56:19 +0100 -Subject: [PATCH 36/86] drm: vc4: Reset DSI AFE on disable +Subject: [PATCH 36/87] drm: vc4: Reset DSI AFE on disable vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. diff --git a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch index 742c69a38..c23f63afe 100644 --- a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch +++ b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch @@ -1,7 +1,7 @@ From 1610998f5338234b29c335d18ffeb00c2dcec73a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Nov 2024 13:58:08 +0000 -Subject: [PATCH 37/86] drm: vc4: dsi: Handle the different command FIFO widths +Subject: [PATCH 37/87] drm: vc4: dsi: Handle the different command FIFO widths DSI0 and DSI1 have different widths for the command FIFO (24bit vs 32bit), but the driver was assuming the 32bit width of DSI1 diff --git a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch index fc94b38fc..ca41829ef 100644 --- a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch +++ b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch @@ -1,7 +1,7 @@ From 0c2f36c6efa65abc8d2c5179903c3fb5afac9874 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 17:37:00 +0000 -Subject: [PATCH 38/86] drm/bridge: tc358762: Program the DPI mode into the +Subject: [PATCH 38/87] drm/bridge: tc358762: Program the DPI mode into the chip The autodetection of resolution/timing by the TC358762 can lead diff --git a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch index 168a87fe3..b77ddce68 100644 --- a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch +++ b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch @@ -1,7 +1,7 @@ From 91f9e48ff0405e6b8ec9d046b7f37d96f99483c5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 18:44:49 +0000 -Subject: [PATCH 39/86] drm/bridge: tc358762: revert move ops to enable +Subject: [PATCH 39/87] drm/bridge: tc358762: revert move ops to enable Reverts 8a4b2fc9c91a ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. diff --git a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch index a4d092208..c286afd3d 100644 --- a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch +++ b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch @@ -1,7 +1,7 @@ From 18d15d554c004a795771c8adb8abb6ef54f22985 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Sat, 4 Apr 2026 18:04:19 +0200 -Subject: [PATCH 40/86] drm/bridge: tc358762: Set pre_enabled on pre_enable to +Subject: [PATCH 40/87] drm/bridge: tc358762: Set pre_enabled on pre_enable to prevent regulator imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch index acc2764e2..d03cf72b9 100644 --- a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch +++ b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch @@ -1,7 +1,7 @@ From a2fc20fe20ad386cff232905d1858f9af21ecaf2 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 5 Apr 2026 11:33:00 +0200 -Subject: [PATCH 41/86] net/pcs: add standalone PCS registration infrastructure +Subject: [PATCH 41/87] net/pcs: add standalone PCS registration infrastructure Add a simple registration mechanism that allows platform PCS drivers to register their phylink_pcs instances, and consumers (e.g. Ethernet MAC diff --git a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch index 07a19f206..9d7fd3f14 100644 --- a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch +++ b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch @@ -1,7 +1,7 @@ From 6c0e1262a95027d0ef8fb263353e5a4382529437 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:14:23 +0200 -Subject: [PATCH 42/86] net/pcs: add MediaTek MT7988 USXGMII PCS driver +Subject: [PATCH 42/87] net/pcs: add MediaTek MT7988 USXGMII PCS driver Add a PCS driver for the USXGMII subsystem found in the MediaTek MT7988 SoC (usxgmiisys0 at 0x10080000, usxgmiisys1 at 0x10081000). The hardware diff --git a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch index 50c0ae6e6..a8c2886c1 100644 --- a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch +++ b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch @@ -1,7 +1,7 @@ From 7a3a934b66b5a38e732f6c28f76c45b43cea4e15 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:43 +0200 -Subject: [PATCH 43/86] net: ethernet: mediatek: add USXGMII support for MT7988 +Subject: [PATCH 43/87] net: ethernet: mediatek: add USXGMII support for MT7988 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch index 366630365..4447242f9 100644 --- a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch +++ b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch @@ -1,7 +1,7 @@ From d320f311c3e132191b319db4d7f7e3e3f5ed58df Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:56 +0200 -Subject: [PATCH 44/86] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes +Subject: [PATCH 44/87] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes Add device nodes for the two USXGMII subsystem blocks (usxgmiisys0 at 0x10080000 and usxgmiisys1 at 0x10081000), each referencing its clock, diff --git a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch index 51a2e9c26..b6e35eb95 100644 --- a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch +++ b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch @@ -1,7 +1,7 @@ From d83185ab2d0bc45de5c33b6fc50006e166f39417 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:16:11 +0200 -Subject: [PATCH 45/86] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ +Subject: [PATCH 45/87] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ ports and WPS button Enable the SFP+ cages wired to gmac1 and gmac2. The USXGMII PCS nodes diff --git a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch index 59cc38f06..0e566b1d3 100644 --- a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch +++ b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch @@ -1,7 +1,7 @@ From fa401f49e78eeefa6ef1752733c87b1d67655125 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 7 Apr 2026 07:34:52 +0200 -Subject: [PATCH 46/86] net: phy: sfp: add OEM SFP-10G-T-I quirk +Subject: [PATCH 46/87] net: phy: sfp: add OEM SFP-10G-T-I quirk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch index 169a5b9e4..6aeceb32f 100644 --- a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch +++ b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch @@ -1,7 +1,7 @@ From 79c898ca16e60f10eafaf89110b5d2c24bd9ac2c Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 17 Apr 2026 09:13:04 +0000 -Subject: [PATCH 47/86] net: dsa: mv88e6xxx: Trap PTP frames on timestamping +Subject: [PATCH 47/87] net: dsa: mv88e6xxx: Trap PTP frames on timestamping ports, on 6393X Similar to the Peridot (6390), the designation of PTP frames as diff --git a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch index 7feb07b15..0b530396c 100644 --- a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch +++ b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch @@ -1,7 +1,7 @@ From 0f8cdee2b15e4d5c36520e274ebc74371ec8de68 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 28 Apr 2026 15:30:01 +0200 -Subject: [PATCH 48/86] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 +Subject: [PATCH 48/87] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 wmac Without MODULE_DEVICE_TABLE(of, ...) the OF compatible alias is never diff --git a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch index 46fa15d0d..b6b8f524d 100644 --- a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch +++ b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch @@ -1,7 +1,7 @@ From 5f9aa8845b841fcada5fa58f92ceaa9bb9fabcb4 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 22 Apr 2026 10:24:43 +0200 -Subject: [PATCH 49/86] PCI: mediatek-gen3: Fix PERST# control timing during +Subject: [PATCH 49/87] PCI: mediatek-gen3: Fix PERST# control timing during system startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch index cf0df843b..841328fb2 100644 --- a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch +++ b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch @@ -1,7 +1,7 @@ From 024fb8fd29a48bb85f355b5a4a558c8ab6875b3c Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 12 Aug 2026 10:08:53 +0200 -Subject: [PATCH 50/86] net: dsa: mv88e6xxx: Derive LED names from device name +Subject: [PATCH 50/87] net: dsa: mv88e6xxx: Derive LED names from device name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch index 449a6df46..6d6f45e2a 100644 --- a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch +++ b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch @@ -1,7 +1,7 @@ From f42698c6d686cabca0fced226a63e09c438fbc78 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 31 Oct 2025 13:18:12 +0100 -Subject: [PATCH 51/86] phy: sparx5-serdes: make it selectable for ARCH_LAN969X +Subject: [PATCH 51/87] phy: sparx5-serdes: make it selectable for ARCH_LAN969X LAN969x uses the SparX-5 SERDES driver, so make it selectable for ARCH_LAN969X. diff --git a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch index 745d75541..a09ec435b 100644 --- a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch +++ b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch @@ -1,7 +1,7 @@ From da55a0660bc7a764abd39b28d1b588d58cfafcf7 Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:38 +0200 -Subject: [PATCH 52/86] net: sparx5: fix wrong chip ids for TSN SKUs +Subject: [PATCH 52/87] net: sparx5: fix wrong chip ids for TSN SKUs The TSN SKUs in enum spx5_target_chiptype have incorrect IDs: diff --git a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch index 0d8dfbf32..29d8c9d2c 100644 --- a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch +++ b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch @@ -1,7 +1,7 @@ From 13292f9168073d35dfa05f2c3e8402e18bf3f9ce Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:39 +0200 -Subject: [PATCH 53/86] net: sparx5: configure serdes for 1000BASE-X in +Subject: [PATCH 53/87] net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init() sparx5_port_init() only invokes sparx5_serdes_set() and the associated diff --git a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch index bd6b3e02a..79ac34795 100644 --- a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch +++ b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch @@ -1,7 +1,7 @@ From 704c64713d2d2d34a22e0d2f8066996bc62d9120 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:29 +0200 -Subject: [PATCH 54/86] dt-bindings: mmc: atmel,sama5d2-sdhci: add +Subject: [PATCH 54/87] dt-bindings: mmc: atmel,sama5d2-sdhci: add microchip,lan969x-sdhci The LAN969x SDMMC controller has its own base clock divider and, unlike diff --git a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch index fb62bbd5c..6d0bdbbca 100644 --- a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From ae98994e45aaa55ecff09321aa65601561aefab4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:44 +0200 -Subject: [PATCH 55/86] mmc: sdhci-of-at91: add LAN969x support +Subject: [PATCH 55/87] mmc: sdhci-of-at91: add LAN969x support The LAN969x SDMMC controller is an Atmel SDMMC IP block, but the driver has no compatible for it, so the eMMC on LAN969x boards never probes. diff --git a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch index 36f60a3d2..b3f90691f 100644 --- a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch +++ b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch @@ -1,7 +1,7 @@ From 4a50546ae4abb37070703d1ce20149b65fdd1a51 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:37:48 +0200 -Subject: [PATCH 56/86] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC +Subject: [PATCH 56/87] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC hardware reset The controller is reset, and its signaling mode changed, with SDCLK diff --git a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch index 3b692f39f..d62ce7406 100644 --- a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch +++ b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch @@ -1,7 +1,7 @@ From ba2f77ed48aae661eed6cb213162a612f4792931 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 10 Nov 2025 13:42:53 +0100 -Subject: [PATCH 57/86] net: sparx5/lan969x: populate netdev of_node +Subject: [PATCH 57/87] net: sparx5/lan969x: populate netdev of_node Populate of_node for the port netdevs, to make the individual ports of_nodes available in sysfs. diff --git a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch index d0fa8eb3c..fda92d7a8 100644 --- a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch +++ b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch @@ -1,7 +1,7 @@ From b8f745bf145aed656a87edcf2cee16caef2950e2 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:11 +0100 -Subject: [PATCH 58/86] arm64: dts: microchip: add LAN969x clock header file +Subject: [PATCH 58/87] arm64: dts: microchip: add LAN969x clock header file LAN969x uses hardware clock indexes, so document theses in a header to make them humanly readable. diff --git a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch index 835c902c4..a9021f8a1 100644 --- a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From c3fc7872ff9176197161d2695a4d3fbbe2d90f90 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:12 +0100 -Subject: [PATCH 59/86] arm64: dts: microchip: add LAN969x support +Subject: [PATCH 59/87] arm64: dts: microchip: add LAN969x support Add support for Microchip LAN969x switch SoC series by adding the SoC DTSI. diff --git a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch index cf54bc54f..e532dc878 100644 --- a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b10c04d81bb96ab0b09484ee2a2373482b56f26d Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:14 +0100 -Subject: [PATCH 60/86] arm64: dts: microchip: add EV23X71A board +Subject: [PATCH 60/87] arm64: dts: microchip: add EV23X71A board Microchip EV23X71A is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch index 1a593defe..a4738ff8c 100644 --- a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch +++ b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch @@ -1,7 +1,7 @@ From c6af26aff045284fc98aae066d46385e74ab82c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 15 May 2026 13:59:09 +0200 -Subject: [PATCH 61/86] arm64: dts: microchip: lan969x: add OTP node +Subject: [PATCH 61/87] arm64: dts: microchip: lan969x: add OTP node Add the required OTP on LAN969x. diff --git a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch index 5a143e36d..ec5c6fce3 100644 --- a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch +++ b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch @@ -1,7 +1,7 @@ From 7df6f654874cc48a7bea2d8d2d78fe8e9c1c90c7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 62/86] arm64: dts: microchip: lan969x: add SDMMC nodes +Subject: [PATCH 62/87] arm64: dts: microchip: lan969x: add SDMMC nodes The SoC has two SDMMC controllers, neither of which is described, so boards with eMMC have no way to enable it. Add both, disabled by diff --git a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch index 7e5db38be..498f94569 100644 --- a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch +++ b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch @@ -1,7 +1,7 @@ From b41259b09f91a140bc0350d7f473d9fee3fbe8b3 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 63/86] arm64: dts: microchip: ev23x71a: enable eMMC +Subject: [PATCH 63/87] arm64: dts: microchip: ev23x71a: enable eMMC The board has an 8-bit eMMC on SDMMC0, and defines the emmc_sd pinctrl group for it, but nothing enables the controller. diff --git a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch index bd1609210..6978ff5ca 100644 --- a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch +++ b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch @@ -1,7 +1,7 @@ From 54b38afac5c46299c8a7ebe594b35774d134389b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:42:48 +0200 -Subject: [PATCH 64/86] wifi: brcmfmac: survey the requested interface, not the +Subject: [PATCH 64/87] wifi: brcmfmac: survey the requested interface, not the primary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch index a4b45e637..11ecb0789 100644 --- a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch +++ b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch @@ -1,7 +1,7 @@ From b2c521013e15b485455469fa4a263de2cf04dd02 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:43:14 +0200 -Subject: [PATCH 65/86] wifi: brcmfmac: honor caller's rtnl lock when stopping +Subject: [PATCH 65/87] wifi: brcmfmac: honor caller's rtnl lock when stopping primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch index 30f45c859..d695bb467 100644 --- a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch +++ b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch @@ -1,7 +1,7 @@ From 0e082428a5013b6d35567cf122119af2772f909f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:46:25 +0200 -Subject: [PATCH 66/86] wifi: brcmfmac: let cfg_to_ndev() return NULL and +Subject: [PATCH 66/87] wifi: brcmfmac: let cfg_to_ndev() return NULL and harden its callers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch index c31f3cb56..7bcfaa252 100644 --- a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch +++ b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch @@ -1,7 +1,7 @@ From 102750f26d8cbf5d58936b4c9c6da801433c4314 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 16:05:17 +0200 -Subject: [PATCH 67/86] wifi: brcmfmac: support deletion and recreation of the +Subject: [PATCH 67/87] wifi: brcmfmac: support deletion and recreation of the primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch index cf1ee0196..221f6467c 100644 --- a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch +++ b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch @@ -1,7 +1,7 @@ From b965ae0c551ae3e2df6937933b6bdd1c42753a43 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 10 Sep 2026 08:29:47 +0200 -Subject: [PATCH 68/86] wifi: brcmfmac: report port authorized after offloaded +Subject: [PATCH 68/87] wifi: brcmfmac: report port authorized after offloaded PSK/SAE handshake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch index e1668444d..7ec93b61c 100644 --- a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From f5f7599f8af9db56b09f26d22b20ee75defe1717 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 9 Jan 2026 13:27:00 +0100 -Subject: [PATCH 69/86] dt-bindings: arm: AT91: document Novarq Tactical 1000 +Subject: [PATCH 69/87] dt-bindings: arm: AT91: document Novarq Tactical 1000 Novarq Tactical 1000 is a Microchip LAN9696 based 24x1G + 4x10G SFP switch. diff --git a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch index e6e34024e..9c9d9e19f 100644 --- a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From 8b4b41c449758451c7dbcdd9092b9bd0e0a2b082 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Sep 2025 13:37:49 +0200 -Subject: [PATCH 70/86] arm64: dts: microchip: add Novarq Tactical 1000 +Subject: [PATCH 70/87] arm64: dts: microchip: add Novarq Tactical 1000 Novarq Tactical 1000 is a LAN9696 based switch featuring 24x1G and 4x10G SFP ports. diff --git a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch index bbef8699f..9292b8c99 100644 --- a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch +++ b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch @@ -1,7 +1,7 @@ From f973058544e1b44fd551db6a230659dbce67313e Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Jun 2026 11:23:47 +0200 -Subject: [PATCH 71/86] arm64: dts: microchip: tactical-1000: add port names +Subject: [PATCH 71/87] arm64: dts: microchip: tactical-1000: add port names Now that driver supports parsing the "label" property, populate port names as they are physically wired up. diff --git a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch index 5c5071bfd..70a387d90 100644 --- a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch +++ b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch @@ -1,7 +1,7 @@ From d49813a338d7c9b9d69e38e1fcc1c937c588a071 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 20 Sep 2026 12:22:43 +0200 -Subject: [PATCH 72/86] arm64: dts: microchip: tactical-1000: adapt to 6.18 +Subject: [PATCH 72/87] arm64: dts: microchip: tactical-1000: adapt to 6.18 Novarq develop against 7.3, which has three things 6.18 does not: a QSPI controller node, a tmon that also provides the fan PWM, and hence a SoC diff --git a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch index 66b1c907b..bc337a35c 100644 --- a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b5afb74688659804bbed4bca3928c98975daf2c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:13 +0100 -Subject: [PATCH 73/86] dt-bindings: arm: AT91: document EV23X71A board +Subject: [PATCH 73/87] dt-bindings: arm: AT91: document EV23X71A board Microchip EV23X71A board is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch index e696bec02..7b5e8e0d8 100644 --- a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch +++ b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch @@ -1,7 +1,7 @@ From 45fd43a305c595ea24b0de5cf090affeffc4029f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:21 +0200 -Subject: [PATCH 74/86] net: dsa: Skip DCB default priority init on unsupported +Subject: [PATCH 74/87] net: dsa: Skip DCB default priority init on unsupported switches A driver serving several chip generations has one dsa_switch_ops for diff --git a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch index 33b956935..826a0d3c3 100644 --- a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch +++ b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch @@ -1,7 +1,7 @@ From cb31150945889f02373febe89f618afee36c6e62 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:51:07 +0200 -Subject: [PATCH 75/86] net: dsa: Generalise the global DCB APP mirroring +Subject: [PATCH 75/87] net: dsa: Generalise the global DCB APP mirroring helper A switch with one classification table for all its ports programs it diff --git a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch index 605823822..92217fd83 100644 --- a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch +++ b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch @@ -1,7 +1,7 @@ From e1a8005d2fc1813b71e65c79e700da5635e639e0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:22 +0200 -Subject: [PATCH 76/86] net: dsa: Support the PCP APP selector +Subject: [PATCH 76/87] net: dsa: Support the PCP APP selector Add port_add_pcp_prio, port_del_pcp_prio and port_get_pcp_prio switch ops and route the DCB_APP_SEL_PCP selector to them, mirroring the DSCP diff --git a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch index e3760a847..b321c8314 100644 --- a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch +++ b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch @@ -1,7 +1,7 @@ From fb3ca7803ea876f7d96514696615143835bc78f9 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:10:32 +0200 -Subject: [PATCH 77/86] net: dsa: Support DCB priority rewrite +Subject: [PATCH 77/87] net: dsa: Support DCB priority rewrite The DCB rewrite table maps a priority back to the PCP and DEI, or the DSCP, that frames are remarked with on egress. DSA has no diff --git a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch index a6cd10f78..3f46f4bcf 100644 --- a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch +++ b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch @@ -1,7 +1,7 @@ From 46e44f7a4aba62dc94958e01638e8e93ea62e59b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:53:23 +0200 -Subject: [PATCH 78/86] net: dsa: Support the IEEE ETS managed object +Subject: [PATCH 78/87] net: dsa: Support the IEEE ETS managed object A switch port's transmission selection is configured today through the ets queuing discipline, which numbers its bands the other way round diff --git a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch index 1de8c4805..50faa4060 100644 --- a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch +++ b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch @@ -1,7 +1,7 @@ From 308c9dbab764bef06cceb03e412b491ea57234b5 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 11:42:12 +0200 -Subject: [PATCH 79/86] net: sparx5: fix sleep in atomic context in MAC table +Subject: [PATCH 79/87] net: sparx5: fix sleep in atomic context in MAC table access Adding or removing a multicast address on an unbridged switch port diff --git a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch index 91e66a5b8..19d2af87b 100644 --- a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch +++ b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch @@ -1,7 +1,7 @@ From c6f8b6a050e69c951ce0ce56467b6e9fd9a638f1 Mon Sep 17 00:00:00 2001 From: Steen Hegelund Date: Wed, 21 Jan 2026 10:09:45 +0100 -Subject: [PATCH 80/86] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) +Subject: [PATCH 80/87] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) Expose the switch register space of Microchip Sparx5 family SoCs through /sys/kernel/debug/symreg/mem, for the symreg tool, which diff --git a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch index 4119c93b2..af752a6ff 100644 --- a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch +++ b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch @@ -1,7 +1,7 @@ From e0e6e024e5e5866ff61b68bf9790fd24e542d7e2 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 5 Oct 2026 14:37:56 +0200 -Subject: [PATCH 81/86] net: ethernet: mtk_wed: map WO memory regions without +Subject: [PATCH 81/87] net: ethernet: mtk_wed: map WO memory regions without requesting them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch index e9b8b07da..45184fad8 100644 --- a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch +++ b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch @@ -1,7 +1,7 @@ From 8c40b743cd6f8117c177291988ffe1980e9595cd Mon Sep 17 00:00:00 2001 From: Zhi-Jun You Date: Wed, 15 Jul 2026 23:21:12 +0800 -Subject: [PATCH 82/86] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 +Subject: [PATCH 82/87] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch index e91a7477f..2de332426 100644 --- a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch +++ b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch @@ -1,7 +1,7 @@ From 9b5a788cc9a12f1b23ad0e84dfaa78008a399b49 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 7 Oct 2026 22:20:00 +0200 -Subject: [PATCH 83/86] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a +Subject: [PATCH 83/87] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a band1-only device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch index e390eb26d..2c10ee18f 100644 --- a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch +++ b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch @@ -1,7 +1,7 @@ From a39e22f32c005cb7096e66789000b2a9209444d0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 20 Oct 2025 15:59:12 +0200 -Subject: [PATCH 84/86] wifi: mt76: mt7915: add WDS support when WED is enabled +Subject: [PATCH 84/87] wifi: mt76: mt7915: add WDS support when WED is enabled The current WED only supports 256 wcid, whereas mt7986 can support up to 512 entries, so firmware provides a rule to get sta_info by DA when wcid diff --git a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch index cceaca7b9..6f52ec599 100644 --- a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch +++ b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch @@ -1,7 +1,7 @@ From 3d86eb80be2c4367e3293e783d26b6b452840287 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 19 Aug 2026 21:07:07 +0800 -Subject: [PATCH 85/86] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF +Subject: [PATCH 85/87] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF to 0x80 Change WDMA RESV_BUFF from 0x40 to 0x80 to avoid CDM TX FIFO overflow. diff --git a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch index 6a67d8d83..3e1203ecc 100644 --- a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch +++ b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch @@ -1,7 +1,7 @@ From 57ac316f70b79c0e2709e6221aca6b9026f8ce1c Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Fri, 21 Aug 2026 09:00:01 +0000 -Subject: [PATCH 86/86] wifi: mt76: mt7915: publish wcid before MCU add +Subject: [PATCH 86/87] wifi: mt76: mt7915: publish wcid before MCU add commands mt7915_add_interface() enables the BSS/STA in firmware via diff --git a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch new file mode 100644 index 000000000..edcc8a1af --- /dev/null +++ b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch @@ -0,0 +1,156 @@ +From f3602976d1b9b1b5a741c1116a5ed1066872212c Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Wed, 7 Oct 2026 17:30:17 +0200 +Subject: [PATCH 87/87] net: sparx5: fix multicast delivery to the CPU on + standalone ports + +A standalone port stops receiving a multicast group as soon as any +other standalone port leaves it. IPv6 neighbour discovery and mDNS +are the usual victims, so the port looks dead to the LAN until it is +taken down and up again, which re-joins its groups. + +Standalone ports all use pvid NULL_VID, and sparx5_mc_sync() delivers +a group to the CPU with a MAC table entry keyed on that address and +VID. The entry is therefore shared by every standalone port that is +a member of the group, but sparx5_mc_unsync() forgets it on behalf of +a single port, and the flood PGIDs have no CPU copy to fall back on. + +Reference count the shared entries. Learn on the first subscriber, +forget on the last. + +The same applies to a unicast address learned by sparx5_port_add_addr() +when two standalone ports share a MAC address, which is left as is. + +Fixes: d6fce5141929 ("net: sparx5: add switching support") +Signed-off-by: Joachim Wiberg +--- + .../microchip/sparx5/sparx5_mactable.c | 73 ++++++++++++++++++- + .../ethernet/microchip/sparx5/sparx5_main.h | 4 + + 2 files changed, 74 insertions(+), 3 deletions(-) + +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +index 30acb21277974..6f8d41a879b56 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +@@ -116,21 +116,79 @@ int sparx5_mact_learn(struct sparx5 *sparx5, int pgid, + return ret; + } + ++/* Standalone ports share pvid, hence the CPU multicast MAC entry too */ ++struct sparx5_mc_cpu_entry { ++ struct list_head list; ++ unsigned char addr[ETH_ALEN]; ++ u16 vid; ++ int refcnt; ++}; ++ ++static struct sparx5_mc_cpu_entry * ++sparx5_mc_cpu_find(struct sparx5 *sparx5, const unsigned char *addr, u16 vid) ++{ ++ struct sparx5_mc_cpu_entry *e; ++ ++ list_for_each_entry(e, &sparx5->mc_cpu_entries, list) ++ if (e->vid == vid && ether_addr_equal(e->addr, addr)) ++ return e; ++ ++ return NULL; ++} ++ + int sparx5_mc_unsync(struct net_device *dev, const unsigned char *addr) + { + struct sparx5_port *port = netdev_priv(dev); + struct sparx5 *sparx5 = port->sparx5; ++ struct sparx5_mc_cpu_entry *e; ++ int ret = 0; ++ ++ spin_lock(&sparx5->mc_cpu_lock); ++ e = sparx5_mc_cpu_find(sparx5, addr, port->pvid); ++ if (e && --e->refcnt == 0) { ++ list_del(&e->list); ++ kfree(e); ++ ret = sparx5_mact_forget(sparx5, addr, port->pvid); ++ } ++ spin_unlock(&sparx5->mc_cpu_lock); + +- return sparx5_mact_forget(sparx5, addr, port->pvid); ++ return ret; + } + + int sparx5_mc_sync(struct net_device *dev, const unsigned char *addr) + { + struct sparx5_port *port = netdev_priv(dev); + struct sparx5 *sparx5 = port->sparx5; ++ struct sparx5_mc_cpu_entry *e; ++ int ret = 0; ++ ++ spin_lock(&sparx5->mc_cpu_lock); ++ e = sparx5_mc_cpu_find(sparx5, addr, port->pvid); ++ if (!e) { ++ e = kmalloc(sizeof(*e), GFP_ATOMIC); ++ if (!e) { ++ ret = -ENOMEM; ++ goto out; ++ } ++ ++ ret = sparx5_mact_learn(sparx5, ++ sparx5_get_pgid(sparx5, PGID_CPU), ++ addr, port->pvid); ++ if (ret) { ++ kfree(e); ++ goto out; ++ } ++ ++ ether_addr_copy(e->addr, addr); ++ e->vid = port->pvid; ++ e->refcnt = 0; ++ list_add_tail(&e->list, &sparx5->mc_cpu_entries); ++ } ++ e->refcnt++; ++out: ++ spin_unlock(&sparx5->mc_cpu_lock); + +- return sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), +- addr, port->pvid); ++ return ret; + } + + static int sparx5_mact_get(struct sparx5 *sparx5, +@@ -494,6 +552,8 @@ int sparx5_mact_init(struct sparx5 *sparx5) + char queue_name[32]; + + spin_lock_init(&sparx5->lock); ++ spin_lock_init(&sparx5->mc_cpu_lock); ++ INIT_LIST_HEAD(&sparx5->mc_cpu_entries); + + /* Flush MAC table */ + spx5_wr(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD_SET(MAC_CMD_CLEAR_ALL) | +@@ -529,7 +589,14 @@ int sparx5_mact_init(struct sparx5 *sparx5) + + void sparx5_mact_deinit(struct sparx5 *sparx5) + { ++ struct sparx5_mc_cpu_entry *e, *tmp; ++ + cancel_delayed_work_sync(&sparx5->mact_work); + destroy_workqueue(sparx5->mact_queue); + mutex_destroy(&sparx5->mact_lock); ++ ++ list_for_each_entry_safe(e, tmp, &sparx5->mc_cpu_entries, list) { ++ list_del(&e->list); ++ kfree(e); ++ } + } +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h +index 317c4ca0d29b2..c6fc9ee6be42b 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h +@@ -408,6 +408,10 @@ struct sparx5 { + struct list_head mdb_entries; + /* mdb list mutex */ + struct mutex mdb_lock; ++ /* CPU multicast entries, shared by the standalone ports */ ++ struct list_head mc_cpu_entries; ++ /* mc_cpu_entries lock */ ++ spinlock_t mc_cpu_lock; + struct delayed_work mact_work; + struct workqueue_struct *mact_queue; + /* Board specifics */ From f42c0a744fc7d6d3ad799571d9eaa8e0bc81569c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 08:18:43 +0200 Subject: [PATCH 11/17] linux: sparx5: fix bridge IP address reachability on Laguna The IP address of a bridge is unreachable from the bridge ports on the LAN969x boards, while forwarding between the ports works. Every bridge test on the Tactical 1000 rig fails on this. The sparx5 driver stands in hardware VLAN 1 for a VLAN-unaware bridge, and confd creates bridges with vlan_default_pvid 0, which adds VLAN 1 at creation and removes it right after. That forgets the VLAN 1 broadcast entry, so ARP from the ports never reaches the CPU, and the bridge MAC entry, so unicast to the bridge is flooded to the ports. Taking a bridged port down also forgets its MAC on the bridge VLAN, which cuts the bridge off whenever its first port, whose MAC the bridge uses, is disabled. Three kernel patches, 0088 to 0090, synced from kkit-linux-6.18.y. Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 8 + ...0g-Support-firmware-loading-on-88X33.patch | 2 +- ...0g-Fix-power-up-when-strapped-to-sta.patch | 2 +- ...rvell10g-Add-LED-support-for-88X3310.patch | 2 +- ...0g-Support-LEDs-tied-to-a-single-med.patch | 2 +- ...phy-Do-not-resume-PHY-when-attaching.patch | 2 +- ...-classifying-unknown-multicast-as-mr.patch | 2 +- ...e-router-ports-when-forwarding-L2-mu.patch | 2 +- ...delay-for-applying-strict-multicast-.patch | 2 +- ...rentiate-MDB-additions-from-modifica.patch | 2 +- ...ie-tlv-Let-device-probe-even-when-TL.patch | 2 +- ...d-r8153b-support-for-link-activity-L.patch | 2 +- ...ek-mt7986a-rename-BPi-R3-ports-to-ma.patch | 2 +- ...-Add-a-timing-for-the-Raspberry-Pi-7.patch | 2 +- ...uchscreen-edt-ft5x06-Add-polled-mode.patch | 2 +- ...e6xxx-Fix-timeout-on-waiting-for-PPU.patch | 2 +- ...x-Improve-indirect-register-access-p.patch | 2 +- ...x-Honor-ports-being-managed-via-in-b.patch | 2 +- ...x-Limit-rsvd2cpu-policy-to-user-port.patch | 2 +- ...Use-tag-priority-as-initial-skb-prio.patch | 2 +- ...MDB-memberships-whose-L2-addresses-o.patch | 2 +- ...t-EtherType-based-priority-overrides.patch | 2 +- ...x-Support-EtherType-based-priority-o.patch | 2 +- ...a-mv88e6xxx-Add-mqprio-qdisc-support.patch | 2 +- ...x-Use-VLAN-prio-over-IP-when-both-ar.patch | 2 +- ...8e6xxx-Trap-locally-terminated-VLANs.patch | 2 +- ...x-collapse-disabled-state-into-block.patch | 2 +- ...x-Only-activate-LAG-offloading-when-.patch | 2 +- ...-mv88e6xxx-Add-LED-support-for-6393X.patch | 2 +- ...eck-connection-state-before-querying.patch | 2 +- ...ppress-log-spam-for-regulatory-restr.patch | 2 +- ...duce-log-noise-during-AP-to-station-.patch | 2 +- ...11h-add-OF-device-table-for-auto-loa.patch | 2 +- ...le-video-and-then-retry-failed-trans.patch | 2 +- ...locks-should-be-running-before-reset.patch | 2 +- ...nsure-DSI-is-enabled-for-FIFO-resets.patch | 2 +- ...036-drm-vc4-Reset-DSI-AFE-on-disable.patch | 2 +- ...le-the-different-command-FIFO-widths.patch | 2 +- ...762-Program-the-DPI-mode-into-the-ch.patch | 2 +- ...e-tc358762-revert-move-ops-to-enable.patch | 2 +- ...762-Set-pre_enabled-on-pre_enable-to.patch | 2 +- ...dalone-PCS-registration-infrastructu.patch | 2 +- ...d-MediaTek-MT7988-USXGMII-PCS-driver.patch | 2 +- ...iatek-add-USXGMII-support-for-MT7988.patch | 2 +- ...diatek-mt7988a-add-USXGMII-PCS-nodes.patch | 2 +- ...ek-bananapi-bpi-r4-enable-SFP-ports-.patch | 2 +- ...et-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch | 2 +- ...x-Trap-PTP-frames-on-timestamping-po.patch | 2 +- ...-add-MODULE_DEVICE_TABLE-for-mt7622-.patch | 2 +- ...3-Fix-PERST-control-timing-during-sy.patch | 2 +- ...xx-Derive-LED-names-from-device-name.patch | 2 +- ...s-make-it-selectable-for-ARCH_LAN969.patch | 2 +- ...arx5-fix-wrong-chip-ids-for-TSN-SKUs.patch | 2 +- ...gure-serdes-for-1000BASE-X-in-sparx5.patch | 2 +- ...atmel-sama5d2-sdhci-add-microchip-la.patch | 2 +- ...mc-sdhci-of-at91-add-LAN969x-support.patch | 2 +- ...1-stop-SDCLK-on-reset-and-add-eMMC-h.patch | 2 +- ...arx5-lan969x-populate-netdev-of_node.patch | 2 +- ...rochip-add-LAN969x-clock-header-file.patch | 2 +- ...64-dts-microchip-add-LAN969x-support.patch | 2 +- ...m64-dts-microchip-add-EV23X71A-board.patch | 2 +- ...4-dts-microchip-lan969x-add-OTP-node.patch | 2 +- ...ts-microchip-lan969x-add-SDMMC-nodes.patch | 2 +- ...4-dts-microchip-ev23x71a-enable-eMMC.patch | 2 +- ...rvey-the-requested-interface-not-the.patch | 2 +- ...nor-caller-s-rtnl-lock-when-stopping.patch | 2 +- ...t-cfg_to_ndev-return-NULL-and-harden.patch | 2 +- ...pport-deletion-and-recreation-of-the.patch | 2 +- ...port-port-authorized-after-offloaded.patch | 2 +- ...m-AT91-document-Novarq-Tactical-1000.patch | 2 +- ...s-microchip-add-Novarq-Tactical-1000.patch | 2 +- ...crochip-tactical-1000-add-port-names.patch | 2 +- ...icrochip-tactical-1000-adapt-to-6.18.patch | 2 +- ...ngs-arm-AT91-document-EV23X71A-board.patch | 2 +- ...-default-priority-init-on-unsupporte.patch | 2 +- ...se-the-global-DCB-APP-mirroring-help.patch | 2 +- ...net-dsa-Support-the-PCP-APP-selector.patch | 2 +- ...net-dsa-Support-DCB-priority-rewrite.patch | 2 +- ...-Support-the-IEEE-ETS-managed-object.patch | 2 +- ...leep-in-atomic-context-in-MAC-table-.patch | 2 +- ...ymreg-symreg-debugfs-driver-DBB-1045.patch | 2 +- ..._wed-map-WO-memory-regions-without-r.patch | 2 +- ...-fix-kernel-panic-on-non-DBDC-MT7986.patch | 2 +- ...-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch | 2 +- ...-add-WDS-support-when-WED-is-enabled.patch | 2 +- ..._wed-increase-WED-v2-WDMA-RESV_BUFF-.patch | 2 +- ...-publish-wcid-before-MCU-add-command.patch | 2 +- ...ulticast-delivery-to-the-CPU-on-stan.patch | 2 +- ...roadcast-to-the-CPU-on-bridge-ports-.patch | 99 +++++++++++ ...AC-table-entry-shared-by-bridge-VID-.patch | 156 ++++++++++++++++++ ...oss-of-a-bridged-port-s-MAC-entry-on.patch | 73 ++++++++ 91 files changed, 423 insertions(+), 87 deletions(-) create mode 100644 patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch create mode 100644 patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch create mode 100644 patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 046d04b18..f1d24445a 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -109,6 +109,14 @@ All notable changes to the project are documented in this file. kept dropping out of the test rig - LAN969x: kernel BUG "scheduling while atomic" when a multicast address was added to or removed from a port outside any bridge +- LAN969x: the IP address of a bridge was unreachable from its ports, while + forwarding between the ports worked. Broadcast from a bridge port never + reached the CPU, so ARP went unanswered, and the bridge's own MAC address + was missing from the switch MAC table, so unicast to the bridge was + flooded to the ports instead of delivered +- LAN969x: disabling the first port of a bridge, whose MAC address the + bridge uses, cut the bridge IP address off until the port was enabled + again - PTP ports with PHY timestamping, e.g. the copper ports on LAN969x boards, kept dropping to the faulty state because the transmit timestamp arrived later than the 10 ms the PTP daemon waited for it diff --git a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index e0ca5d206..d27532df6 100644 --- a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ From ca34ebe2b40b53b52a5ea6fb00b7bb36eeeabb5f Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 01/87] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 01/90] net: phy: marvell10g: Support firmware loading on 88X3310 When probing, if a device is waiting for firmware to be loaded into diff --git a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index 61f9b6f16..9e07585d0 100644 --- a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ From 59532ff26cccf476b4e6f8eeaf2e733c93106a78 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 02/87] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 02/90] net: phy: marvell10g: Fix power-up when strapped to start powered down On devices which are hardware strapped to start powered down (PDSTATE diff --git a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index a2ca8becd..589da3e9c 100644 --- a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ From 2881f5a7008a4b7a214f63960f1d199f55a7a78a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 03/87] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 03/90] net: phy: marvell10g: Add LED support for 88X3310 Pickup the LEDs from the state in which the hardware reset or bootloader left them, but also support further configuration via diff --git a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index dd6fda79f..530a5fbfd 100644 --- a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ From 67a62752bdb5e1e45982289b2eda1f5df4ca6f47 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 04/87] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 04/90] net: phy: marvell10g: Support LEDs tied to a single media side In a combo-port setup, i.e. where both the copper and fiber interface diff --git a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch index dbbdf895f..ad4a7da31 100644 --- a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ From a60255d4ba8ea888ecb86e92a2c65334a26f6384 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 05/87] net: phy: Do not resume PHY when attaching +Subject: [PATCH 05/90] net: phy: Do not resume PHY when attaching The PHY should not start negotiating with its link-partner until explicitly instructed to do so. diff --git a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index ebb09de83..32fee596e 100644 --- a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ From 3fc8e2a80589a5a5ae02fac7b3f97f195cb90930 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 06/87] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 06/90] net: bridge: avoid classifying unknown multicast as mrouters_only Unknown multicast, MAC/IPv4/IPv6, should always be flooded according to diff --git a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index 5359c77f8..8a78e3b88 100644 --- a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ From 8f5cf3a448d6e7a1d00043debd0bf1fcaf706680 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 07/87] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 07/90] net: bridge: Ignore router ports when forwarding L2 multicast Multicast router ports are either statically configured or learned from diff --git a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch index 85a7246b1..159af4920 100644 --- a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ From a42722822b7ff8ea8ac5e65a8449bb72b1ef8c05 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 08/87] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 08/90] net: bridge: drop delay for applying strict multicast filtering This *local* patch drops the initial delay before applying strict multicast diff --git a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch index f1dcd3d53..31a1a7fe8 100644 --- a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ From 2722df35856114c70f9896452d155b660f804ed8 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 09/87] net: bridge: Differentiate MDB additions from +Subject: [PATCH 09/90] net: bridge: Differentiate MDB additions from modifications Before this change, the reception of an IGMPv3 report (and analogously diff --git a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index 8f6c8ccbd..7f1e597ea 100644 --- a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ From 17f03931f23a3ed1dbe6f77a7e48bfdc11f17140 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 10/87] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 10/90] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Before this change, probing an NVMEM device, expected to contain a diff --git a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 2016842c7..7e1afb08e 100644 --- a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,7 +1,7 @@ From cbc993b90307a45db570d20bce5e651100bafaa7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 11/87] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 11/90] net: usb: r8152: add r8153b support for link/activity LEDs This patch adds support for the link/activity LEDs on the NanoPi R2S diff --git a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch index 3a6583ed0..60fee5542 100644 --- a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch +++ b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch @@ -1,7 +1,7 @@ From 0c1a54359f6989eedad98678e030fc1d8fb44da0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 10 Aug 2025 18:52:54 +0200 -Subject: [PATCH 12/87] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to +Subject: [PATCH 12/90] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to match case For ref. see: https://wiki.banana-pi.org/File:Bpi-r3_Metal_case.jpg diff --git a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 5ed508028..bb2a18d6d 100644 --- a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -1,7 +1,7 @@ From 2cbb47d51538a83315595715405a328552b9a753 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 20 Aug 2025 21:38:24 +0200 -Subject: [PATCH 13/87] drm/panel-simple: Add a timing for the Raspberry Pi 7" +Subject: [PATCH 13/90] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI diff --git a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch index bbc466698..8e61e1f7f 100644 --- a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch +++ b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch @@ -1,7 +1,7 @@ From fed97704c224902b2d79c81492c5a50ccd97793b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 21 Aug 2025 11:20:23 +0200 -Subject: [PATCH 14/87] input:touchscreen:edt-ft5x06: Add polled mode +Subject: [PATCH 14/90] input:touchscreen:edt-ft5x06: Add polled mode Not all hardware has interrupts therefore we need to poll the touchscreen. diff --git a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index 0872ea891..ee044bada 100644 --- a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ From 11f9f49b62a6eb3a73a523541b3f26f6958e0d49 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 15/87] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 15/90] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X In a multi-chip setup, delays of up to 750ms are observed before the diff --git a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index 82a0ba19a..47be088e2 100644 --- a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ From 6aed16ecedd6e8d3594474b00b4f80a6a75372c1 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 16/87] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 16/90] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 When operating in multi-chip mode, the 6393 family maps a subset of diff --git a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index 042b9a3e1..a53087d57 100644 --- a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ From 627e2902f0b11f9994e5c8c92627791b60069cdb Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 17/87] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 17/90] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Keep all link parameters in their unforced states when the port is diff --git a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index afec77930..245cafbcc 100644 --- a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ From 1ad63ed23d72ed2429bcb7393aac0e82affde9e3 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 18/87] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 18/90] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X For packets with a DA in the IEEE reserved L2 group range, originating diff --git a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index a2f3b62b1..673976e74 100644 --- a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ From 29b6583d7463dfddbfbb0e30a70de7707f5c86b0 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 19/87] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 19/90] net: dsa: tag_dsa: Use tag priority as initial skb->priority Use the 3-bit priority field from the DSA tag as the initial packet diff --git a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index 254225f62..f6ccfdd97 100644 --- a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ From 6cebfb46fd0a75b04f2481dcbd43cb9442bb1e12 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 20/87] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 20/90] net: dsa: Support MDB memberships whose L2 addresses overlap Multiple IP multicast groups (32 for v4, 2^80 for v6) map to the same diff --git a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch index ca1d7f470..c414338d6 100644 --- a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ From 2b39a3958e00546ff1c6f0cc523970d19355d796 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 21/87] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 21/90] net: dsa: Support EtherType based priority overrides --- include/net/dsa.h | 4 ++++ diff --git a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index fdc346d27..496469295 100644 --- a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ From 3769055203bee35077c685d850f0debbac52459e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 22/87] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 22/90] net: dsa: mv88e6xxx: Support EtherType based priority overrides --- diff --git a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index 2b8b53f13..c454a3098 100644 --- a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ From bf8849ce4ee5e95f33c435914a5d7c8e6e16e416 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 23/87] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 23/90] net: dsa: mv88e6xxx: Add mqprio qdisc support Add support for attaching mqprio qdisc's to mv88e6xxx ports and use the packet's traffic class as the outgoing priority when no PCP bits diff --git a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index 42de3ce87..d4179b110 100644 --- a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ From 73b39094d7cdd592ec6fb18164590678789ab37a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 24/87] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 24/90] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Switch the priority sourcing precdence to prefer VLAN PCP over IP diff --git a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index 2c68cc103..ce843c490 100644 --- a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ From 320983cf57f27f4138a4736388ad384ea9754d37 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 25/87] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 25/90] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Before this change, in a setup like the following, packets assigned to diff --git a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index ddb49d39f..d53c0d0d2 100644 --- a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ From 95d919b20d95e7d33432d450e2caafa42105d645 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 26/87] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 26/90] net: dsa: mv88e6xxx: collapse disabled state into blocking This patch changes the behavior of switchcore ports wrt. the port state. diff --git a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index e6e3d5f3a..907e62f3b 100644 --- a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ From 4a67cefaa3e4d69034afee21162133191863e841 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 27/87] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 27/90] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged The current port isolation scheme for mv88e6xxx is detailed here: diff --git a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index fb9e21919..0c4d34a22 100644 --- a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ From de1f05b6ee9af9d4f7deb7cde43e28d81e1b7f7f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 14 Jan 2026 18:22:41 +0100 -Subject: [PATCH 28/87] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 28/90] net: dsa: mv88e6xxx: Add LED support for 6393X Original commit: commit 462277b926140ee2d231317e92afb6cabf640268 diff --git a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch index f78bffb9b..4819ed05b 100644 --- a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch +++ b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch @@ -1,7 +1,7 @@ From 5ba4ebc2cbcc3efdb8c68e64de2e3e1d36f700ca Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 19 Jan 2026 13:06:53 +0100 -Subject: [PATCH 29/87] wifi: brcmfmac: check connection state before querying +Subject: [PATCH 29/90] wifi: brcmfmac: check connection state before querying station info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch index de35424aa..ecd190e95 100644 --- a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch +++ b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch @@ -1,7 +1,7 @@ From e714d2bb8736f8befb0e223b4de054981125010e Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:12:10 +0100 -Subject: [PATCH 30/87] wifi: brcmfmac: suppress log spam for +Subject: [PATCH 30/90] wifi: brcmfmac: suppress log spam for regulatory-restricted channels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch index e9c443d05..8311fe534 100644 --- a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch +++ b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch @@ -1,7 +1,7 @@ From 09696680be45dbeb24e8a722c3d4030b7737e11a Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:18:45 +0100 -Subject: [PATCH 31/87] wifi: brcmfmac: reduce log noise during AP to station +Subject: [PATCH 31/90] wifi: brcmfmac: reduce log noise during AP to station transition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch index f470c50ab..0d54b6256 100644 --- a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch +++ b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch @@ -1,7 +1,7 @@ From 28322c174df66701c2f4283bf338a3032a8121bc Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 17 Feb 2026 21:59:59 +0100 -Subject: [PATCH 32/87] net: phy: air_en8811h: add OF device table for +Subject: [PATCH 32/90] net: phy: air_en8811h: add OF device table for auto-loading mdio_uevent() only emits an OF-style MODALIAS via diff --git a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch index 02bcdcd21..efdce12fa 100644 --- a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch +++ b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch @@ -1,7 +1,7 @@ From 53aba25643ef8e41021eab9b61242f3151fa3a56 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 20 Sep 2024 12:05:18 +0100 -Subject: [PATCH 33/87] drm: vc4: dsi: enable video and then retry failed +Subject: [PATCH 33/90] drm: vc4: dsi: enable video and then retry failed transfers The DSI block appears to be able to come up stuck in a condition where diff --git a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch index 791eea07d..8f1b0b770 100644 --- a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch +++ b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch @@ -1,7 +1,7 @@ From b145fb6117a42c835d69cee8d01b7679396541e6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Jun 2022 17:23:47 +0100 -Subject: [PATCH 34/87] drm: vc4: dsi: Clocks should be running before reset +Subject: [PATCH 34/90] drm: vc4: dsi: Clocks should be running before reset The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and diff --git a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch index 00a40e4a0..6ec806c4c 100644 --- a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch +++ b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch @@ -1,7 +1,7 @@ From 394a21d586f7f13a5cb822ed95ef986dfb17ca87 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2024 17:51:55 +0100 -Subject: [PATCH 35/87] drm/vc4: Ensure DSI is enabled for FIFO resets +Subject: [PATCH 35/90] drm/vc4: Ensure DSI is enabled for FIFO resets The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. diff --git a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch index fac56914d..f3ce772c3 100644 --- a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch +++ b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch @@ -1,7 +1,7 @@ From 5b807e23d91f3d90697f74d484276e574670aa2c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 26 May 2022 18:56:19 +0100 -Subject: [PATCH 36/87] drm: vc4: Reset DSI AFE on disable +Subject: [PATCH 36/90] drm: vc4: Reset DSI AFE on disable vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. diff --git a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch index c23f63afe..a3cec9a4d 100644 --- a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch +++ b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch @@ -1,7 +1,7 @@ From 1610998f5338234b29c335d18ffeb00c2dcec73a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Nov 2024 13:58:08 +0000 -Subject: [PATCH 37/87] drm: vc4: dsi: Handle the different command FIFO widths +Subject: [PATCH 37/90] drm: vc4: dsi: Handle the different command FIFO widths DSI0 and DSI1 have different widths for the command FIFO (24bit vs 32bit), but the driver was assuming the 32bit width of DSI1 diff --git a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch index ca41829ef..b98fe8787 100644 --- a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch +++ b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch @@ -1,7 +1,7 @@ From 0c2f36c6efa65abc8d2c5179903c3fb5afac9874 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 17:37:00 +0000 -Subject: [PATCH 38/87] drm/bridge: tc358762: Program the DPI mode into the +Subject: [PATCH 38/90] drm/bridge: tc358762: Program the DPI mode into the chip The autodetection of resolution/timing by the TC358762 can lead diff --git a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch index b77ddce68..5fc9d63e0 100644 --- a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch +++ b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch @@ -1,7 +1,7 @@ From 91f9e48ff0405e6b8ec9d046b7f37d96f99483c5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 18:44:49 +0000 -Subject: [PATCH 39/87] drm/bridge: tc358762: revert move ops to enable +Subject: [PATCH 39/90] drm/bridge: tc358762: revert move ops to enable Reverts 8a4b2fc9c91a ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. diff --git a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch index c286afd3d..78ba6ab11 100644 --- a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch +++ b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch @@ -1,7 +1,7 @@ From 18d15d554c004a795771c8adb8abb6ef54f22985 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Sat, 4 Apr 2026 18:04:19 +0200 -Subject: [PATCH 40/87] drm/bridge: tc358762: Set pre_enabled on pre_enable to +Subject: [PATCH 40/90] drm/bridge: tc358762: Set pre_enabled on pre_enable to prevent regulator imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch index d03cf72b9..d22ae3b75 100644 --- a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch +++ b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch @@ -1,7 +1,7 @@ From a2fc20fe20ad386cff232905d1858f9af21ecaf2 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 5 Apr 2026 11:33:00 +0200 -Subject: [PATCH 41/87] net/pcs: add standalone PCS registration infrastructure +Subject: [PATCH 41/90] net/pcs: add standalone PCS registration infrastructure Add a simple registration mechanism that allows platform PCS drivers to register their phylink_pcs instances, and consumers (e.g. Ethernet MAC diff --git a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch index 9d7fd3f14..f3d66fbd2 100644 --- a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch +++ b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch @@ -1,7 +1,7 @@ From 6c0e1262a95027d0ef8fb263353e5a4382529437 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:14:23 +0200 -Subject: [PATCH 42/87] net/pcs: add MediaTek MT7988 USXGMII PCS driver +Subject: [PATCH 42/90] net/pcs: add MediaTek MT7988 USXGMII PCS driver Add a PCS driver for the USXGMII subsystem found in the MediaTek MT7988 SoC (usxgmiisys0 at 0x10080000, usxgmiisys1 at 0x10081000). The hardware diff --git a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch index a8c2886c1..e7b099f92 100644 --- a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch +++ b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch @@ -1,7 +1,7 @@ From 7a3a934b66b5a38e732f6c28f76c45b43cea4e15 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:43 +0200 -Subject: [PATCH 43/87] net: ethernet: mediatek: add USXGMII support for MT7988 +Subject: [PATCH 43/90] net: ethernet: mediatek: add USXGMII support for MT7988 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch index 4447242f9..fe02fd129 100644 --- a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch +++ b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch @@ -1,7 +1,7 @@ From d320f311c3e132191b319db4d7f7e3e3f5ed58df Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:56 +0200 -Subject: [PATCH 44/87] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes +Subject: [PATCH 44/90] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes Add device nodes for the two USXGMII subsystem blocks (usxgmiisys0 at 0x10080000 and usxgmiisys1 at 0x10081000), each referencing its clock, diff --git a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch index b6e35eb95..61ea7fb1d 100644 --- a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch +++ b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch @@ -1,7 +1,7 @@ From d83185ab2d0bc45de5c33b6fc50006e166f39417 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:16:11 +0200 -Subject: [PATCH 45/87] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ +Subject: [PATCH 45/90] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ ports and WPS button Enable the SFP+ cages wired to gmac1 and gmac2. The USXGMII PCS nodes diff --git a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch index 0e566b1d3..48e7ffc62 100644 --- a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch +++ b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch @@ -1,7 +1,7 @@ From fa401f49e78eeefa6ef1752733c87b1d67655125 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 7 Apr 2026 07:34:52 +0200 -Subject: [PATCH 46/87] net: phy: sfp: add OEM SFP-10G-T-I quirk +Subject: [PATCH 46/90] net: phy: sfp: add OEM SFP-10G-T-I quirk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch index 6aeceb32f..775b3ff67 100644 --- a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch +++ b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch @@ -1,7 +1,7 @@ From 79c898ca16e60f10eafaf89110b5d2c24bd9ac2c Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 17 Apr 2026 09:13:04 +0000 -Subject: [PATCH 47/87] net: dsa: mv88e6xxx: Trap PTP frames on timestamping +Subject: [PATCH 47/90] net: dsa: mv88e6xxx: Trap PTP frames on timestamping ports, on 6393X Similar to the Peridot (6390), the designation of PTP frames as diff --git a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch index 0b530396c..08c8e0031 100644 --- a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch +++ b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch @@ -1,7 +1,7 @@ From 0f8cdee2b15e4d5c36520e274ebc74371ec8de68 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 28 Apr 2026 15:30:01 +0200 -Subject: [PATCH 48/87] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 +Subject: [PATCH 48/90] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 wmac Without MODULE_DEVICE_TABLE(of, ...) the OF compatible alias is never diff --git a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch index b6b8f524d..5036d0e9d 100644 --- a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch +++ b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch @@ -1,7 +1,7 @@ From 5f9aa8845b841fcada5fa58f92ceaa9bb9fabcb4 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 22 Apr 2026 10:24:43 +0200 -Subject: [PATCH 49/87] PCI: mediatek-gen3: Fix PERST# control timing during +Subject: [PATCH 49/90] PCI: mediatek-gen3: Fix PERST# control timing during system startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch index 841328fb2..aebaf163a 100644 --- a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch +++ b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch @@ -1,7 +1,7 @@ From 024fb8fd29a48bb85f355b5a4a558c8ab6875b3c Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 12 Aug 2026 10:08:53 +0200 -Subject: [PATCH 50/87] net: dsa: mv88e6xxx: Derive LED names from device name +Subject: [PATCH 50/90] net: dsa: mv88e6xxx: Derive LED names from device name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch index 6d6f45e2a..6c59194f9 100644 --- a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch +++ b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch @@ -1,7 +1,7 @@ From f42698c6d686cabca0fced226a63e09c438fbc78 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 31 Oct 2025 13:18:12 +0100 -Subject: [PATCH 51/87] phy: sparx5-serdes: make it selectable for ARCH_LAN969X +Subject: [PATCH 51/90] phy: sparx5-serdes: make it selectable for ARCH_LAN969X LAN969x uses the SparX-5 SERDES driver, so make it selectable for ARCH_LAN969X. diff --git a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch index a09ec435b..2272f0855 100644 --- a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch +++ b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch @@ -1,7 +1,7 @@ From da55a0660bc7a764abd39b28d1b588d58cfafcf7 Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:38 +0200 -Subject: [PATCH 52/87] net: sparx5: fix wrong chip ids for TSN SKUs +Subject: [PATCH 52/90] net: sparx5: fix wrong chip ids for TSN SKUs The TSN SKUs in enum spx5_target_chiptype have incorrect IDs: diff --git a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch index 29d8c9d2c..82f969889 100644 --- a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch +++ b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch @@ -1,7 +1,7 @@ From 13292f9168073d35dfa05f2c3e8402e18bf3f9ce Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:39 +0200 -Subject: [PATCH 53/87] net: sparx5: configure serdes for 1000BASE-X in +Subject: [PATCH 53/90] net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init() sparx5_port_init() only invokes sparx5_serdes_set() and the associated diff --git a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch index 79ac34795..78cfea02b 100644 --- a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch +++ b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch @@ -1,7 +1,7 @@ From 704c64713d2d2d34a22e0d2f8066996bc62d9120 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:29 +0200 -Subject: [PATCH 54/87] dt-bindings: mmc: atmel,sama5d2-sdhci: add +Subject: [PATCH 54/90] dt-bindings: mmc: atmel,sama5d2-sdhci: add microchip,lan969x-sdhci The LAN969x SDMMC controller has its own base clock divider and, unlike diff --git a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch index 6d0bdbbca..a5e877075 100644 --- a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From ae98994e45aaa55ecff09321aa65601561aefab4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:44 +0200 -Subject: [PATCH 55/87] mmc: sdhci-of-at91: add LAN969x support +Subject: [PATCH 55/90] mmc: sdhci-of-at91: add LAN969x support The LAN969x SDMMC controller is an Atmel SDMMC IP block, but the driver has no compatible for it, so the eMMC on LAN969x boards never probes. diff --git a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch index b3f90691f..ef6e9df70 100644 --- a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch +++ b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch @@ -1,7 +1,7 @@ From 4a50546ae4abb37070703d1ce20149b65fdd1a51 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:37:48 +0200 -Subject: [PATCH 56/87] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC +Subject: [PATCH 56/90] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC hardware reset The controller is reset, and its signaling mode changed, with SDCLK diff --git a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch index d62ce7406..19441c397 100644 --- a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch +++ b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch @@ -1,7 +1,7 @@ From ba2f77ed48aae661eed6cb213162a612f4792931 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 10 Nov 2025 13:42:53 +0100 -Subject: [PATCH 57/87] net: sparx5/lan969x: populate netdev of_node +Subject: [PATCH 57/90] net: sparx5/lan969x: populate netdev of_node Populate of_node for the port netdevs, to make the individual ports of_nodes available in sysfs. diff --git a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch index fda92d7a8..098b61009 100644 --- a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch +++ b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch @@ -1,7 +1,7 @@ From b8f745bf145aed656a87edcf2cee16caef2950e2 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:11 +0100 -Subject: [PATCH 58/87] arm64: dts: microchip: add LAN969x clock header file +Subject: [PATCH 58/90] arm64: dts: microchip: add LAN969x clock header file LAN969x uses hardware clock indexes, so document theses in a header to make them humanly readable. diff --git a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch index a9021f8a1..c166ec9d0 100644 --- a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From c3fc7872ff9176197161d2695a4d3fbbe2d90f90 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:12 +0100 -Subject: [PATCH 59/87] arm64: dts: microchip: add LAN969x support +Subject: [PATCH 59/90] arm64: dts: microchip: add LAN969x support Add support for Microchip LAN969x switch SoC series by adding the SoC DTSI. diff --git a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch index e532dc878..937531338 100644 --- a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b10c04d81bb96ab0b09484ee2a2373482b56f26d Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:14 +0100 -Subject: [PATCH 60/87] arm64: dts: microchip: add EV23X71A board +Subject: [PATCH 60/90] arm64: dts: microchip: add EV23X71A board Microchip EV23X71A is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch index a4738ff8c..5a9910d48 100644 --- a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch +++ b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch @@ -1,7 +1,7 @@ From c6af26aff045284fc98aae066d46385e74ab82c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 15 May 2026 13:59:09 +0200 -Subject: [PATCH 61/87] arm64: dts: microchip: lan969x: add OTP node +Subject: [PATCH 61/90] arm64: dts: microchip: lan969x: add OTP node Add the required OTP on LAN969x. diff --git a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch index ec5c6fce3..c44379fbc 100644 --- a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch +++ b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch @@ -1,7 +1,7 @@ From 7df6f654874cc48a7bea2d8d2d78fe8e9c1c90c7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 62/87] arm64: dts: microchip: lan969x: add SDMMC nodes +Subject: [PATCH 62/90] arm64: dts: microchip: lan969x: add SDMMC nodes The SoC has two SDMMC controllers, neither of which is described, so boards with eMMC have no way to enable it. Add both, disabled by diff --git a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch index 498f94569..8782fbe51 100644 --- a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch +++ b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch @@ -1,7 +1,7 @@ From b41259b09f91a140bc0350d7f473d9fee3fbe8b3 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 63/87] arm64: dts: microchip: ev23x71a: enable eMMC +Subject: [PATCH 63/90] arm64: dts: microchip: ev23x71a: enable eMMC The board has an 8-bit eMMC on SDMMC0, and defines the emmc_sd pinctrl group for it, but nothing enables the controller. diff --git a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch index 6978ff5ca..757ef2c49 100644 --- a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch +++ b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch @@ -1,7 +1,7 @@ From 54b38afac5c46299c8a7ebe594b35774d134389b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:42:48 +0200 -Subject: [PATCH 64/87] wifi: brcmfmac: survey the requested interface, not the +Subject: [PATCH 64/90] wifi: brcmfmac: survey the requested interface, not the primary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch index 11ecb0789..0fac6703a 100644 --- a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch +++ b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch @@ -1,7 +1,7 @@ From b2c521013e15b485455469fa4a263de2cf04dd02 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:43:14 +0200 -Subject: [PATCH 65/87] wifi: brcmfmac: honor caller's rtnl lock when stopping +Subject: [PATCH 65/90] wifi: brcmfmac: honor caller's rtnl lock when stopping primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch index d695bb467..2d410f999 100644 --- a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch +++ b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch @@ -1,7 +1,7 @@ From 0e082428a5013b6d35567cf122119af2772f909f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:46:25 +0200 -Subject: [PATCH 66/87] wifi: brcmfmac: let cfg_to_ndev() return NULL and +Subject: [PATCH 66/90] wifi: brcmfmac: let cfg_to_ndev() return NULL and harden its callers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch index 7bcfaa252..2bb519cf8 100644 --- a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch +++ b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch @@ -1,7 +1,7 @@ From 102750f26d8cbf5d58936b4c9c6da801433c4314 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 16:05:17 +0200 -Subject: [PATCH 67/87] wifi: brcmfmac: support deletion and recreation of the +Subject: [PATCH 67/90] wifi: brcmfmac: support deletion and recreation of the primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch index 221f6467c..c96525153 100644 --- a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch +++ b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch @@ -1,7 +1,7 @@ From b965ae0c551ae3e2df6937933b6bdd1c42753a43 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 10 Sep 2026 08:29:47 +0200 -Subject: [PATCH 68/87] wifi: brcmfmac: report port authorized after offloaded +Subject: [PATCH 68/90] wifi: brcmfmac: report port authorized after offloaded PSK/SAE handshake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch index 7ec93b61c..34f633f19 100644 --- a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From f5f7599f8af9db56b09f26d22b20ee75defe1717 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 9 Jan 2026 13:27:00 +0100 -Subject: [PATCH 69/87] dt-bindings: arm: AT91: document Novarq Tactical 1000 +Subject: [PATCH 69/90] dt-bindings: arm: AT91: document Novarq Tactical 1000 Novarq Tactical 1000 is a Microchip LAN9696 based 24x1G + 4x10G SFP switch. diff --git a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch index 9c9d9e19f..9d3abbb6d 100644 --- a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From 8b4b41c449758451c7dbcdd9092b9bd0e0a2b082 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Sep 2025 13:37:49 +0200 -Subject: [PATCH 70/87] arm64: dts: microchip: add Novarq Tactical 1000 +Subject: [PATCH 70/90] arm64: dts: microchip: add Novarq Tactical 1000 Novarq Tactical 1000 is a LAN9696 based switch featuring 24x1G and 4x10G SFP ports. diff --git a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch index 9292b8c99..58b6f622e 100644 --- a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch +++ b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch @@ -1,7 +1,7 @@ From f973058544e1b44fd551db6a230659dbce67313e Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Jun 2026 11:23:47 +0200 -Subject: [PATCH 71/87] arm64: dts: microchip: tactical-1000: add port names +Subject: [PATCH 71/90] arm64: dts: microchip: tactical-1000: add port names Now that driver supports parsing the "label" property, populate port names as they are physically wired up. diff --git a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch index 70a387d90..4fb541210 100644 --- a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch +++ b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch @@ -1,7 +1,7 @@ From d49813a338d7c9b9d69e38e1fcc1c937c588a071 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 20 Sep 2026 12:22:43 +0200 -Subject: [PATCH 72/87] arm64: dts: microchip: tactical-1000: adapt to 6.18 +Subject: [PATCH 72/90] arm64: dts: microchip: tactical-1000: adapt to 6.18 Novarq develop against 7.3, which has three things 6.18 does not: a QSPI controller node, a tmon that also provides the fan PWM, and hence a SoC diff --git a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch index bc337a35c..988bf4d67 100644 --- a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b5afb74688659804bbed4bca3928c98975daf2c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:13 +0100 -Subject: [PATCH 73/87] dt-bindings: arm: AT91: document EV23X71A board +Subject: [PATCH 73/90] dt-bindings: arm: AT91: document EV23X71A board Microchip EV23X71A board is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch index 7b5e8e0d8..94e93af86 100644 --- a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch +++ b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch @@ -1,7 +1,7 @@ From 45fd43a305c595ea24b0de5cf090affeffc4029f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:21 +0200 -Subject: [PATCH 74/87] net: dsa: Skip DCB default priority init on unsupported +Subject: [PATCH 74/90] net: dsa: Skip DCB default priority init on unsupported switches A driver serving several chip generations has one dsa_switch_ops for diff --git a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch index 826a0d3c3..587e8c028 100644 --- a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch +++ b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch @@ -1,7 +1,7 @@ From cb31150945889f02373febe89f618afee36c6e62 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:51:07 +0200 -Subject: [PATCH 75/87] net: dsa: Generalise the global DCB APP mirroring +Subject: [PATCH 75/90] net: dsa: Generalise the global DCB APP mirroring helper A switch with one classification table for all its ports programs it diff --git a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch index 92217fd83..041ad0c39 100644 --- a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch +++ b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch @@ -1,7 +1,7 @@ From e1a8005d2fc1813b71e65c79e700da5635e639e0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:22 +0200 -Subject: [PATCH 76/87] net: dsa: Support the PCP APP selector +Subject: [PATCH 76/90] net: dsa: Support the PCP APP selector Add port_add_pcp_prio, port_del_pcp_prio and port_get_pcp_prio switch ops and route the DCB_APP_SEL_PCP selector to them, mirroring the DSCP diff --git a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch index b321c8314..e2fb1cb81 100644 --- a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch +++ b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch @@ -1,7 +1,7 @@ From fb3ca7803ea876f7d96514696615143835bc78f9 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:10:32 +0200 -Subject: [PATCH 77/87] net: dsa: Support DCB priority rewrite +Subject: [PATCH 77/90] net: dsa: Support DCB priority rewrite The DCB rewrite table maps a priority back to the PCP and DEI, or the DSCP, that frames are remarked with on egress. DSA has no diff --git a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch index 3f46f4bcf..437189bc6 100644 --- a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch +++ b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch @@ -1,7 +1,7 @@ From 46e44f7a4aba62dc94958e01638e8e93ea62e59b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:53:23 +0200 -Subject: [PATCH 78/87] net: dsa: Support the IEEE ETS managed object +Subject: [PATCH 78/90] net: dsa: Support the IEEE ETS managed object A switch port's transmission selection is configured today through the ets queuing discipline, which numbers its bands the other way round diff --git a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch index 50faa4060..6de6c534d 100644 --- a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch +++ b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch @@ -1,7 +1,7 @@ From 308c9dbab764bef06cceb03e412b491ea57234b5 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 11:42:12 +0200 -Subject: [PATCH 79/87] net: sparx5: fix sleep in atomic context in MAC table +Subject: [PATCH 79/90] net: sparx5: fix sleep in atomic context in MAC table access Adding or removing a multicast address on an unbridged switch port diff --git a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch index 19d2af87b..e34500e5b 100644 --- a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch +++ b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch @@ -1,7 +1,7 @@ From c6f8b6a050e69c951ce0ce56467b6e9fd9a638f1 Mon Sep 17 00:00:00 2001 From: Steen Hegelund Date: Wed, 21 Jan 2026 10:09:45 +0100 -Subject: [PATCH 80/87] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) +Subject: [PATCH 80/90] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) Expose the switch register space of Microchip Sparx5 family SoCs through /sys/kernel/debug/symreg/mem, for the symreg tool, which diff --git a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch index af752a6ff..42fddfdd5 100644 --- a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch +++ b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch @@ -1,7 +1,7 @@ From e0e6e024e5e5866ff61b68bf9790fd24e542d7e2 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 5 Oct 2026 14:37:56 +0200 -Subject: [PATCH 81/87] net: ethernet: mtk_wed: map WO memory regions without +Subject: [PATCH 81/90] net: ethernet: mtk_wed: map WO memory regions without requesting them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch index 45184fad8..8dc477397 100644 --- a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch +++ b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch @@ -1,7 +1,7 @@ From 8c40b743cd6f8117c177291988ffe1980e9595cd Mon Sep 17 00:00:00 2001 From: Zhi-Jun You Date: Wed, 15 Jul 2026 23:21:12 +0800 -Subject: [PATCH 82/87] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 +Subject: [PATCH 82/90] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch index 2de332426..f4583396d 100644 --- a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch +++ b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch @@ -1,7 +1,7 @@ From 9b5a788cc9a12f1b23ad0e84dfaa78008a399b49 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 7 Oct 2026 22:20:00 +0200 -Subject: [PATCH 83/87] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a +Subject: [PATCH 83/90] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a band1-only device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch index 2c10ee18f..a8cca1d9d 100644 --- a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch +++ b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch @@ -1,7 +1,7 @@ From a39e22f32c005cb7096e66789000b2a9209444d0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 20 Oct 2025 15:59:12 +0200 -Subject: [PATCH 84/87] wifi: mt76: mt7915: add WDS support when WED is enabled +Subject: [PATCH 84/90] wifi: mt76: mt7915: add WDS support when WED is enabled The current WED only supports 256 wcid, whereas mt7986 can support up to 512 entries, so firmware provides a rule to get sta_info by DA when wcid diff --git a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch index 6f52ec599..af981e265 100644 --- a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch +++ b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch @@ -1,7 +1,7 @@ From 3d86eb80be2c4367e3293e783d26b6b452840287 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 19 Aug 2026 21:07:07 +0800 -Subject: [PATCH 85/87] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF +Subject: [PATCH 85/90] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF to 0x80 Change WDMA RESV_BUFF from 0x40 to 0x80 to avoid CDM TX FIFO overflow. diff --git a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch index 3e1203ecc..cb09a2b57 100644 --- a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch +++ b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch @@ -1,7 +1,7 @@ From 57ac316f70b79c0e2709e6221aca6b9026f8ce1c Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Fri, 21 Aug 2026 09:00:01 +0000 -Subject: [PATCH 86/87] wifi: mt76: mt7915: publish wcid before MCU add +Subject: [PATCH 86/90] wifi: mt76: mt7915: publish wcid before MCU add commands mt7915_add_interface() enables the BSS/STA in firmware via diff --git a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch index edcc8a1af..b2c41f8eb 100644 --- a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch +++ b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch @@ -1,7 +1,7 @@ From f3602976d1b9b1b5a741c1116a5ed1066872212c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 17:30:17 +0200 -Subject: [PATCH 87/87] net: sparx5: fix multicast delivery to the CPU on +Subject: [PATCH 87/90] net: sparx5: fix multicast delivery to the CPU on standalone ports A standalone port stops receiving a multicast group as soon as any diff --git a/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch b/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch new file mode 100644 index 000000000..b2d4d8350 --- /dev/null +++ b/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch @@ -0,0 +1,99 @@ +From 1dee287024abcffa206501a9c27d2b58c17c12d1 Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Thu, 8 Oct 2026 13:48:05 +0200 +Subject: [PATCH 88/90] net: sparx5: fix broadcast to the CPU on bridge ports + without a PVID + +Ports of a bridge created with vlan_default_pvid 0 never deliver +broadcast to the CPU. ARP requests from the ports go unanswered and +the bridge IP address is unreachable, while unicast and forwarding +between the ports work: + + ip link add br0 address $mac type bridge vlan_default_pvid 0 + ip link set eth0 master br0 + ip addr add 10.0.0.1/24 dev br0 + +The driver classifies bridged ports without a PVID to VID 1, to keep +them apart from the standalone ports on VID 0. Broadcast on a VID +only reaches the CPU through a MAC table entry pointing to PGID_BCAST, +which the driver learns when the bridge adds the VLAN and forgets when +the bridge removes it. A new bridge starts with VLAN 1, so the entry +for VID 1 is learned, and setting vlan_default_pvid 0 removes VLAN 1 +again, which forgets the entry the PVID-less ports depend on. + +Learn the VID 1 broadcast entry at probe, like the VID 0 entry for +standalone ports, and keep it when VLAN 1 is removed from the bridge. + +Fixes: d6fce5141929 ("net: sparx5: add switching support") +Signed-off-by: Joachim Wiberg +--- + .../net/ethernet/microchip/sparx5/sparx5_mactable.c | 5 +++++ + drivers/net/ethernet/microchip/sparx5/sparx5_main.h | 1 + + .../net/ethernet/microchip/sparx5/sparx5_switchdev.c | 12 +++++++----- + 3 files changed, 13 insertions(+), 5 deletions(-) + +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +index 6f8d41a879b56..58b9436b1dd48 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +@@ -570,6 +570,11 @@ int sparx5_mact_init(struct sparx5 *sparx5) + (unsigned char[]){0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, + NULL_VID); + ++ /* Flood BC of bridged ports without a PVID, to the ports and CPU */ ++ sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_BCAST), ++ (unsigned char[]){0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, ++ UNAWARE_VID); ++ + mutex_init(&sparx5->mdb_lock); + INIT_LIST_HEAD(&sparx5->mdb_entries); + mutex_init(&sparx5->mact_lock); +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h +index c6fc9ee6be42b..ce89fd005a558 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h +@@ -103,6 +103,7 @@ enum sparx5_feature { + + #define IFH_LEN 9 /* 36 bytes */ + #define NULL_VID 0 ++#define UNAWARE_VID 1 /* Bridged ports without a PVID */ + #define SPX5_MACT_PULL_DELAY (2 * HZ) + #define SPX5_STATS_CHECK_DELAY (1 * HZ) + #define SPX5_PRIOS 8 /* Number of priority queues */ +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +index 391ce604e6611..1c81efd7fbbaa 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +@@ -155,8 +155,8 @@ static int sparx5_port_attr_set(struct net_device *dev, const void *ctx, + /* Used PVID 1 when default_pvid is 0, to avoid + * collision with non-bridged ports. + */ +- if (port->pvid == 0) +- port->pvid = 1; ++ if (port->pvid == NULL_VID) ++ port->pvid = UNAWARE_VID; + port->vlan_aware = attr->u.vlan_filtering; + sparx5_vlan_port_apply(port->sparx5, port); + break; +@@ -346,8 +346,8 @@ static void sparx5_switchdev_bridge_fdb_event_work(struct work_struct *work) + /* Used PVID 1 when default_pvid is 0, to avoid + * collision with non-bridged ports. + */ +- if (fdb_info->vid == 0) +- vid = 1; ++ if (fdb_info->vid == NULL_VID) ++ vid = UNAWARE_VID; + else + vid = fdb_info->vid; + +@@ -679,7 +679,9 @@ static int sparx5_handle_port_vlan_del(struct net_device *dev, + container_of(nb, struct sparx5, + switchdev_blocking_nb); + +- sparx5_mact_forget(sparx5, dev->broadcast, vid); ++ /* Kept for the bridged ports without a PVID */ ++ if (vid != UNAWARE_VID) ++ sparx5_mact_forget(sparx5, dev->broadcast, vid); + return 0; + } + diff --git a/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch b/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch new file mode 100644 index 000000000..7c1665de3 --- /dev/null +++ b/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch @@ -0,0 +1,156 @@ +From ebe3a4f6446a13bd7d09f89105a4e5f70607c8ad Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Thu, 8 Oct 2026 13:55:02 +0200 +Subject: [PATCH 89/90] net: sparx5: fix MAC table entry shared by bridge VID 0 + and VID 1 + +The MAC address of a bridge created with vlan_default_pvid 0 is +missing from the MAC table, so unicast to the bridge IP address is +flooded to the ports instead of reaching the CPU: + + ip link add br0 address $mac type bridge vlan_default_pvid 0 + +The bridge notifies its own address as a local FDB entry on VID 0 and +on every VLAN of the bridge, VLAN 1 included until vlan_default_pvid +0 removes it. The driver maps VID 0 to UNAWARE_VID, so both entries +are learned as the same MAC table entry, and the delete of the VLAN 1 +entry forgets it while the VID 0 entry is still in use. Removing +VLAN 1 from a bridge with the default PVID loses the entry the same +way. + +Track the bridge VIDs using a locked MAC table entry and forget it +only when the last one is deleted. + +Fixes: d6fce5141929 ("net: sparx5: add switching support") +Signed-off-by: Joachim Wiberg +--- + .../microchip/sparx5/sparx5_mactable.c | 35 +++++++++++++++++-- + .../microchip/sparx5/sparx5_switchdev.c | 15 ++------ + 2 files changed, 36 insertions(+), 14 deletions(-) + +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +index 58b9436b1dd48..2c0d957ff52f5 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +@@ -39,8 +39,25 @@ struct sparx5_mact_entry { + #define MAC_ENT_LOCK BIT(2) + u16 vid; + u16 port; ++ u8 refs; /* Bridge VIDs using a locked entry */ ++#define MAC_ENT_REF_VID BIT(0) /* The entry's own VID */ ++#define MAC_ENT_REF_UNAWARE BIT(1) /* Bridge VID 0, see UNAWARE_VID */ + }; + ++/* Bridge VID 0 is mapped to UNAWARE_VID, to keep clear of the standalone ++ * ports on NULL_VID, so it shares the MAC table entry with that VID. ++ */ ++static u16 sparx5_mact_bridge_vid(u16 vid, u8 *ref) ++{ ++ if (vid == NULL_VID) { ++ *ref = MAC_ENT_REF_UNAWARE; ++ return UNAWARE_VID; ++ } ++ ++ *ref = MAC_ENT_REF_VID; ++ return vid; ++} ++ + static int sparx5_mact_get_status(struct sparx5 *sparx5) + { + return spx5_rd(sparx5, LRN_COMMON_ACCESS_CTRL); +@@ -354,6 +371,13 @@ int sparx5_add_mact_entry(struct sparx5 *sparx5, + struct sparx5_mact_entry *mact_entry; + int ret; + u32 cfg2; ++ u8 ref; ++ ++ vid = sparx5_mact_bridge_vid(vid, &ref); ++ ++ mact_entry = find_mact_entry(sparx5, addr, vid, portno); ++ if (mact_entry && mact_entry->flags & MAC_ENT_LOCK) ++ mact_entry->refs |= ref; + + ret = sparx5_mact_find(sparx5, addr, vid, &cfg2); + if (!ret) +@@ -365,7 +389,6 @@ int sparx5_add_mact_entry(struct sparx5 *sparx5, + * mact thread to start the frame will reach CPU and the CPU will + * add the entry but without the extern_learn flag. + */ +- mact_entry = find_mact_entry(sparx5, addr, vid, portno); + if (mact_entry) + goto update_hw; + +@@ -386,6 +409,7 @@ int sparx5_add_mact_entry(struct sparx5 *sparx5, + /* New entry? */ + if (mact_entry->flags == 0) { + mact_entry->flags |= MAC_ENT_LOCK; /* Don't age this */ ++ mact_entry->refs = ref; + sparx5_fdb_call_notifiers(SWITCHDEV_FDB_ADD_TO_BRIDGE, addr, vid, + dev, true); + } +@@ -398,6 +422,9 @@ int sparx5_del_mact_entry(struct sparx5 *sparx5, + u16 vid) + { + struct sparx5_mact_entry *mact_entry, *tmp; ++ u8 ref; ++ ++ vid = sparx5_mact_bridge_vid(vid, &ref); + + /* Delete the entry in SW MAC table not to get the notification when + * SW is pulling again +@@ -405,8 +432,12 @@ int sparx5_del_mact_entry(struct sparx5 *sparx5, + mutex_lock(&sparx5->mact_lock); + list_for_each_entry_safe(mact_entry, tmp, &sparx5->mact_entries, + list) { +- if ((vid == 0 || mact_entry->vid == vid) && ++ if (mact_entry->vid == vid && + ether_addr_equal(addr, mact_entry->mac)) { ++ mact_entry->refs &= ~ref; ++ if (mact_entry->refs) ++ continue; ++ + sparx5_mact_forget(sparx5, addr, mact_entry->vid); + + list_del(&mact_entry->list); +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +index 1c81efd7fbbaa..973d3b0f26e74 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +@@ -329,7 +329,6 @@ static void sparx5_switchdev_bridge_fdb_event_work(struct work_struct *work) + struct sparx5_port *port; + struct sparx5 *sparx5; + bool host_addr; +- u16 vid; + + rtnl_lock(); + if (!sparx5_netdevice_check(dev)) { +@@ -343,26 +342,18 @@ static void sparx5_switchdev_bridge_fdb_event_work(struct work_struct *work) + + fdb_info = &switchdev_work->fdb_info; + +- /* Used PVID 1 when default_pvid is 0, to avoid +- * collision with non-bridged ports. +- */ +- if (fdb_info->vid == NULL_VID) +- vid = UNAWARE_VID; +- else +- vid = fdb_info->vid; +- + switch (switchdev_work->event) { + case SWITCHDEV_FDB_ADD_TO_DEVICE: + if (host_addr) + sparx5_add_mact_entry(sparx5, dev, + sparx5_get_pgid(sparx5, PGID_CPU), +- fdb_info->addr, vid); ++ fdb_info->addr, fdb_info->vid); + else + sparx5_add_mact_entry(sparx5, port->ndev, port->portno, +- fdb_info->addr, vid); ++ fdb_info->addr, fdb_info->vid); + break; + case SWITCHDEV_FDB_DEL_TO_DEVICE: +- sparx5_del_mact_entry(sparx5, fdb_info->addr, vid); ++ sparx5_del_mact_entry(sparx5, fdb_info->addr, fdb_info->vid); + break; + } + diff --git a/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch b/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch new file mode 100644 index 000000000..67208d103 --- /dev/null +++ b/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch @@ -0,0 +1,73 @@ +From e656985802b0e6da7659b00bf443d4369022c3d7 Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Thu, 8 Oct 2026 13:55:20 +0200 +Subject: [PATCH 90/90] net: sparx5: fix loss of a bridged port's MAC entry on + link down + +Taking a bridged port down forgets its MAC address on the bridge VID, +and changing the address forgets the old one the same way. When the +bridge uses the address of that port, as it does by default with its +first port, the bridge IP address is unreachable until the port comes +up again: + + ip link set eth0 down # bridge MAC entry gone + ip link set eth0 up # back again + +The driver learns the port address to the CPU on NETDEV_PRE_UP and +forgets it on NETDEV_DOWN and on address change, at the port's current +PVID. For a standalone port that is its own VID, but once bridged the +port shares the VID with the bridge, whose local FDB entries the driver +already tracks. The bridge keeps them when a port goes down and moves +them when its address changes, so the driver must not touch them. + +Leave the MAC table alone on up, down and address change of a bridged +port. + +Fixes: d6fce5141929 ("net: sparx5: add switching support") +Signed-off-by: Joachim Wiberg +--- + .../net/ethernet/microchip/sparx5/sparx5_netdev.c | 15 +++++++++------ + .../ethernet/microchip/sparx5/sparx5_switchdev.c | 4 ++++ + 2 files changed, 13 insertions(+), 6 deletions(-) + +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +index ae84ab7378823..1d597c5a20574 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +@@ -193,12 +193,15 @@ static int sparx5_set_mac_address(struct net_device *dev, void *p) + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + +- /* Remove current */ +- sparx5_mact_forget(sparx5, dev->dev_addr, port->pvid); +- +- /* Add new */ +- sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), +- addr->sa_data, port->pvid); ++ /* The bridge keeps the entries of its ports */ ++ if (!test_bit(port->portno, sparx5->bridge_mask)) { ++ /* Remove current */ ++ sparx5_mact_forget(sparx5, dev->dev_addr, port->pvid); ++ ++ /* Add new */ ++ sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), ++ addr->sa_data, port->pvid); ++ } + + /* Record the address */ + eth_hw_addr_set(dev, addr->sa_data); +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +index 973d3b0f26e74..a9726944fafd3 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +@@ -276,6 +276,10 @@ static int sparx5_port_add_addr(struct net_device *dev, bool up) + struct sparx5 *sparx5 = port->sparx5; + u16 vid = port->pvid; + ++ /* The bridge keeps the entries of its ports */ ++ if (test_bit(port->portno, sparx5->bridge_mask)) ++ return 0; ++ + if (up) + sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), + port->ndev->dev_addr, vid); From aec6332164d6eaa1b3918e6642cd5ccfe789d0ce Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 08:18:43 +0200 Subject: [PATCH 12/17] linux: sparx5: fix link aggregates losing their MAC entry on Laguna The Link Aggregation test fails on the Tactical 1000 rig at the failure mode check, and every test that uses the aggregate ports after it fails too, until the units are rebooted: tunnels, NTP, PTP, static routing and DHCP between the two units all time out. The bond gives both member ports the address of the first one, and the sparx5 driver keeps one CPU entry per address. Taking one member down forgets the entry the other member still needs, and deleting the aggregate restores the members' own addresses in an order that forgets the first member's entry for good. That port then drops all unicast sent to it until it is disabled and enabled again, which the later tests never do. One kernel patch, 0091, synced from kkit-linux-6.18.y. Same fix as the standalone multicast entries got in 0087: the port addresses share a reference counted list, so an entry is forgotten with its last user. Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 4 + ...0g-Support-firmware-loading-on-88X33.patch | 2 +- ...0g-Fix-power-up-when-strapped-to-sta.patch | 2 +- ...rvell10g-Add-LED-support-for-88X3310.patch | 2 +- ...0g-Support-LEDs-tied-to-a-single-med.patch | 2 +- ...phy-Do-not-resume-PHY-when-attaching.patch | 2 +- ...-classifying-unknown-multicast-as-mr.patch | 2 +- ...e-router-ports-when-forwarding-L2-mu.patch | 2 +- ...delay-for-applying-strict-multicast-.patch | 2 +- ...rentiate-MDB-additions-from-modifica.patch | 2 +- ...ie-tlv-Let-device-probe-even-when-TL.patch | 2 +- ...d-r8153b-support-for-link-activity-L.patch | 2 +- ...ek-mt7986a-rename-BPi-R3-ports-to-ma.patch | 2 +- ...-Add-a-timing-for-the-Raspberry-Pi-7.patch | 2 +- ...uchscreen-edt-ft5x06-Add-polled-mode.patch | 2 +- ...e6xxx-Fix-timeout-on-waiting-for-PPU.patch | 2 +- ...x-Improve-indirect-register-access-p.patch | 2 +- ...x-Honor-ports-being-managed-via-in-b.patch | 2 +- ...x-Limit-rsvd2cpu-policy-to-user-port.patch | 2 +- ...Use-tag-priority-as-initial-skb-prio.patch | 2 +- ...MDB-memberships-whose-L2-addresses-o.patch | 2 +- ...t-EtherType-based-priority-overrides.patch | 2 +- ...x-Support-EtherType-based-priority-o.patch | 2 +- ...a-mv88e6xxx-Add-mqprio-qdisc-support.patch | 2 +- ...x-Use-VLAN-prio-over-IP-when-both-ar.patch | 2 +- ...8e6xxx-Trap-locally-terminated-VLANs.patch | 2 +- ...x-collapse-disabled-state-into-block.patch | 2 +- ...x-Only-activate-LAG-offloading-when-.patch | 2 +- ...-mv88e6xxx-Add-LED-support-for-6393X.patch | 2 +- ...eck-connection-state-before-querying.patch | 2 +- ...ppress-log-spam-for-regulatory-restr.patch | 2 +- ...duce-log-noise-during-AP-to-station-.patch | 2 +- ...11h-add-OF-device-table-for-auto-loa.patch | 2 +- ...le-video-and-then-retry-failed-trans.patch | 2 +- ...locks-should-be-running-before-reset.patch | 2 +- ...nsure-DSI-is-enabled-for-FIFO-resets.patch | 2 +- ...036-drm-vc4-Reset-DSI-AFE-on-disable.patch | 2 +- ...le-the-different-command-FIFO-widths.patch | 2 +- ...762-Program-the-DPI-mode-into-the-ch.patch | 2 +- ...e-tc358762-revert-move-ops-to-enable.patch | 2 +- ...762-Set-pre_enabled-on-pre_enable-to.patch | 2 +- ...dalone-PCS-registration-infrastructu.patch | 2 +- ...d-MediaTek-MT7988-USXGMII-PCS-driver.patch | 2 +- ...iatek-add-USXGMII-support-for-MT7988.patch | 2 +- ...diatek-mt7988a-add-USXGMII-PCS-nodes.patch | 2 +- ...ek-bananapi-bpi-r4-enable-SFP-ports-.patch | 2 +- ...et-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch | 2 +- ...x-Trap-PTP-frames-on-timestamping-po.patch | 2 +- ...-add-MODULE_DEVICE_TABLE-for-mt7622-.patch | 2 +- ...3-Fix-PERST-control-timing-during-sy.patch | 2 +- ...xx-Derive-LED-names-from-device-name.patch | 2 +- ...s-make-it-selectable-for-ARCH_LAN969.patch | 2 +- ...arx5-fix-wrong-chip-ids-for-TSN-SKUs.patch | 2 +- ...gure-serdes-for-1000BASE-X-in-sparx5.patch | 2 +- ...atmel-sama5d2-sdhci-add-microchip-la.patch | 2 +- ...mc-sdhci-of-at91-add-LAN969x-support.patch | 2 +- ...1-stop-SDCLK-on-reset-and-add-eMMC-h.patch | 2 +- ...arx5-lan969x-populate-netdev-of_node.patch | 2 +- ...rochip-add-LAN969x-clock-header-file.patch | 2 +- ...64-dts-microchip-add-LAN969x-support.patch | 2 +- ...m64-dts-microchip-add-EV23X71A-board.patch | 2 +- ...4-dts-microchip-lan969x-add-OTP-node.patch | 2 +- ...ts-microchip-lan969x-add-SDMMC-nodes.patch | 2 +- ...4-dts-microchip-ev23x71a-enable-eMMC.patch | 2 +- ...rvey-the-requested-interface-not-the.patch | 2 +- ...nor-caller-s-rtnl-lock-when-stopping.patch | 2 +- ...t-cfg_to_ndev-return-NULL-and-harden.patch | 2 +- ...pport-deletion-and-recreation-of-the.patch | 2 +- ...port-port-authorized-after-offloaded.patch | 2 +- ...m-AT91-document-Novarq-Tactical-1000.patch | 2 +- ...s-microchip-add-Novarq-Tactical-1000.patch | 2 +- ...crochip-tactical-1000-add-port-names.patch | 2 +- ...icrochip-tactical-1000-adapt-to-6.18.patch | 2 +- ...ngs-arm-AT91-document-EV23X71A-board.patch | 2 +- ...-default-priority-init-on-unsupporte.patch | 2 +- ...se-the-global-DCB-APP-mirroring-help.patch | 2 +- ...net-dsa-Support-the-PCP-APP-selector.patch | 2 +- ...net-dsa-Support-DCB-priority-rewrite.patch | 2 +- ...-Support-the-IEEE-ETS-managed-object.patch | 2 +- ...leep-in-atomic-context-in-MAC-table-.patch | 2 +- ...ymreg-symreg-debugfs-driver-DBB-1045.patch | 2 +- ..._wed-map-WO-memory-regions-without-r.patch | 2 +- ...-fix-kernel-panic-on-non-DBDC-MT7986.patch | 2 +- ...-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch | 2 +- ...-add-WDS-support-when-WED-is-enabled.patch | 2 +- ..._wed-increase-WED-v2-WDMA-RESV_BUFF-.patch | 2 +- ...-publish-wcid-before-MCU-add-command.patch | 2 +- ...ulticast-delivery-to-the-CPU-on-stan.patch | 2 +- ...roadcast-to-the-CPU-on-bridge-ports-.patch | 2 +- ...AC-table-entry-shared-by-bridge-VID-.patch | 2 +- ...oss-of-a-bridged-port-s-MAC-entry-on.patch | 2 +- ...-the-CPU-MAC-entry-of-standalone-por.patch | 278 ++++++++++++++++++ 92 files changed, 372 insertions(+), 90 deletions(-) create mode 100644 patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index f1d24445a..4ed99061d 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -117,6 +117,10 @@ All notable changes to the project are documented in this file. - LAN969x: disabling the first port of a bridge, whose MAC address the bridge uses, cut the bridge IP address off until the port was enabled again +- LAN969x: taking down one port of a link aggregate stopped unicast to the + aggregate on the remaining ports, and removing the aggregate cut off the + port whose address it had used until that port was disabled and enabled + again - PTP ports with PHY timestamping, e.g. the copper ports on LAN969x boards, kept dropping to the faulty state because the transmit timestamp arrived later than the 10 ms the PTP daemon waited for it diff --git a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index d27532df6..0e94078bb 100644 --- a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ From ca34ebe2b40b53b52a5ea6fb00b7bb36eeeabb5f Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 01/90] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 01/91] net: phy: marvell10g: Support firmware loading on 88X3310 When probing, if a device is waiting for firmware to be loaded into diff --git a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index 9e07585d0..12315df8b 100644 --- a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ From 59532ff26cccf476b4e6f8eeaf2e733c93106a78 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 02/90] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 02/91] net: phy: marvell10g: Fix power-up when strapped to start powered down On devices which are hardware strapped to start powered down (PDSTATE diff --git a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index 589da3e9c..2486bbada 100644 --- a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ From 2881f5a7008a4b7a214f63960f1d199f55a7a78a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 03/90] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 03/91] net: phy: marvell10g: Add LED support for 88X3310 Pickup the LEDs from the state in which the hardware reset or bootloader left them, but also support further configuration via diff --git a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index 530a5fbfd..ff3f35e99 100644 --- a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ From 67a62752bdb5e1e45982289b2eda1f5df4ca6f47 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 04/90] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 04/91] net: phy: marvell10g: Support LEDs tied to a single media side In a combo-port setup, i.e. where both the copper and fiber interface diff --git a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch index ad4a7da31..4438c4cc1 100644 --- a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ From a60255d4ba8ea888ecb86e92a2c65334a26f6384 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 05/90] net: phy: Do not resume PHY when attaching +Subject: [PATCH 05/91] net: phy: Do not resume PHY when attaching The PHY should not start negotiating with its link-partner until explicitly instructed to do so. diff --git a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index 32fee596e..7329b8eea 100644 --- a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ From 3fc8e2a80589a5a5ae02fac7b3f97f195cb90930 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 06/90] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 06/91] net: bridge: avoid classifying unknown multicast as mrouters_only Unknown multicast, MAC/IPv4/IPv6, should always be flooded according to diff --git a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index 8a78e3b88..c3dcf467c 100644 --- a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ From 8f5cf3a448d6e7a1d00043debd0bf1fcaf706680 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 07/90] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 07/91] net: bridge: Ignore router ports when forwarding L2 multicast Multicast router ports are either statically configured or learned from diff --git a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch index 159af4920..f51a8df8f 100644 --- a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ From a42722822b7ff8ea8ac5e65a8449bb72b1ef8c05 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 08/90] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 08/91] net: bridge: drop delay for applying strict multicast filtering This *local* patch drops the initial delay before applying strict multicast diff --git a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch index 31a1a7fe8..6436b5dca 100644 --- a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ From 2722df35856114c70f9896452d155b660f804ed8 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 09/90] net: bridge: Differentiate MDB additions from +Subject: [PATCH 09/91] net: bridge: Differentiate MDB additions from modifications Before this change, the reception of an IGMPv3 report (and analogously diff --git a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index 7f1e597ea..b67f97b2b 100644 --- a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ From 17f03931f23a3ed1dbe6f77a7e48bfdc11f17140 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 10/90] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 10/91] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Before this change, probing an NVMEM device, expected to contain a diff --git a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 7e1afb08e..8c1d70e17 100644 --- a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,7 +1,7 @@ From cbc993b90307a45db570d20bce5e651100bafaa7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 11/90] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 11/91] net: usb: r8152: add r8153b support for link/activity LEDs This patch adds support for the link/activity LEDs on the NanoPi R2S diff --git a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch index 60fee5542..4ab7feb6f 100644 --- a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch +++ b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch @@ -1,7 +1,7 @@ From 0c1a54359f6989eedad98678e030fc1d8fb44da0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 10 Aug 2025 18:52:54 +0200 -Subject: [PATCH 12/90] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to +Subject: [PATCH 12/91] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to match case For ref. see: https://wiki.banana-pi.org/File:Bpi-r3_Metal_case.jpg diff --git a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index bb2a18d6d..1119ba5fc 100644 --- a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -1,7 +1,7 @@ From 2cbb47d51538a83315595715405a328552b9a753 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 20 Aug 2025 21:38:24 +0200 -Subject: [PATCH 13/90] drm/panel-simple: Add a timing for the Raspberry Pi 7" +Subject: [PATCH 13/91] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI diff --git a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch index 8e61e1f7f..3e39eaa22 100644 --- a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch +++ b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch @@ -1,7 +1,7 @@ From fed97704c224902b2d79c81492c5a50ccd97793b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 21 Aug 2025 11:20:23 +0200 -Subject: [PATCH 14/90] input:touchscreen:edt-ft5x06: Add polled mode +Subject: [PATCH 14/91] input:touchscreen:edt-ft5x06: Add polled mode Not all hardware has interrupts therefore we need to poll the touchscreen. diff --git a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index ee044bada..0e91dd7e3 100644 --- a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ From 11f9f49b62a6eb3a73a523541b3f26f6958e0d49 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 15/90] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 15/91] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X In a multi-chip setup, delays of up to 750ms are observed before the diff --git a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index 47be088e2..b551d6d47 100644 --- a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ From 6aed16ecedd6e8d3594474b00b4f80a6a75372c1 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 16/90] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 16/91] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 When operating in multi-chip mode, the 6393 family maps a subset of diff --git a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index a53087d57..22e4735c1 100644 --- a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ From 627e2902f0b11f9994e5c8c92627791b60069cdb Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 17/90] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 17/91] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Keep all link parameters in their unforced states when the port is diff --git a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index 245cafbcc..83da63af6 100644 --- a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ From 1ad63ed23d72ed2429bcb7393aac0e82affde9e3 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 18/90] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 18/91] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X For packets with a DA in the IEEE reserved L2 group range, originating diff --git a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index 673976e74..15d1d4ef1 100644 --- a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ From 29b6583d7463dfddbfbb0e30a70de7707f5c86b0 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 19/90] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 19/91] net: dsa: tag_dsa: Use tag priority as initial skb->priority Use the 3-bit priority field from the DSA tag as the initial packet diff --git a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index f6ccfdd97..586a0ddcd 100644 --- a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ From 6cebfb46fd0a75b04f2481dcbd43cb9442bb1e12 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 20/90] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 20/91] net: dsa: Support MDB memberships whose L2 addresses overlap Multiple IP multicast groups (32 for v4, 2^80 for v6) map to the same diff --git a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch index c414338d6..9fd779294 100644 --- a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ From 2b39a3958e00546ff1c6f0cc523970d19355d796 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 21/90] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 21/91] net: dsa: Support EtherType based priority overrides --- include/net/dsa.h | 4 ++++ diff --git a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index 496469295..d15ebd619 100644 --- a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ From 3769055203bee35077c685d850f0debbac52459e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 22/90] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 22/91] net: dsa: mv88e6xxx: Support EtherType based priority overrides --- diff --git a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index c454a3098..d2f25c9e0 100644 --- a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ From bf8849ce4ee5e95f33c435914a5d7c8e6e16e416 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 23/90] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 23/91] net: dsa: mv88e6xxx: Add mqprio qdisc support Add support for attaching mqprio qdisc's to mv88e6xxx ports and use the packet's traffic class as the outgoing priority when no PCP bits diff --git a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index d4179b110..3ca17eabc 100644 --- a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ From 73b39094d7cdd592ec6fb18164590678789ab37a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 24/90] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 24/91] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Switch the priority sourcing precdence to prefer VLAN PCP over IP diff --git a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index ce843c490..636b865fa 100644 --- a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ From 320983cf57f27f4138a4736388ad384ea9754d37 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 25/90] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 25/91] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Before this change, in a setup like the following, packets assigned to diff --git a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index d53c0d0d2..14f68f23b 100644 --- a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ From 95d919b20d95e7d33432d450e2caafa42105d645 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 26/90] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 26/91] net: dsa: mv88e6xxx: collapse disabled state into blocking This patch changes the behavior of switchcore ports wrt. the port state. diff --git a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index 907e62f3b..0ce679cd0 100644 --- a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ From 4a67cefaa3e4d69034afee21162133191863e841 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 27/90] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 27/91] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged The current port isolation scheme for mv88e6xxx is detailed here: diff --git a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index 0c4d34a22..b93cb40b5 100644 --- a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ From de1f05b6ee9af9d4f7deb7cde43e28d81e1b7f7f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 14 Jan 2026 18:22:41 +0100 -Subject: [PATCH 28/90] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 28/91] net: dsa: mv88e6xxx: Add LED support for 6393X Original commit: commit 462277b926140ee2d231317e92afb6cabf640268 diff --git a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch index 4819ed05b..988fd037e 100644 --- a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch +++ b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch @@ -1,7 +1,7 @@ From 5ba4ebc2cbcc3efdb8c68e64de2e3e1d36f700ca Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 19 Jan 2026 13:06:53 +0100 -Subject: [PATCH 29/90] wifi: brcmfmac: check connection state before querying +Subject: [PATCH 29/91] wifi: brcmfmac: check connection state before querying station info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch index ecd190e95..0fa355d1d 100644 --- a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch +++ b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch @@ -1,7 +1,7 @@ From e714d2bb8736f8befb0e223b4de054981125010e Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:12:10 +0100 -Subject: [PATCH 30/90] wifi: brcmfmac: suppress log spam for +Subject: [PATCH 30/91] wifi: brcmfmac: suppress log spam for regulatory-restricted channels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch index 8311fe534..5a82e361c 100644 --- a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch +++ b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch @@ -1,7 +1,7 @@ From 09696680be45dbeb24e8a722c3d4030b7737e11a Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:18:45 +0100 -Subject: [PATCH 31/90] wifi: brcmfmac: reduce log noise during AP to station +Subject: [PATCH 31/91] wifi: brcmfmac: reduce log noise during AP to station transition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch index 0d54b6256..6da18802d 100644 --- a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch +++ b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch @@ -1,7 +1,7 @@ From 28322c174df66701c2f4283bf338a3032a8121bc Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 17 Feb 2026 21:59:59 +0100 -Subject: [PATCH 32/90] net: phy: air_en8811h: add OF device table for +Subject: [PATCH 32/91] net: phy: air_en8811h: add OF device table for auto-loading mdio_uevent() only emits an OF-style MODALIAS via diff --git a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch index efdce12fa..09844b3ed 100644 --- a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch +++ b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch @@ -1,7 +1,7 @@ From 53aba25643ef8e41021eab9b61242f3151fa3a56 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 20 Sep 2024 12:05:18 +0100 -Subject: [PATCH 33/90] drm: vc4: dsi: enable video and then retry failed +Subject: [PATCH 33/91] drm: vc4: dsi: enable video and then retry failed transfers The DSI block appears to be able to come up stuck in a condition where diff --git a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch index 8f1b0b770..97d666a00 100644 --- a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch +++ b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch @@ -1,7 +1,7 @@ From b145fb6117a42c835d69cee8d01b7679396541e6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Jun 2022 17:23:47 +0100 -Subject: [PATCH 34/90] drm: vc4: dsi: Clocks should be running before reset +Subject: [PATCH 34/91] drm: vc4: dsi: Clocks should be running before reset The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and diff --git a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch index 6ec806c4c..4aaa57050 100644 --- a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch +++ b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch @@ -1,7 +1,7 @@ From 394a21d586f7f13a5cb822ed95ef986dfb17ca87 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2024 17:51:55 +0100 -Subject: [PATCH 35/90] drm/vc4: Ensure DSI is enabled for FIFO resets +Subject: [PATCH 35/91] drm/vc4: Ensure DSI is enabled for FIFO resets The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. diff --git a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch index f3ce772c3..710da8071 100644 --- a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch +++ b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch @@ -1,7 +1,7 @@ From 5b807e23d91f3d90697f74d484276e574670aa2c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 26 May 2022 18:56:19 +0100 -Subject: [PATCH 36/90] drm: vc4: Reset DSI AFE on disable +Subject: [PATCH 36/91] drm: vc4: Reset DSI AFE on disable vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. diff --git a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch index a3cec9a4d..1c674882c 100644 --- a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch +++ b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch @@ -1,7 +1,7 @@ From 1610998f5338234b29c335d18ffeb00c2dcec73a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Nov 2024 13:58:08 +0000 -Subject: [PATCH 37/90] drm: vc4: dsi: Handle the different command FIFO widths +Subject: [PATCH 37/91] drm: vc4: dsi: Handle the different command FIFO widths DSI0 and DSI1 have different widths for the command FIFO (24bit vs 32bit), but the driver was assuming the 32bit width of DSI1 diff --git a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch index b98fe8787..fbc59dd43 100644 --- a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch +++ b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch @@ -1,7 +1,7 @@ From 0c2f36c6efa65abc8d2c5179903c3fb5afac9874 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 17:37:00 +0000 -Subject: [PATCH 38/90] drm/bridge: tc358762: Program the DPI mode into the +Subject: [PATCH 38/91] drm/bridge: tc358762: Program the DPI mode into the chip The autodetection of resolution/timing by the TC358762 can lead diff --git a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch index 5fc9d63e0..904c1be8f 100644 --- a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch +++ b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch @@ -1,7 +1,7 @@ From 91f9e48ff0405e6b8ec9d046b7f37d96f99483c5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 18:44:49 +0000 -Subject: [PATCH 39/90] drm/bridge: tc358762: revert move ops to enable +Subject: [PATCH 39/91] drm/bridge: tc358762: revert move ops to enable Reverts 8a4b2fc9c91a ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. diff --git a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch index 78ba6ab11..f1e2fcedf 100644 --- a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch +++ b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch @@ -1,7 +1,7 @@ From 18d15d554c004a795771c8adb8abb6ef54f22985 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Sat, 4 Apr 2026 18:04:19 +0200 -Subject: [PATCH 40/90] drm/bridge: tc358762: Set pre_enabled on pre_enable to +Subject: [PATCH 40/91] drm/bridge: tc358762: Set pre_enabled on pre_enable to prevent regulator imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch index d22ae3b75..7bdbbebc6 100644 --- a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch +++ b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch @@ -1,7 +1,7 @@ From a2fc20fe20ad386cff232905d1858f9af21ecaf2 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 5 Apr 2026 11:33:00 +0200 -Subject: [PATCH 41/90] net/pcs: add standalone PCS registration infrastructure +Subject: [PATCH 41/91] net/pcs: add standalone PCS registration infrastructure Add a simple registration mechanism that allows platform PCS drivers to register their phylink_pcs instances, and consumers (e.g. Ethernet MAC diff --git a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch index f3d66fbd2..b010b9717 100644 --- a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch +++ b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch @@ -1,7 +1,7 @@ From 6c0e1262a95027d0ef8fb263353e5a4382529437 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:14:23 +0200 -Subject: [PATCH 42/90] net/pcs: add MediaTek MT7988 USXGMII PCS driver +Subject: [PATCH 42/91] net/pcs: add MediaTek MT7988 USXGMII PCS driver Add a PCS driver for the USXGMII subsystem found in the MediaTek MT7988 SoC (usxgmiisys0 at 0x10080000, usxgmiisys1 at 0x10081000). The hardware diff --git a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch index e7b099f92..7895611f8 100644 --- a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch +++ b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch @@ -1,7 +1,7 @@ From 7a3a934b66b5a38e732f6c28f76c45b43cea4e15 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:43 +0200 -Subject: [PATCH 43/90] net: ethernet: mediatek: add USXGMII support for MT7988 +Subject: [PATCH 43/91] net: ethernet: mediatek: add USXGMII support for MT7988 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch index fe02fd129..7683985e5 100644 --- a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch +++ b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch @@ -1,7 +1,7 @@ From d320f311c3e132191b319db4d7f7e3e3f5ed58df Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:56 +0200 -Subject: [PATCH 44/90] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes +Subject: [PATCH 44/91] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes Add device nodes for the two USXGMII subsystem blocks (usxgmiisys0 at 0x10080000 and usxgmiisys1 at 0x10081000), each referencing its clock, diff --git a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch index 61ea7fb1d..21fb5ecbb 100644 --- a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch +++ b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch @@ -1,7 +1,7 @@ From d83185ab2d0bc45de5c33b6fc50006e166f39417 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:16:11 +0200 -Subject: [PATCH 45/90] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ +Subject: [PATCH 45/91] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ ports and WPS button Enable the SFP+ cages wired to gmac1 and gmac2. The USXGMII PCS nodes diff --git a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch index 48e7ffc62..0c5462950 100644 --- a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch +++ b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch @@ -1,7 +1,7 @@ From fa401f49e78eeefa6ef1752733c87b1d67655125 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 7 Apr 2026 07:34:52 +0200 -Subject: [PATCH 46/90] net: phy: sfp: add OEM SFP-10G-T-I quirk +Subject: [PATCH 46/91] net: phy: sfp: add OEM SFP-10G-T-I quirk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch index 775b3ff67..588c6e003 100644 --- a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch +++ b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch @@ -1,7 +1,7 @@ From 79c898ca16e60f10eafaf89110b5d2c24bd9ac2c Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 17 Apr 2026 09:13:04 +0000 -Subject: [PATCH 47/90] net: dsa: mv88e6xxx: Trap PTP frames on timestamping +Subject: [PATCH 47/91] net: dsa: mv88e6xxx: Trap PTP frames on timestamping ports, on 6393X Similar to the Peridot (6390), the designation of PTP frames as diff --git a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch index 08c8e0031..90acac923 100644 --- a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch +++ b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch @@ -1,7 +1,7 @@ From 0f8cdee2b15e4d5c36520e274ebc74371ec8de68 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 28 Apr 2026 15:30:01 +0200 -Subject: [PATCH 48/90] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 +Subject: [PATCH 48/91] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 wmac Without MODULE_DEVICE_TABLE(of, ...) the OF compatible alias is never diff --git a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch index 5036d0e9d..3524fe159 100644 --- a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch +++ b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch @@ -1,7 +1,7 @@ From 5f9aa8845b841fcada5fa58f92ceaa9bb9fabcb4 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 22 Apr 2026 10:24:43 +0200 -Subject: [PATCH 49/90] PCI: mediatek-gen3: Fix PERST# control timing during +Subject: [PATCH 49/91] PCI: mediatek-gen3: Fix PERST# control timing during system startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch index aebaf163a..272dfbeab 100644 --- a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch +++ b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch @@ -1,7 +1,7 @@ From 024fb8fd29a48bb85f355b5a4a558c8ab6875b3c Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 12 Aug 2026 10:08:53 +0200 -Subject: [PATCH 50/90] net: dsa: mv88e6xxx: Derive LED names from device name +Subject: [PATCH 50/91] net: dsa: mv88e6xxx: Derive LED names from device name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch index 6c59194f9..1d4d6cf7d 100644 --- a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch +++ b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch @@ -1,7 +1,7 @@ From f42698c6d686cabca0fced226a63e09c438fbc78 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 31 Oct 2025 13:18:12 +0100 -Subject: [PATCH 51/90] phy: sparx5-serdes: make it selectable for ARCH_LAN969X +Subject: [PATCH 51/91] phy: sparx5-serdes: make it selectable for ARCH_LAN969X LAN969x uses the SparX-5 SERDES driver, so make it selectable for ARCH_LAN969X. diff --git a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch index 2272f0855..7bc1fb341 100644 --- a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch +++ b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch @@ -1,7 +1,7 @@ From da55a0660bc7a764abd39b28d1b588d58cfafcf7 Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:38 +0200 -Subject: [PATCH 52/90] net: sparx5: fix wrong chip ids for TSN SKUs +Subject: [PATCH 52/91] net: sparx5: fix wrong chip ids for TSN SKUs The TSN SKUs in enum spx5_target_chiptype have incorrect IDs: diff --git a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch index 82f969889..f130f8660 100644 --- a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch +++ b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch @@ -1,7 +1,7 @@ From 13292f9168073d35dfa05f2c3e8402e18bf3f9ce Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:39 +0200 -Subject: [PATCH 53/90] net: sparx5: configure serdes for 1000BASE-X in +Subject: [PATCH 53/91] net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init() sparx5_port_init() only invokes sparx5_serdes_set() and the associated diff --git a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch index 78cfea02b..6c56a5cc5 100644 --- a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch +++ b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch @@ -1,7 +1,7 @@ From 704c64713d2d2d34a22e0d2f8066996bc62d9120 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:29 +0200 -Subject: [PATCH 54/90] dt-bindings: mmc: atmel,sama5d2-sdhci: add +Subject: [PATCH 54/91] dt-bindings: mmc: atmel,sama5d2-sdhci: add microchip,lan969x-sdhci The LAN969x SDMMC controller has its own base clock divider and, unlike diff --git a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch index a5e877075..d402b364f 100644 --- a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From ae98994e45aaa55ecff09321aa65601561aefab4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:44 +0200 -Subject: [PATCH 55/90] mmc: sdhci-of-at91: add LAN969x support +Subject: [PATCH 55/91] mmc: sdhci-of-at91: add LAN969x support The LAN969x SDMMC controller is an Atmel SDMMC IP block, but the driver has no compatible for it, so the eMMC on LAN969x boards never probes. diff --git a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch index ef6e9df70..ebbf4eefc 100644 --- a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch +++ b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch @@ -1,7 +1,7 @@ From 4a50546ae4abb37070703d1ce20149b65fdd1a51 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:37:48 +0200 -Subject: [PATCH 56/90] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC +Subject: [PATCH 56/91] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC hardware reset The controller is reset, and its signaling mode changed, with SDCLK diff --git a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch index 19441c397..40f95ab1f 100644 --- a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch +++ b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch @@ -1,7 +1,7 @@ From ba2f77ed48aae661eed6cb213162a612f4792931 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 10 Nov 2025 13:42:53 +0100 -Subject: [PATCH 57/90] net: sparx5/lan969x: populate netdev of_node +Subject: [PATCH 57/91] net: sparx5/lan969x: populate netdev of_node Populate of_node for the port netdevs, to make the individual ports of_nodes available in sysfs. diff --git a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch index 098b61009..5a11a2fc3 100644 --- a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch +++ b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch @@ -1,7 +1,7 @@ From b8f745bf145aed656a87edcf2cee16caef2950e2 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:11 +0100 -Subject: [PATCH 58/90] arm64: dts: microchip: add LAN969x clock header file +Subject: [PATCH 58/91] arm64: dts: microchip: add LAN969x clock header file LAN969x uses hardware clock indexes, so document theses in a header to make them humanly readable. diff --git a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch index c166ec9d0..038e78886 100644 --- a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From c3fc7872ff9176197161d2695a4d3fbbe2d90f90 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:12 +0100 -Subject: [PATCH 59/90] arm64: dts: microchip: add LAN969x support +Subject: [PATCH 59/91] arm64: dts: microchip: add LAN969x support Add support for Microchip LAN969x switch SoC series by adding the SoC DTSI. diff --git a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch index 937531338..c0bfe76f2 100644 --- a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b10c04d81bb96ab0b09484ee2a2373482b56f26d Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:14 +0100 -Subject: [PATCH 60/90] arm64: dts: microchip: add EV23X71A board +Subject: [PATCH 60/91] arm64: dts: microchip: add EV23X71A board Microchip EV23X71A is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch index 5a9910d48..0731d33fd 100644 --- a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch +++ b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch @@ -1,7 +1,7 @@ From c6af26aff045284fc98aae066d46385e74ab82c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 15 May 2026 13:59:09 +0200 -Subject: [PATCH 61/90] arm64: dts: microchip: lan969x: add OTP node +Subject: [PATCH 61/91] arm64: dts: microchip: lan969x: add OTP node Add the required OTP on LAN969x. diff --git a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch index c44379fbc..55bfdeb04 100644 --- a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch +++ b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch @@ -1,7 +1,7 @@ From 7df6f654874cc48a7bea2d8d2d78fe8e9c1c90c7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 62/90] arm64: dts: microchip: lan969x: add SDMMC nodes +Subject: [PATCH 62/91] arm64: dts: microchip: lan969x: add SDMMC nodes The SoC has two SDMMC controllers, neither of which is described, so boards with eMMC have no way to enable it. Add both, disabled by diff --git a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch index 8782fbe51..985cd4af7 100644 --- a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch +++ b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch @@ -1,7 +1,7 @@ From b41259b09f91a140bc0350d7f473d9fee3fbe8b3 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 63/90] arm64: dts: microchip: ev23x71a: enable eMMC +Subject: [PATCH 63/91] arm64: dts: microchip: ev23x71a: enable eMMC The board has an 8-bit eMMC on SDMMC0, and defines the emmc_sd pinctrl group for it, but nothing enables the controller. diff --git a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch index 757ef2c49..293c32c18 100644 --- a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch +++ b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch @@ -1,7 +1,7 @@ From 54b38afac5c46299c8a7ebe594b35774d134389b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:42:48 +0200 -Subject: [PATCH 64/90] wifi: brcmfmac: survey the requested interface, not the +Subject: [PATCH 64/91] wifi: brcmfmac: survey the requested interface, not the primary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch index 0fac6703a..556f41481 100644 --- a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch +++ b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch @@ -1,7 +1,7 @@ From b2c521013e15b485455469fa4a263de2cf04dd02 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:43:14 +0200 -Subject: [PATCH 65/90] wifi: brcmfmac: honor caller's rtnl lock when stopping +Subject: [PATCH 65/91] wifi: brcmfmac: honor caller's rtnl lock when stopping primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch index 2d410f999..3412e0480 100644 --- a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch +++ b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch @@ -1,7 +1,7 @@ From 0e082428a5013b6d35567cf122119af2772f909f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:46:25 +0200 -Subject: [PATCH 66/90] wifi: brcmfmac: let cfg_to_ndev() return NULL and +Subject: [PATCH 66/91] wifi: brcmfmac: let cfg_to_ndev() return NULL and harden its callers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch index 2bb519cf8..9a4ef74a4 100644 --- a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch +++ b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch @@ -1,7 +1,7 @@ From 102750f26d8cbf5d58936b4c9c6da801433c4314 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 16:05:17 +0200 -Subject: [PATCH 67/90] wifi: brcmfmac: support deletion and recreation of the +Subject: [PATCH 67/91] wifi: brcmfmac: support deletion and recreation of the primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch index c96525153..3dbb955ac 100644 --- a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch +++ b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch @@ -1,7 +1,7 @@ From b965ae0c551ae3e2df6937933b6bdd1c42753a43 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 10 Sep 2026 08:29:47 +0200 -Subject: [PATCH 68/90] wifi: brcmfmac: report port authorized after offloaded +Subject: [PATCH 68/91] wifi: brcmfmac: report port authorized after offloaded PSK/SAE handshake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch index 34f633f19..4c832f6d7 100644 --- a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From f5f7599f8af9db56b09f26d22b20ee75defe1717 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 9 Jan 2026 13:27:00 +0100 -Subject: [PATCH 69/90] dt-bindings: arm: AT91: document Novarq Tactical 1000 +Subject: [PATCH 69/91] dt-bindings: arm: AT91: document Novarq Tactical 1000 Novarq Tactical 1000 is a Microchip LAN9696 based 24x1G + 4x10G SFP switch. diff --git a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch index 9d3abbb6d..d4a9d5b2c 100644 --- a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From 8b4b41c449758451c7dbcdd9092b9bd0e0a2b082 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Sep 2025 13:37:49 +0200 -Subject: [PATCH 70/90] arm64: dts: microchip: add Novarq Tactical 1000 +Subject: [PATCH 70/91] arm64: dts: microchip: add Novarq Tactical 1000 Novarq Tactical 1000 is a LAN9696 based switch featuring 24x1G and 4x10G SFP ports. diff --git a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch index 58b6f622e..dfb5d7f5c 100644 --- a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch +++ b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch @@ -1,7 +1,7 @@ From f973058544e1b44fd551db6a230659dbce67313e Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Jun 2026 11:23:47 +0200 -Subject: [PATCH 71/90] arm64: dts: microchip: tactical-1000: add port names +Subject: [PATCH 71/91] arm64: dts: microchip: tactical-1000: add port names Now that driver supports parsing the "label" property, populate port names as they are physically wired up. diff --git a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch index 4fb541210..1b71d74bb 100644 --- a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch +++ b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch @@ -1,7 +1,7 @@ From d49813a338d7c9b9d69e38e1fcc1c937c588a071 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 20 Sep 2026 12:22:43 +0200 -Subject: [PATCH 72/90] arm64: dts: microchip: tactical-1000: adapt to 6.18 +Subject: [PATCH 72/91] arm64: dts: microchip: tactical-1000: adapt to 6.18 Novarq develop against 7.3, which has three things 6.18 does not: a QSPI controller node, a tmon that also provides the fan PWM, and hence a SoC diff --git a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch index 988bf4d67..8793457e4 100644 --- a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b5afb74688659804bbed4bca3928c98975daf2c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:13 +0100 -Subject: [PATCH 73/90] dt-bindings: arm: AT91: document EV23X71A board +Subject: [PATCH 73/91] dt-bindings: arm: AT91: document EV23X71A board Microchip EV23X71A board is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch index 94e93af86..03ce982c9 100644 --- a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch +++ b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch @@ -1,7 +1,7 @@ From 45fd43a305c595ea24b0de5cf090affeffc4029f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:21 +0200 -Subject: [PATCH 74/90] net: dsa: Skip DCB default priority init on unsupported +Subject: [PATCH 74/91] net: dsa: Skip DCB default priority init on unsupported switches A driver serving several chip generations has one dsa_switch_ops for diff --git a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch index 587e8c028..136382bd1 100644 --- a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch +++ b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch @@ -1,7 +1,7 @@ From cb31150945889f02373febe89f618afee36c6e62 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:51:07 +0200 -Subject: [PATCH 75/90] net: dsa: Generalise the global DCB APP mirroring +Subject: [PATCH 75/91] net: dsa: Generalise the global DCB APP mirroring helper A switch with one classification table for all its ports programs it diff --git a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch index 041ad0c39..c8564a743 100644 --- a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch +++ b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch @@ -1,7 +1,7 @@ From e1a8005d2fc1813b71e65c79e700da5635e639e0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:22 +0200 -Subject: [PATCH 76/90] net: dsa: Support the PCP APP selector +Subject: [PATCH 76/91] net: dsa: Support the PCP APP selector Add port_add_pcp_prio, port_del_pcp_prio and port_get_pcp_prio switch ops and route the DCB_APP_SEL_PCP selector to them, mirroring the DSCP diff --git a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch index e2fb1cb81..1d76d989f 100644 --- a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch +++ b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch @@ -1,7 +1,7 @@ From fb3ca7803ea876f7d96514696615143835bc78f9 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:10:32 +0200 -Subject: [PATCH 77/90] net: dsa: Support DCB priority rewrite +Subject: [PATCH 77/91] net: dsa: Support DCB priority rewrite The DCB rewrite table maps a priority back to the PCP and DEI, or the DSCP, that frames are remarked with on egress. DSA has no diff --git a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch index 437189bc6..0e9645767 100644 --- a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch +++ b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch @@ -1,7 +1,7 @@ From 46e44f7a4aba62dc94958e01638e8e93ea62e59b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:53:23 +0200 -Subject: [PATCH 78/90] net: dsa: Support the IEEE ETS managed object +Subject: [PATCH 78/91] net: dsa: Support the IEEE ETS managed object A switch port's transmission selection is configured today through the ets queuing discipline, which numbers its bands the other way round diff --git a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch index 6de6c534d..2470dfa06 100644 --- a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch +++ b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch @@ -1,7 +1,7 @@ From 308c9dbab764bef06cceb03e412b491ea57234b5 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 11:42:12 +0200 -Subject: [PATCH 79/90] net: sparx5: fix sleep in atomic context in MAC table +Subject: [PATCH 79/91] net: sparx5: fix sleep in atomic context in MAC table access Adding or removing a multicast address on an unbridged switch port diff --git a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch index e34500e5b..45a665f01 100644 --- a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch +++ b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch @@ -1,7 +1,7 @@ From c6f8b6a050e69c951ce0ce56467b6e9fd9a638f1 Mon Sep 17 00:00:00 2001 From: Steen Hegelund Date: Wed, 21 Jan 2026 10:09:45 +0100 -Subject: [PATCH 80/90] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) +Subject: [PATCH 80/91] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) Expose the switch register space of Microchip Sparx5 family SoCs through /sys/kernel/debug/symreg/mem, for the symreg tool, which diff --git a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch index 42fddfdd5..6f77eb420 100644 --- a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch +++ b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch @@ -1,7 +1,7 @@ From e0e6e024e5e5866ff61b68bf9790fd24e542d7e2 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 5 Oct 2026 14:37:56 +0200 -Subject: [PATCH 81/90] net: ethernet: mtk_wed: map WO memory regions without +Subject: [PATCH 81/91] net: ethernet: mtk_wed: map WO memory regions without requesting them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch index 8dc477397..6c443ced4 100644 --- a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch +++ b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch @@ -1,7 +1,7 @@ From 8c40b743cd6f8117c177291988ffe1980e9595cd Mon Sep 17 00:00:00 2001 From: Zhi-Jun You Date: Wed, 15 Jul 2026 23:21:12 +0800 -Subject: [PATCH 82/90] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 +Subject: [PATCH 82/91] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch index f4583396d..04f3e3cea 100644 --- a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch +++ b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch @@ -1,7 +1,7 @@ From 9b5a788cc9a12f1b23ad0e84dfaa78008a399b49 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 7 Oct 2026 22:20:00 +0200 -Subject: [PATCH 83/90] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a +Subject: [PATCH 83/91] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a band1-only device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch index a8cca1d9d..edf4e9a01 100644 --- a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch +++ b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch @@ -1,7 +1,7 @@ From a39e22f32c005cb7096e66789000b2a9209444d0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 20 Oct 2025 15:59:12 +0200 -Subject: [PATCH 84/90] wifi: mt76: mt7915: add WDS support when WED is enabled +Subject: [PATCH 84/91] wifi: mt76: mt7915: add WDS support when WED is enabled The current WED only supports 256 wcid, whereas mt7986 can support up to 512 entries, so firmware provides a rule to get sta_info by DA when wcid diff --git a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch index af981e265..375b4c08c 100644 --- a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch +++ b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch @@ -1,7 +1,7 @@ From 3d86eb80be2c4367e3293e783d26b6b452840287 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 19 Aug 2026 21:07:07 +0800 -Subject: [PATCH 85/90] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF +Subject: [PATCH 85/91] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF to 0x80 Change WDMA RESV_BUFF from 0x40 to 0x80 to avoid CDM TX FIFO overflow. diff --git a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch index cb09a2b57..753d44bef 100644 --- a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch +++ b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch @@ -1,7 +1,7 @@ From 57ac316f70b79c0e2709e6221aca6b9026f8ce1c Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Fri, 21 Aug 2026 09:00:01 +0000 -Subject: [PATCH 86/90] wifi: mt76: mt7915: publish wcid before MCU add +Subject: [PATCH 86/91] wifi: mt76: mt7915: publish wcid before MCU add commands mt7915_add_interface() enables the BSS/STA in firmware via diff --git a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch index b2c41f8eb..64041ba64 100644 --- a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch +++ b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch @@ -1,7 +1,7 @@ From f3602976d1b9b1b5a741c1116a5ed1066872212c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 17:30:17 +0200 -Subject: [PATCH 87/90] net: sparx5: fix multicast delivery to the CPU on +Subject: [PATCH 87/91] net: sparx5: fix multicast delivery to the CPU on standalone ports A standalone port stops receiving a multicast group as soon as any diff --git a/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch b/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch index b2d4d8350..32cf1e5e8 100644 --- a/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch +++ b/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch @@ -1,7 +1,7 @@ From 1dee287024abcffa206501a9c27d2b58c17c12d1 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 13:48:05 +0200 -Subject: [PATCH 88/90] net: sparx5: fix broadcast to the CPU on bridge ports +Subject: [PATCH 88/91] net: sparx5: fix broadcast to the CPU on bridge ports without a PVID Ports of a bridge created with vlan_default_pvid 0 never deliver diff --git a/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch b/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch index 7c1665de3..94856065c 100644 --- a/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch +++ b/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch @@ -1,7 +1,7 @@ From ebe3a4f6446a13bd7d09f89105a4e5f70607c8ad Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 13:55:02 +0200 -Subject: [PATCH 89/90] net: sparx5: fix MAC table entry shared by bridge VID 0 +Subject: [PATCH 89/91] net: sparx5: fix MAC table entry shared by bridge VID 0 and VID 1 The MAC address of a bridge created with vlan_default_pvid 0 is diff --git a/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch b/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch index 67208d103..fb36661e0 100644 --- a/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch +++ b/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch @@ -1,7 +1,7 @@ From e656985802b0e6da7659b00bf443d4369022c3d7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 13:55:20 +0200 -Subject: [PATCH 90/90] net: sparx5: fix loss of a bridged port's MAC entry on +Subject: [PATCH 90/91] net: sparx5: fix loss of a bridged port's MAC entry on link down Taking a bridged port down forgets its MAC address on the bridge VID, diff --git a/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch b/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch new file mode 100644 index 000000000..ff6fbc1a4 --- /dev/null +++ b/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch @@ -0,0 +1,278 @@ +From 9c51c71b0e174f2c4c806d34aa9c7b9d8bb0b86f Mon Sep 17 00:00:00 2001 +From: Joachim Wiberg +Date: Fri, 9 Oct 2026 10:12:29 +0200 +Subject: [PATCH 91/91] net: sparx5: share the CPU MAC entry of standalone + ports with one address + +Taking one port of a LACP aggregate down stops unicast to the aggregate +on the remaining ports, and deleting the aggregate leaves the port whose +address the bond used unreachable until it is taken down and up again: + + ip link add lag0 type bond mode 802.3ad + ip link set e6 master lag0 # bond and both ports now use e6's MAC + ip link set e8 master lag0 + ip link set e6 down # unicast to the bond MAC stops on e8 + ip link del lag0 # e6 keeps its MAC, loses its CPU entry + +The bond sets the address of its first port on every port. A standalone +port learns its address to the CPU on NETDEV_PRE_UP and forgets it on +NETDEV_DOWN and on address change, and with ports sharing an address +the forget of one port removes the entry the others still use. The +multicast entries of standalone ports had the same problem, fixed in +commit "net: sparx5: fix multicast delivery to the CPU on standalone +ports" by sharing them through a reference-counted list. + +Keep the port addresses in that list as well. A standalone port holds +a reference on its address while up, drops it on down, on bridge join +and on address change, and takes it back on bridge leave; the entry is +forgotten with the last reference. + +Fixes: d6fce5141929 ("net: sparx5: add switching support") +Signed-off-by: Joachim Wiberg +--- + .../microchip/sparx5/sparx5_mactable.c | 70 +++++++++++-------- + .../ethernet/microchip/sparx5/sparx5_main.h | 12 ++-- + .../ethernet/microchip/sparx5/sparx5_netdev.c | 9 ++- + .../microchip/sparx5/sparx5_switchdev.c | 12 ++-- + 4 files changed, 60 insertions(+), 43 deletions(-) + +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +index 2c0d957ff52f5..cf222736eff97 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_mactable.c +@@ -133,54 +133,54 @@ int sparx5_mact_learn(struct sparx5 *sparx5, int pgid, + return ret; + } + +-/* Standalone ports share pvid, hence the CPU multicast MAC entry too */ +-struct sparx5_mc_cpu_entry { ++/* Standalone ports share pvid, hence their CPU MAC entries too */ ++struct sparx5_cpu_entry { + struct list_head list; + unsigned char addr[ETH_ALEN]; + u16 vid; + int refcnt; + }; + +-static struct sparx5_mc_cpu_entry * +-sparx5_mc_cpu_find(struct sparx5 *sparx5, const unsigned char *addr, u16 vid) ++static struct sparx5_cpu_entry * ++sparx5_cpu_entry_find(struct sparx5 *sparx5, const unsigned char *addr, u16 vid) + { +- struct sparx5_mc_cpu_entry *e; ++ struct sparx5_cpu_entry *e; + +- list_for_each_entry(e, &sparx5->mc_cpu_entries, list) ++ list_for_each_entry(e, &sparx5->cpu_entries, list) + if (e->vid == vid && ether_addr_equal(e->addr, addr)) + return e; + + return NULL; + } + +-int sparx5_mc_unsync(struct net_device *dev, const unsigned char *addr) ++/* Forget the CPU entry of addr on vid when its last user is gone */ ++int sparx5_cpu_entry_put(struct sparx5 *sparx5, const unsigned char *addr, ++ u16 vid) + { +- struct sparx5_port *port = netdev_priv(dev); +- struct sparx5 *sparx5 = port->sparx5; +- struct sparx5_mc_cpu_entry *e; ++ struct sparx5_cpu_entry *e; + int ret = 0; + +- spin_lock(&sparx5->mc_cpu_lock); +- e = sparx5_mc_cpu_find(sparx5, addr, port->pvid); ++ spin_lock(&sparx5->cpu_lock); ++ e = sparx5_cpu_entry_find(sparx5, addr, vid); + if (e && --e->refcnt == 0) { + list_del(&e->list); + kfree(e); +- ret = sparx5_mact_forget(sparx5, addr, port->pvid); ++ ret = sparx5_mact_forget(sparx5, addr, vid); + } +- spin_unlock(&sparx5->mc_cpu_lock); ++ spin_unlock(&sparx5->cpu_lock); + + return ret; + } + +-int sparx5_mc_sync(struct net_device *dev, const unsigned char *addr) ++/* Learn addr on vid to the CPU for its first user */ ++int sparx5_cpu_entry_get(struct sparx5 *sparx5, const unsigned char *addr, ++ u16 vid) + { +- struct sparx5_port *port = netdev_priv(dev); +- struct sparx5 *sparx5 = port->sparx5; +- struct sparx5_mc_cpu_entry *e; ++ struct sparx5_cpu_entry *e; + int ret = 0; + +- spin_lock(&sparx5->mc_cpu_lock); +- e = sparx5_mc_cpu_find(sparx5, addr, port->pvid); ++ spin_lock(&sparx5->cpu_lock); ++ e = sparx5_cpu_entry_find(sparx5, addr, vid); + if (!e) { + e = kmalloc(sizeof(*e), GFP_ATOMIC); + if (!e) { +@@ -190,24 +190,38 @@ int sparx5_mc_sync(struct net_device *dev, const unsigned char *addr) + + ret = sparx5_mact_learn(sparx5, + sparx5_get_pgid(sparx5, PGID_CPU), +- addr, port->pvid); ++ addr, vid); + if (ret) { + kfree(e); + goto out; + } + + ether_addr_copy(e->addr, addr); +- e->vid = port->pvid; ++ e->vid = vid; + e->refcnt = 0; +- list_add_tail(&e->list, &sparx5->mc_cpu_entries); ++ list_add_tail(&e->list, &sparx5->cpu_entries); + } + e->refcnt++; + out: +- spin_unlock(&sparx5->mc_cpu_lock); ++ spin_unlock(&sparx5->cpu_lock); + + return ret; + } + ++int sparx5_mc_unsync(struct net_device *dev, const unsigned char *addr) ++{ ++ struct sparx5_port *port = netdev_priv(dev); ++ ++ return sparx5_cpu_entry_put(port->sparx5, addr, port->pvid); ++} ++ ++int sparx5_mc_sync(struct net_device *dev, const unsigned char *addr) ++{ ++ struct sparx5_port *port = netdev_priv(dev); ++ ++ return sparx5_cpu_entry_get(port->sparx5, addr, port->pvid); ++} ++ + static int sparx5_mact_get(struct sparx5 *sparx5, + unsigned char mac[ETH_ALEN], + u16 *vid, u32 *pcfg2) +@@ -583,8 +597,8 @@ int sparx5_mact_init(struct sparx5 *sparx5) + char queue_name[32]; + + spin_lock_init(&sparx5->lock); +- spin_lock_init(&sparx5->mc_cpu_lock); +- INIT_LIST_HEAD(&sparx5->mc_cpu_entries); ++ spin_lock_init(&sparx5->cpu_lock); ++ INIT_LIST_HEAD(&sparx5->cpu_entries); + + /* Flush MAC table */ + spx5_wr(LRN_COMMON_ACCESS_CTRL_CPU_ACCESS_CMD_SET(MAC_CMD_CLEAR_ALL) | +@@ -625,13 +639,13 @@ int sparx5_mact_init(struct sparx5 *sparx5) + + void sparx5_mact_deinit(struct sparx5 *sparx5) + { +- struct sparx5_mc_cpu_entry *e, *tmp; ++ struct sparx5_cpu_entry *e, *tmp; + + cancel_delayed_work_sync(&sparx5->mact_work); + destroy_workqueue(sparx5->mact_queue); + mutex_destroy(&sparx5->mact_lock); + +- list_for_each_entry_safe(e, tmp, &sparx5->mc_cpu_entries, list) { ++ list_for_each_entry_safe(e, tmp, &sparx5->cpu_entries, list) { + list_del(&e->list); + kfree(e); + } +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h +index ce89fd005a558..9d2a96eccfb28 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_main.h ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_main.h +@@ -409,10 +409,10 @@ struct sparx5 { + struct list_head mdb_entries; + /* mdb list mutex */ + struct mutex mdb_lock; +- /* CPU multicast entries, shared by the standalone ports */ +- struct list_head mc_cpu_entries; +- /* mc_cpu_entries lock */ +- spinlock_t mc_cpu_lock; ++ /* CPU entries, shared by the standalone ports */ ++ struct list_head cpu_entries; ++ /* cpu_entries lock */ ++ spinlock_t cpu_lock; + struct delayed_work mact_work; + struct workqueue_struct *mact_queue; + /* Board specifics */ +@@ -491,6 +491,10 @@ int sparx5_add_mact_entry(struct sparx5 *sparx5, + int sparx5_del_mact_entry(struct sparx5 *sparx5, + const unsigned char *addr, + u16 vid); ++int sparx5_cpu_entry_get(struct sparx5 *sparx5, const unsigned char *addr, ++ u16 vid); ++int sparx5_cpu_entry_put(struct sparx5 *sparx5, const unsigned char *addr, ++ u16 vid); + int sparx5_mc_sync(struct net_device *dev, const unsigned char *addr); + int sparx5_mc_unsync(struct net_device *dev, const unsigned char *addr); + void sparx5_set_ageing(struct sparx5 *sparx5, int msecs); +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +index 1d597c5a20574..963957bef6b02 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_netdev.c +@@ -193,14 +193,13 @@ static int sparx5_set_mac_address(struct net_device *dev, void *p) + if (!is_valid_ether_addr(addr->sa_data)) + return -EADDRNOTAVAIL; + +- /* The bridge keeps the entries of its ports */ +- if (!test_bit(port->portno, sparx5->bridge_mask)) { ++ /* The bridge keeps the entries of its ports, a port that is down has none */ ++ if (!test_bit(port->portno, sparx5->bridge_mask) && netif_running(dev)) { + /* Remove current */ +- sparx5_mact_forget(sparx5, dev->dev_addr, port->pvid); ++ sparx5_cpu_entry_put(sparx5, dev->dev_addr, port->pvid); + + /* Add new */ +- sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), +- addr->sa_data, port->pvid); ++ sparx5_cpu_entry_get(sparx5, addr->sa_data, port->pvid); + } + + /* Record the address */ +diff --git a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +index a9726944fafd3..15cbc5ba28428 100644 +--- a/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c ++++ b/drivers/net/ethernet/microchip/sparx5/sparx5_switchdev.c +@@ -199,7 +199,8 @@ static int sparx5_port_bridge_join(struct sparx5_port *port, + goto err_switchdev_offload; + + /* Remove standalone port entry */ +- sparx5_mact_forget(sparx5, ndev->dev_addr, 0); ++ if (netif_running(ndev)) ++ sparx5_cpu_entry_put(sparx5, ndev->dev_addr, NULL_VID); + + /* Port enters in bridge mode therefore don't need to copy to CPU + * frames for multicast in case the bridge is not requesting them +@@ -236,8 +237,8 @@ static void sparx5_port_bridge_leave(struct sparx5_port *port, + port->vid = NULL_VID; + + /* Forward frames to CPU */ +- sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), +- port->ndev->dev_addr, 0); ++ if (netif_running(port->ndev)) ++ sparx5_cpu_entry_get(sparx5, port->ndev->dev_addr, NULL_VID); + + /* Port enters in host more therefore restore mc list */ + __dev_mc_sync(port->ndev, sparx5_mc_sync, sparx5_mc_unsync); +@@ -281,10 +282,9 @@ static int sparx5_port_add_addr(struct net_device *dev, bool up) + return 0; + + if (up) +- sparx5_mact_learn(sparx5, sparx5_get_pgid(sparx5, PGID_CPU), +- port->ndev->dev_addr, vid); ++ sparx5_cpu_entry_get(sparx5, port->ndev->dev_addr, vid); + else +- sparx5_mact_forget(sparx5, port->ndev->dev_addr, vid); ++ sparx5_cpu_entry_put(sparx5, port->ndev->dev_addr, vid); + + return 0; + } From 9f2d59009318b41888bed32a2ac14b36ff337a47 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 13:54:50 +0200 Subject: [PATCH 13/17] rootfs: give ports a chassis-derived address on every board without one The LAN969x boards have no MAC address in OTP, so the switch boots with a random base MAC and every port, bridge and link-local address changes on each boot. The Banana Pi BPI-R3 had the same problem and got a product script that hands out base + 1, base + 2 and so on from the VPD base MAC to every port without a hardware address. Move that script to the common rootfs and run it on the Tactical 1000 and the EV23X71A as well. Names are sorted as numbers so e2 comes before e10, and with an interface name as argument the script prints the address that port gets instead of setting it, for confd to restore a port's default address. Signed-off-by: Joachim Wiberg --- .../etc/product/init.d/S22-macaddr | 2 +- .../etc/product/init.d/S22-macaddr | 2 +- .../etc/product/init.d/S22-macaddr | 1 + .../etc/product/init.d/S22-macaddr | 1 + .../rootfs/usr/libexec/infix}/macaddr | 40 +++++++++++++------ 5 files changed, 32 insertions(+), 14 deletions(-) create mode 120000 board/aarch64/microchip-ev23x71a/rootfs/usr/share/product/microchip,ev23x71a/etc/product/init.d/S22-macaddr create mode 120000 board/aarch64/novarq-tactical-1000/rootfs/usr/share/product/novarq,tactical-1000/etc/product/init.d/S22-macaddr rename board/{aarch64/bananapi-bpi-r3/rootfs/usr/libexec/bpi-r3 => common/rootfs/usr/libexec/infix}/macaddr (63%) diff --git a/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3/etc/product/init.d/S22-macaddr b/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3/etc/product/init.d/S22-macaddr index f44f78b9d..996ea5c43 120000 --- a/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3/etc/product/init.d/S22-macaddr +++ b/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3/etc/product/init.d/S22-macaddr @@ -1 +1 @@ -/usr/libexec/bpi-r3/macaddr \ No newline at end of file +/usr/libexec/infix/macaddr \ No newline at end of file diff --git a/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3mini/etc/product/init.d/S22-macaddr b/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3mini/etc/product/init.d/S22-macaddr index f44f78b9d..996ea5c43 120000 --- a/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3mini/etc/product/init.d/S22-macaddr +++ b/board/aarch64/bananapi-bpi-r3/rootfs/usr/share/product/bananapi,bpi-r3mini/etc/product/init.d/S22-macaddr @@ -1 +1 @@ -/usr/libexec/bpi-r3/macaddr \ No newline at end of file +/usr/libexec/infix/macaddr \ No newline at end of file diff --git a/board/aarch64/microchip-ev23x71a/rootfs/usr/share/product/microchip,ev23x71a/etc/product/init.d/S22-macaddr b/board/aarch64/microchip-ev23x71a/rootfs/usr/share/product/microchip,ev23x71a/etc/product/init.d/S22-macaddr new file mode 120000 index 000000000..996ea5c43 --- /dev/null +++ b/board/aarch64/microchip-ev23x71a/rootfs/usr/share/product/microchip,ev23x71a/etc/product/init.d/S22-macaddr @@ -0,0 +1 @@ +/usr/libexec/infix/macaddr \ No newline at end of file diff --git a/board/aarch64/novarq-tactical-1000/rootfs/usr/share/product/novarq,tactical-1000/etc/product/init.d/S22-macaddr b/board/aarch64/novarq-tactical-1000/rootfs/usr/share/product/novarq,tactical-1000/etc/product/init.d/S22-macaddr new file mode 120000 index 000000000..996ea5c43 --- /dev/null +++ b/board/aarch64/novarq-tactical-1000/rootfs/usr/share/product/novarq,tactical-1000/etc/product/init.d/S22-macaddr @@ -0,0 +1 @@ +/usr/libexec/infix/macaddr \ No newline at end of file diff --git a/board/aarch64/bananapi-bpi-r3/rootfs/usr/libexec/bpi-r3/macaddr b/board/common/rootfs/usr/libexec/infix/macaddr similarity index 63% rename from board/aarch64/bananapi-bpi-r3/rootfs/usr/libexec/bpi-r3/macaddr rename to board/common/rootfs/usr/libexec/infix/macaddr index 3e5efb239..7654ba8a1 100755 --- a/board/aarch64/bananapi-bpi-r3/rootfs/usr/libexec/bpi-r3/macaddr +++ b/board/common/rootfs/usr/libexec/infix/macaddr @@ -1,18 +1,22 @@ #!/usr/bin/env python3 """Give ports without a hardware MAC address a chassis-derived one. -The BPI-R3 family has no MAC EEPROM, so every port boots with a random -address, and the switch ports inherit that from their conduit. When -the product VPD provides a base MAC, hand each such port a stable -address derived from it: base + 1, base + 2, ... in interface name -order. This mirrors what products with real hardware addresses get -from their device tree. Ports with a permanent address are left alone. - -Runs from /etc/product/init.d, before the DSA conduit is renamed, so -it sorts as eth0 and takes base + 1. +Boards without a MAC EEPROM or OTP boot with a random address on every +port. When the product VPD provides a base MAC, hand each such port a +stable address derived from it: base + 1, base + 2, ... in interface +name order, with numbers compared as numbers so e2 comes before e10. +This mirrors what products with real hardware addresses get from their +device tree. Ports with a permanent address are left alone. + +Runs from /etc/product/init.d on the boards that need it, before a DSA +conduit is renamed, so it sorts as eth0 and takes base + 1. + +With an interface name as argument, prints the address that port gets +and sets nothing, for confd to restore a port's default address. """ import json import os +import re import subprocess import sys @@ -48,9 +52,13 @@ def read(path): return f.read().strip() +def natural(name): + return [int(s) if s.isdigit() else s for s in re.split(r"(\d+)", name)] + + def ports(): """Wired ports whose address the kernel did not get from hardware.""" - for name in sorted(os.listdir(NET)): + for name in sorted(os.listdir(NET), key=natural): path = os.path.join(NET, name) if not os.path.exists(os.path.join(path, "device")): continue @@ -66,12 +74,20 @@ def ports(): def main(): + query = sys.argv[1] if len(sys.argv) > 1 else None + base = vpd_base_mac() if not base: - return 0 + return 1 if query else 0 for offset, name in enumerate(ports(), start=1): mac = mac_add(base, offset) + if query: + if name == query: + print(mac) + return 0 + continue + rc = subprocess.run(["ip", "link", "set", "dev", name, "address", mac], check=False) if rc.returncode: @@ -79,7 +95,7 @@ def main(): continue log(f"{name}: {mac} (chassis + {offset})") - return 0 + return 1 if query else 0 if __name__ == "__main__": From 45762465cece60ad793647b4fd83581d086c2350 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 15:18:20 +0200 Subject: [PATCH 14/17] probe: read the product VPD from vpd.onie on the aux partition A board without a VPD EEPROM can carry its identity in a partition labelled factory, which the Banana Pi BPI-R3 image provides. The Tactical 1000 and the EV23X71A have no such partition, but an aux partition like every Infix disk. Read the ONIE TLV from vpd.onie on the aux partition when neither the device tree nor a factory partition provides a product VPD. Same format, same trust: identity only, never the factory password. Signed-off-by: Joachim Wiberg --- .../rootfs/usr/libexec/infix/init.d/00-probe | 22 ++++---- doc/ChangeLog.md | 9 ++-- doc/vpd.md | 52 +++++++++++-------- 3 files changed, 49 insertions(+), 34 deletions(-) diff --git a/board/common/rootfs/usr/libexec/infix/init.d/00-probe b/board/common/rootfs/usr/libexec/infix/init.d/00-probe index d41c196de..e24136200 100755 --- a/board/common/rootfs/usr/libexec/infix/init.d/00-probe +++ b/board/common/rootfs/usr/libexec/infix/init.d/00-probe @@ -481,20 +481,22 @@ def probe_dmisystem(out): FACTORY_PART = "/dev/disk/by-partlabel/factory" +AUX_VPD = "/mnt/aux/vpd.onie" -def factory_partition_vpd(): - """Product VPD from an ONIE TLV at the start of the factory partition. +def file_vpd(path): + """Product VPD from an ONIE TLV in a file, or at the start of a partition. Boards without a VPD EEPROM, e.g. SBCs, can be given an identity by - writing a TLV to a partition labelled "factory". Anyone with write - access to the disk can change it, so it is never trusted. + writing a TLV to a partition labelled "factory", or to vpd.onie on + the aux partition. Anyone with write access to the disk can change + it, so it is never trusted. """ - if not os.path.exists(FACTORY_PART): + if not os.path.exists(path): return None try: - with open(FACTORY_PART, "rb", 0) as f: + with open(path, "rb", 0) as f: data = onieprom.from_tlv(f) except Exception: # pylint: disable=broad-except return None @@ -516,9 +518,11 @@ def probe_dtsystem(out): vpds = dtsys.infix_vpds() if not any(vpd["board"] == "product" and vpd["available"] for vpd in vpds): - vpd = factory_partition_vpd() - if vpd: - vpds.append(vpd) + for path in (FACTORY_PART, AUX_VPD): + vpd = file_vpd(path) + if vpd: + vpds.append(vpd) + break model = dtsys.base.str("model") if model: diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 4ed99061d..7efcd3375 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -11,9 +11,12 @@ All notable changes to the project are documented in this file. - Upgrade Linux kernel to 6.18.56 (LTS) - Boards without a VPD EEPROM can be given a fixed identity, base MAC included, by writing an ONIE TLV to a disk partition labelled `factory`, - see [VPD documentation](vpd.md#factory-partition) -- Banana Pi BPI-R3: ports get stable addresses derived from the chassis - MAC instead of random ones at every boot + or to the file `vpd.onie` on the `aux` partition, see + [VPD documentation](vpd.md#factory-partition-or-file) +- Banana Pi BPI-R3 and the LAN969x boards: ports get stable addresses + derived from the chassis MAC instead of random ones at every boot. A + port's default address, restored when its `custom-phys-address` is + removed, is that derived address on boards without one in hardware - WiFi interfaces get a unique address derived from the chassis MAC, so several APs on one radio, or two devices of the same model, no longer need `custom-phys-address` diff --git a/doc/vpd.md b/doc/vpd.md index 6c32b3982..fb8046de3 100644 --- a/doc/vpd.md +++ b/doc/vpd.md @@ -1,28 +1,24 @@ Vital Product Data ================== -Infix can source Vital Product Data (VPD) from EEPROMs containing an -[ONIE TLV][oniespec]. The load bearing information from VPDs, used by -Infix by default, is: +The system can source Vital Product Data (VPD) from EEPROMs containing an +[ONIE TLV][oniespec]. The load bearing information from VPDs is: 1. Base (chassis) MAC address of the system 2. Factory default admin password hash -Additionally, every VPD is listed as a separate _component_ in the -_ietf-hardware_ model, in which Infix exports all available attributes -to the user. This is useful to read out exact hardware revisions of -each board making up a system, figure out if a system belongs to a -particular production batch, etc. - +Every VPD is listed as a separate _component_ in the _ietf-hardware_ YANG +model. Useful to read out exact hardware revisions of each board making up a +system, figure out if a system belongs to a particular production batch, etc. ## Device Tree Bindings -The system finds its VPDs through the `vpds` property of the -`/chosen/infix` node in the device tree (DT), a list of phandles to EEPROMs with an ONIE TLV -layout. Each EEPROM is named with an `infix,board` property, and may -be marked `infix,trusted`: +VPDs are located through the `vpds` property of the `/chosen/infix` node in +the device tree (DT), a list of phandles to EEPROMs with an ONIE TLV layout. +Each EEPROM is named with an `infix,board` property, and may be marked +`infix,trusted`: -``` +```dts / { chosen { infix { @@ -53,8 +49,7 @@ be marked `infix,trusted`: Every VPD is listed in the _ietf-hardware_ model as a component named `vpd-`, e.g., `vpd-product` for the example above. - -## Factory Partition +## Factory Partition or File Boards without a VPD EEPROM, such as single board computers, boot with a random MAC address on every port and the vendor's default address on @@ -62,25 +57,38 @@ every WiFi radio. Two such boards of the same model cannot even talk to each other over WiFi, since both radios claim the same address. Such a board can be given an identity by writing an ONIE TLV to the -start of a disk partition labelled `factory`. The system reads it -when the device tree provides no product VPD. The `onieprom` tool -encodes the JSON form described [below](#json-encoding): +start of a disk partition labelled `factory`, or to the file `vpd.onie` +on the `aux` partition that every disk layout has. The system reads the +partition first, then the file, when the device tree provides no product +VPD. The `onieprom` tool encodes the JSON form described +[below](#json-encoding): ``` echo '{"mac-address":"02:00:00:ba:01:00","serial-number":"banana1","vendor":"Bananapi","product-name":"BPI-R3"}' \ | onieprom -e | dd of=/dev/disk/by-partlabel/factory ``` +On a running system the file form is written to the mounted `aux` +partition and takes effect on the next boot: + +``` +echo '{"mac-address":"02:00:00:ba:01:00","serial-number":"tactical1","vendor":"Novarq","product-name":"Tactical-1000"}' \ + | onieprom -e | sudo tee /mnt/aux/vpd.onie >/dev/null +``` + A VPD read this way is never trusted, so it can only provide identity, -never the factory password. On the Banana Pi BPI-R3 family the base +never the factory password. On boards whose ports have no hardware +address, the Banana Pi BPI-R3 family and the LAN969x boards, the base MAC address it provides is also handed out to the ports at boot: every wired port without a hardware address gets base + 1, base + 2, and so on, in interface name order. + WiFi interfaces derive their addresses from the base MAC as described in [WiFi](wifi.md#multi-ssid-configuration). The image for the Banana Pi BPI-R3 family already carries an empty -`factory` partition for this purpose. +`factory` partition for this purpose. The Tactical 1000 provisioning +script offers to write the file. ## Product VPD @@ -202,7 +210,7 @@ allows for arbitrary binary data. ### Infix Specific Extensions [Kernelkit][kkit]'s IANA enterprise number is `61046`, under which any -extensions required by Infix are stored. The **only** valid extension +extensions required by Infix are stored. The **only** valid extension data that may be stored under this number is documented in _this section_. If other device specific data needs to be stored in a VPD, you must associate that with an enterprise number under our control. From b39c0791175b4dde2b6c44face9d0cedee7c120c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 13:54:25 +0200 Subject: [PATCH 15/17] confd: restore a chassis-derived port address when there is no permanent one Removing custom-phys-address from a port on the Tactical 1000 leaves the custom address in place: not ok 5 - Verify target:data MAC address is reset to default The default address is taken from the port's permanent address, which these boards do not have, so the generated ip batch sets none. Fall back to the chassis-derived address the port got at boot, from the macaddr script, when the kernel reports no permanent address. Signed-off-by: Joachim Wiberg --- src/confd/src/interfaces.c | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/src/confd/src/interfaces.c b/src/confd/src/interfaces.c index f84ec4edf..2062e97a3 100644 --- a/src/confd/src/interfaces.c +++ b/src/confd/src/interfaces.c @@ -520,18 +520,32 @@ static bool netdag_must_del(struct lyd_node *dif, struct lyd_node *cif) static int eth_gen_del(struct lyd_node *dif, FILE *ip) { const char *ifname = lydx_get_cattr(dif, "name"); - char mac[18]; + char mac[18] = ""; FILE *pp; fprintf(ip, "link set dev %s down", ifname); pp = cni_popen("ip -d -j link show dev %s | jq -rM .[].permaddr", ifname); if (pp) { - if (fgets(mac, sizeof(mac), pp) && !strstr(mac, "null")) - fprintf(ip, " address %s", mac); + if (!fgets(mac, sizeof(mac), pp) || strstr(mac, "null")) + mac[0] = 0; pclose(pp); } + /* No permanent address, the port got a chassis-derived one at boot */ + if (!mac[0]) { + pp = cni_popen("/usr/libexec/infix/macaddr %s", ifname); + if (pp) { + if (!fgets(mac, sizeof(mac), pp)) + mac[0] = 0; + pclose(pp); + } + } + + mac[strcspn(mac, "\n")] = 0; + if (mac[0]) + fprintf(ip, " address %s", mac); + fputc('\n', ip); fprintf(ip, "addr flush dev %s\n", ifname); From e948c51810959562ca2ab1543ce2c093ad770273 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 13:54:26 +0200 Subject: [PATCH 16/17] board: tactical-1000: offer to write the VPD file when provisioning provision-tactical lays out the aux partition and seeds uboot.env on it, the natural place to also give the unit its identity. Ask for a base MAC address and a serial number and write them as an ONIE TLV to vpd.onie there, which the probe reads as the product VPD. The README documents the file and how to write it on a provisioned unit. Signed-off-by: Joachim Wiberg --- board/aarch64/novarq-tactical-1000/README.md | 18 ++++++++++++++++++ .../usr/libexec/infix/prod/provision-tactical | 7 +++++++ 2 files changed, 25 insertions(+) diff --git a/board/aarch64/novarq-tactical-1000/README.md b/board/aarch64/novarq-tactical-1000/README.md index 350304878..9f1b6f699 100644 --- a/board/aarch64/novarq-tactical-1000/README.md +++ b/board/aarch64/novarq-tactical-1000/README.md @@ -104,6 +104,23 @@ Storage][7]. A unit still on the vendor U-Boot netboots as described in [Netboot with a Vendor U-Boot][8]. The first boot grows `var` to fill the eMMC and reboots once by itself. +## Identity + +The board has no MAC address in OTP, so without help every boot gets a +random base MAC and random port addresses, which also change the +link-local addresses the test rig finds the unit by. `provision-tactical` +offers to write a base MAC and a serial number to `vpd.onie` on the `aux` +partition, which the system reads as its product VPD. On a unit already +provisioned, write it by hand and reboot: + +```bash +echo '{"mac-address":"02:00:00:7a:c7:00","serial-number":"tact1","vendor":"Novarq","product-name":"Tactical-1000"}' \ + | onieprom -e | sudo tee /mnt/aux/vpd.onie >/dev/null +``` + +The base MAC becomes the chassis address, `e1` gets base + 1, `e2` base + 2, +and so on, `mgmt` after the last `e` port. See [VPD][9] for the format. + ## Device Tree Cherry-picked from [Novarq's kernel tree][2]. One commit adapts it to @@ -152,3 +169,4 @@ unused. [6]: https://github.com/novarq/tactical-1000/blob/main/docs/boot-modes.md [7]: ../../../doc/netboot.md#installing-to-onboard-storage [8]: ../../../doc/netboot.md#netboot-with-a-vendor-u-boot +[9]: ../../../doc/vpd.md#factory-partition-or-file diff --git a/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical b/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical index f935e1901..69f413d6e 100755 --- a/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical +++ b/board/aarch64/novarq-tactical-1000/rootfs/usr/libexec/infix/prod/provision-tactical @@ -125,6 +125,13 @@ BOOT_primary_LEFT=1 BOOT_secondary_LEFT=1 BOOT_net_LEFT=1 EOF + # No MAC address in OTP, the probe takes the identity from this file + if ask "Give the unit an identity in vpd.onie on aux, a base MAC address and a serial number?"; then + printf "Base MAC address: "; read -r mac + printf "Serial number: "; read -r serial + printf '{"mac-address":"%s","serial-number":"%s","vendor":"Novarq","product-name":"Tactical-1000"}' \ + "$mac" "$serial" | onieprom -e >"$mnt"/vpd.onie + fi umount "$mnt" rmdir "$mnt" fi From b37a019de2d9ce2b6bceb1270ec0a2d74796d960 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 12 Oct 2026 15:34:01 +0200 Subject: [PATCH 17/17] linux: micrel: recognize the LAN8804, a LAN8814 without the 1588 unit PTP never works on the copper ports of the Tactical 1000. A port drops to the faulty state on its first Sync: ptp4l: timed out while polling for tx timestamp ptp4l: port 1 (e5): MASTER to FAULTY on FAULT_DETECTED (FT_UNSPECIFIED) The PHYs read 0x8804 from the LAN8814 SKU register: they are LAN8804s, the variant without the 1588 unit, with the same chip ID as a LAN8814. The 6.18 driver takes them for full LAN8814s, creates a PTP clock per quad and tells the kernel the PHY can time stamp, so ptp4l waits for a transmit timestamp the silicon never produces. Backport mainline 61b7ade9ba8c ("net: phy: micrel: Add support for non PTP SKUs for lan8814"), patch 0092. It checks the SKU register and creates no PTP device on these parts, and the kernel then time stamps them in the switch core on its own. Boards with real LAN8814s, like the EV23X71A, keep stamping at the PHY. Signed-off-by: Joachim Wiberg --- doc/ChangeLog.md | 4 + ...0g-Support-firmware-loading-on-88X33.patch | 2 +- ...0g-Fix-power-up-when-strapped-to-sta.patch | 2 +- ...rvell10g-Add-LED-support-for-88X3310.patch | 2 +- ...0g-Support-LEDs-tied-to-a-single-med.patch | 2 +- ...phy-Do-not-resume-PHY-when-attaching.patch | 2 +- ...-classifying-unknown-multicast-as-mr.patch | 2 +- ...e-router-ports-when-forwarding-L2-mu.patch | 2 +- ...delay-for-applying-strict-multicast-.patch | 2 +- ...rentiate-MDB-additions-from-modifica.patch | 2 +- ...ie-tlv-Let-device-probe-even-when-TL.patch | 2 +- ...d-r8153b-support-for-link-activity-L.patch | 2 +- ...ek-mt7986a-rename-BPi-R3-ports-to-ma.patch | 2 +- ...-Add-a-timing-for-the-Raspberry-Pi-7.patch | 2 +- ...uchscreen-edt-ft5x06-Add-polled-mode.patch | 2 +- ...e6xxx-Fix-timeout-on-waiting-for-PPU.patch | 2 +- ...x-Improve-indirect-register-access-p.patch | 2 +- ...x-Honor-ports-being-managed-via-in-b.patch | 2 +- ...x-Limit-rsvd2cpu-policy-to-user-port.patch | 2 +- ...Use-tag-priority-as-initial-skb-prio.patch | 2 +- ...MDB-memberships-whose-L2-addresses-o.patch | 2 +- ...t-EtherType-based-priority-overrides.patch | 2 +- ...x-Support-EtherType-based-priority-o.patch | 2 +- ...a-mv88e6xxx-Add-mqprio-qdisc-support.patch | 2 +- ...x-Use-VLAN-prio-over-IP-when-both-ar.patch | 2 +- ...8e6xxx-Trap-locally-terminated-VLANs.patch | 2 +- ...x-collapse-disabled-state-into-block.patch | 2 +- ...x-Only-activate-LAG-offloading-when-.patch | 2 +- ...-mv88e6xxx-Add-LED-support-for-6393X.patch | 2 +- ...eck-connection-state-before-querying.patch | 2 +- ...ppress-log-spam-for-regulatory-restr.patch | 2 +- ...duce-log-noise-during-AP-to-station-.patch | 2 +- ...11h-add-OF-device-table-for-auto-loa.patch | 2 +- ...le-video-and-then-retry-failed-trans.patch | 2 +- ...locks-should-be-running-before-reset.patch | 2 +- ...nsure-DSI-is-enabled-for-FIFO-resets.patch | 2 +- ...036-drm-vc4-Reset-DSI-AFE-on-disable.patch | 2 +- ...le-the-different-command-FIFO-widths.patch | 2 +- ...762-Program-the-DPI-mode-into-the-ch.patch | 2 +- ...e-tc358762-revert-move-ops-to-enable.patch | 2 +- ...762-Set-pre_enabled-on-pre_enable-to.patch | 2 +- ...dalone-PCS-registration-infrastructu.patch | 2 +- ...d-MediaTek-MT7988-USXGMII-PCS-driver.patch | 2 +- ...iatek-add-USXGMII-support-for-MT7988.patch | 2 +- ...diatek-mt7988a-add-USXGMII-PCS-nodes.patch | 2 +- ...ek-bananapi-bpi-r4-enable-SFP-ports-.patch | 2 +- ...et-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch | 2 +- ...x-Trap-PTP-frames-on-timestamping-po.patch | 2 +- ...-add-MODULE_DEVICE_TABLE-for-mt7622-.patch | 2 +- ...3-Fix-PERST-control-timing-during-sy.patch | 2 +- ...xx-Derive-LED-names-from-device-name.patch | 2 +- ...s-make-it-selectable-for-ARCH_LAN969.patch | 2 +- ...arx5-fix-wrong-chip-ids-for-TSN-SKUs.patch | 2 +- ...gure-serdes-for-1000BASE-X-in-sparx5.patch | 2 +- ...atmel-sama5d2-sdhci-add-microchip-la.patch | 2 +- ...mc-sdhci-of-at91-add-LAN969x-support.patch | 2 +- ...1-stop-SDCLK-on-reset-and-add-eMMC-h.patch | 2 +- ...arx5-lan969x-populate-netdev-of_node.patch | 2 +- ...rochip-add-LAN969x-clock-header-file.patch | 2 +- ...64-dts-microchip-add-LAN969x-support.patch | 2 +- ...m64-dts-microchip-add-EV23X71A-board.patch | 2 +- ...4-dts-microchip-lan969x-add-OTP-node.patch | 2 +- ...ts-microchip-lan969x-add-SDMMC-nodes.patch | 2 +- ...4-dts-microchip-ev23x71a-enable-eMMC.patch | 2 +- ...rvey-the-requested-interface-not-the.patch | 2 +- ...nor-caller-s-rtnl-lock-when-stopping.patch | 2 +- ...t-cfg_to_ndev-return-NULL-and-harden.patch | 2 +- ...pport-deletion-and-recreation-of-the.patch | 2 +- ...port-port-authorized-after-offloaded.patch | 2 +- ...m-AT91-document-Novarq-Tactical-1000.patch | 2 +- ...s-microchip-add-Novarq-Tactical-1000.patch | 2 +- ...crochip-tactical-1000-add-port-names.patch | 2 +- ...icrochip-tactical-1000-adapt-to-6.18.patch | 2 +- ...ngs-arm-AT91-document-EV23X71A-board.patch | 2 +- ...-default-priority-init-on-unsupporte.patch | 2 +- ...se-the-global-DCB-APP-mirroring-help.patch | 2 +- ...net-dsa-Support-the-PCP-APP-selector.patch | 2 +- ...net-dsa-Support-DCB-priority-rewrite.patch | 2 +- ...-Support-the-IEEE-ETS-managed-object.patch | 2 +- ...leep-in-atomic-context-in-MAC-table-.patch | 2 +- ...ymreg-symreg-debugfs-driver-DBB-1045.patch | 2 +- ..._wed-map-WO-memory-regions-without-r.patch | 2 +- ...-fix-kernel-panic-on-non-DBDC-MT7986.patch | 2 +- ...-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch | 2 +- ...-add-WDS-support-when-WED-is-enabled.patch | 2 +- ..._wed-increase-WED-v2-WDMA-RESV_BUFF-.patch | 2 +- ...-publish-wcid-before-MCU-add-command.patch | 2 +- ...ulticast-delivery-to-the-CPU-on-stan.patch | 2 +- ...roadcast-to-the-CPU-on-bridge-ports-.patch | 2 +- ...AC-table-entry-shared-by-bridge-VID-.patch | 2 +- ...oss-of-a-bridged-port-s-MAC-entry-on.patch | 2 +- ...-the-CPU-MAC-entry-of-standalone-por.patch | 2 +- ...dd-support-for-non-PTP-SKUs-for-lan8.patch | 121 ++++++++++++++++++ 93 files changed, 216 insertions(+), 91 deletions(-) create mode 100644 patches/linux/6.18.56/0092-net-phy-micrel-Add-support-for-non-PTP-SKUs-for-lan8.patch diff --git a/doc/ChangeLog.md b/doc/ChangeLog.md index 7efcd3375..c372bcb2c 100644 --- a/doc/ChangeLog.md +++ b/doc/ChangeLog.md @@ -127,6 +127,10 @@ All notable changes to the project are documented in this file. - PTP ports with PHY timestamping, e.g. the copper ports on LAN969x boards, kept dropping to the faulty state because the transmit timestamp arrived later than the 10 ms the PTP daemon waited for it +- PTP never worked on the copper ports of the Tactical 1000, whose LAN8804 + PHYs are a LAN8814 variant without a 1588 unit. The kernel took them for + full LAN8814s and waited for PHY timestamps that never came; it now + recognizes the variant and times stamps in the switch core instead - PTP: the IEEE 802.1AS link delay threshold, above which a port never leaves the listening state, defaults to 10 us with hardware time stamping instead of 800 ns, and can be set per port with `mean-link-delay-thresh` diff --git a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch index 0e94078bb..7f8658ad7 100644 --- a/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch +++ b/patches/linux/6.18.56/0001-net-phy-marvell10g-Support-firmware-loading-on-88X33.patch @@ -1,7 +1,7 @@ From ca34ebe2b40b53b52a5ea6fb00b7bb36eeeabb5f Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 19 Sep 2023 18:38:10 +0200 -Subject: [PATCH 01/91] net: phy: marvell10g: Support firmware loading on +Subject: [PATCH 01/92] net: phy: marvell10g: Support firmware loading on 88X3310 When probing, if a device is waiting for firmware to be loaded into diff --git a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch index 12315df8b..0e138f101 100644 --- a/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch +++ b/patches/linux/6.18.56/0002-net-phy-marvell10g-Fix-power-up-when-strapped-to-sta.patch @@ -1,7 +1,7 @@ From 59532ff26cccf476b4e6f8eeaf2e733c93106a78 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 21 Nov 2023 20:15:24 +0100 -Subject: [PATCH 02/91] net: phy: marvell10g: Fix power-up when strapped to +Subject: [PATCH 02/92] net: phy: marvell10g: Fix power-up when strapped to start powered down On devices which are hardware strapped to start powered down (PDSTATE diff --git a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch index 2486bbada..25233b317 100644 --- a/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch +++ b/patches/linux/6.18.56/0003-net-phy-marvell10g-Add-LED-support-for-88X3310.patch @@ -1,7 +1,7 @@ From 2881f5a7008a4b7a214f63960f1d199f55a7a78a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 15 Nov 2023 20:58:42 +0100 -Subject: [PATCH 03/91] net: phy: marvell10g: Add LED support for 88X3310 +Subject: [PATCH 03/92] net: phy: marvell10g: Add LED support for 88X3310 Pickup the LEDs from the state in which the hardware reset or bootloader left them, but also support further configuration via diff --git a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch index ff3f35e99..91532b6bb 100644 --- a/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch +++ b/patches/linux/6.18.56/0004-net-phy-marvell10g-Support-LEDs-tied-to-a-single-med.patch @@ -1,7 +1,7 @@ From 67a62752bdb5e1e45982289b2eda1f5df4ca6f47 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Dec 2023 09:51:05 +0100 -Subject: [PATCH 04/91] net: phy: marvell10g: Support LEDs tied to a single +Subject: [PATCH 04/92] net: phy: marvell10g: Support LEDs tied to a single media side In a combo-port setup, i.e. where both the copper and fiber interface diff --git a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch index 4438c4cc1..0c670dfa0 100644 --- a/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch +++ b/patches/linux/6.18.56/0005-net-phy-Do-not-resume-PHY-when-attaching.patch @@ -1,7 +1,7 @@ From a60255d4ba8ea888ecb86e92a2c65334a26f6384 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 10:10:19 +0100 -Subject: [PATCH 05/91] net: phy: Do not resume PHY when attaching +Subject: [PATCH 05/92] net: phy: Do not resume PHY when attaching The PHY should not start negotiating with its link-partner until explicitly instructed to do so. diff --git a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch index 7329b8eea..14cd8dbe4 100644 --- a/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch +++ b/patches/linux/6.18.56/0006-net-bridge-avoid-classifying-unknown-multicast-as-mr.patch @@ -1,7 +1,7 @@ From 3fc8e2a80589a5a5ae02fac7b3f97f195cb90930 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 4 Mar 2024 16:47:28 +0100 -Subject: [PATCH 06/91] net: bridge: avoid classifying unknown multicast as +Subject: [PATCH 06/92] net: bridge: avoid classifying unknown multicast as mrouters_only Unknown multicast, MAC/IPv4/IPv6, should always be flooded according to diff --git a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch index c3dcf467c..b30d5c142 100644 --- a/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch +++ b/patches/linux/6.18.56/0007-net-bridge-Ignore-router-ports-when-forwarding-L2-mu.patch @@ -1,7 +1,7 @@ From 8f5cf3a448d6e7a1d00043debd0bf1fcaf706680 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 5 Mar 2024 06:44:41 +0100 -Subject: [PATCH 07/91] net: bridge: Ignore router ports when forwarding L2 +Subject: [PATCH 07/92] net: bridge: Ignore router ports when forwarding L2 multicast Multicast router ports are either statically configured or learned from diff --git a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch index f51a8df8f..069be0733 100644 --- a/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch +++ b/patches/linux/6.18.56/0008-net-bridge-drop-delay-for-applying-strict-multicast-.patch @@ -1,7 +1,7 @@ From a42722822b7ff8ea8ac5e65a8449bb72b1ef8c05 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 4 Apr 2024 16:36:30 +0200 -Subject: [PATCH 08/91] net: bridge: drop delay for applying strict multicast +Subject: [PATCH 08/92] net: bridge: drop delay for applying strict multicast filtering This *local* patch drops the initial delay before applying strict multicast diff --git a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch index 6436b5dca..ead9a5575 100644 --- a/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch +++ b/patches/linux/6.18.56/0009-net-bridge-Differentiate-MDB-additions-from-modifica.patch @@ -1,7 +1,7 @@ From 2722df35856114c70f9896452d155b660f804ed8 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 16 May 2024 14:51:54 +0200 -Subject: [PATCH 09/91] net: bridge: Differentiate MDB additions from +Subject: [PATCH 09/92] net: bridge: Differentiate MDB additions from modifications Before this change, the reception of an IGMPv3 report (and analogously diff --git a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch index b67f97b2b..1575a9127 100644 --- a/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch +++ b/patches/linux/6.18.56/0010-nvmem-layouts-onie-tlv-Let-device-probe-even-when-TL.patch @@ -1,7 +1,7 @@ From 17f03931f23a3ed1dbe6f77a7e48bfdc11f17140 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 24 Nov 2023 23:29:55 +0100 -Subject: [PATCH 10/91] nvmem: layouts: onie-tlv: Let device probe even when +Subject: [PATCH 10/92] nvmem: layouts: onie-tlv: Let device probe even when TLV is invalid Before this change, probing an NVMEM device, expected to contain a diff --git a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch index 8c1d70e17..f010bd3b5 100644 --- a/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch +++ b/patches/linux/6.18.56/0011-net-usb-r8152-add-r8153b-support-for-link-activity-L.patch @@ -1,7 +1,7 @@ From cbc993b90307a45db570d20bce5e651100bafaa7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 11 Aug 2024 11:27:35 +0200 -Subject: [PATCH 11/91] net: usb: r8152: add r8153b support for link/activity +Subject: [PATCH 11/92] net: usb: r8152: add r8153b support for link/activity LEDs This patch adds support for the link/activity LEDs on the NanoPi R2S diff --git a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch index 4ab7feb6f..f464865a9 100644 --- a/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch +++ b/patches/linux/6.18.56/0012-arm64-dts-mediatek-mt7986a-rename-BPi-R3-ports-to-ma.patch @@ -1,7 +1,7 @@ From 0c1a54359f6989eedad98678e030fc1d8fb44da0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 10 Aug 2025 18:52:54 +0200 -Subject: [PATCH 12/91] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to +Subject: [PATCH 12/92] arm64: dts: mediatek: mt7986a: rename BPi R3 ports to match case For ref. see: https://wiki.banana-pi.org/File:Bpi-r3_Metal_case.jpg diff --git a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 1119ba5fc..77242c4a6 100644 --- a/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/patches/linux/6.18.56/0013-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -1,7 +1,7 @@ From 2cbb47d51538a83315595715405a328552b9a753 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 20 Aug 2025 21:38:24 +0200 -Subject: [PATCH 13/91] drm/panel-simple: Add a timing for the Raspberry Pi 7" +Subject: [PATCH 13/92] drm/panel-simple: Add a timing for the Raspberry Pi 7" panel The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI diff --git a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch index 3e39eaa22..bff4434ba 100644 --- a/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch +++ b/patches/linux/6.18.56/0014-input-touchscreen-edt-ft5x06-Add-polled-mode.patch @@ -1,7 +1,7 @@ From fed97704c224902b2d79c81492c5a50ccd97793b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 21 Aug 2025 11:20:23 +0200 -Subject: [PATCH 14/91] input:touchscreen:edt-ft5x06: Add polled mode +Subject: [PATCH 14/92] input:touchscreen:edt-ft5x06: Add polled mode Not all hardware has interrupts therefore we need to poll the touchscreen. diff --git a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch index 0e91dd7e3..dd006389c 100644 --- a/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch +++ b/patches/linux/6.18.56/0015-FIX-net-dsa-mv88e6xxx-Fix-timeout-on-waiting-for-PPU.patch @@ -1,7 +1,7 @@ From 11f9f49b62a6eb3a73a523541b3f26f6958e0d49 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 12 Mar 2024 10:27:24 +0100 -Subject: [PATCH 15/91] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for +Subject: [PATCH 15/92] [FIX] net: dsa: mv88e6xxx: Fix timeout on waiting for PPU on 6393X In a multi-chip setup, delays of up to 750ms are observed before the diff --git a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch index b551d6d47..7c1d11d9a 100644 --- a/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch +++ b/patches/linux/6.18.56/0016-net-dsa-mv88e6xxx-Improve-indirect-register-access-p.patch @@ -1,7 +1,7 @@ From 6aed16ecedd6e8d3594474b00b4f80a6a75372c1 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 27 Mar 2024 15:52:43 +0100 -Subject: [PATCH 16/91] net: dsa: mv88e6xxx: Improve indirect register access +Subject: [PATCH 16/92] net: dsa: mv88e6xxx: Improve indirect register access perf on 6393 When operating in multi-chip mode, the 6393 family maps a subset of diff --git a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch index 22e4735c1..60299ec54 100644 --- a/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch +++ b/patches/linux/6.18.56/0017-net-dsa-mv88e6xxx-Honor-ports-being-managed-via-in-b.patch @@ -1,7 +1,7 @@ From 627e2902f0b11f9994e5c8c92627791b60069cdb Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Mon, 22 Apr 2024 23:18:01 +0200 -Subject: [PATCH 17/91] net: dsa: mv88e6xxx: Honor ports being managed via +Subject: [PATCH 17/92] net: dsa: mv88e6xxx: Honor ports being managed via in-band-status Keep all link parameters in their unforced states when the port is diff --git a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch index 83da63af6..d7e240b76 100644 --- a/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch +++ b/patches/linux/6.18.56/0018-net-dsa-mv88e6xxx-Limit-rsvd2cpu-policy-to-user-port.patch @@ -1,7 +1,7 @@ From 1ad63ed23d72ed2429bcb7393aac0e82affde9e3 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 24 Apr 2024 22:41:04 +0200 -Subject: [PATCH 18/91] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user +Subject: [PATCH 18/92] net: dsa: mv88e6xxx: Limit rsvd2cpu policy to user ports on 6393X For packets with a DA in the IEEE reserved L2 group range, originating diff --git a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch index 15d1d4ef1..053a4dcef 100644 --- a/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch +++ b/patches/linux/6.18.56/0019-net-dsa-tag_dsa-Use-tag-priority-as-initial-skb-prio.patch @@ -1,7 +1,7 @@ From 29b6583d7463dfddbfbb0e30a70de7707f5c86b0 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 10:38:42 +0200 -Subject: [PATCH 19/91] net: dsa: tag_dsa: Use tag priority as initial +Subject: [PATCH 19/92] net: dsa: tag_dsa: Use tag priority as initial skb->priority Use the 3-bit priority field from the DSA tag as the initial packet diff --git a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch index 586a0ddcd..fd5b37043 100644 --- a/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch +++ b/patches/linux/6.18.56/0020-net-dsa-Support-MDB-memberships-whose-L2-addresses-o.patch @@ -1,7 +1,7 @@ From 6cebfb46fd0a75b04f2481dcbd43cb9442bb1e12 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 16 Jan 2024 16:00:55 +0100 -Subject: [PATCH 20/91] net: dsa: Support MDB memberships whose L2 addresses +Subject: [PATCH 20/92] net: dsa: Support MDB memberships whose L2 addresses overlap Multiple IP multicast groups (32 for v4, 2^80 for v6) map to the same diff --git a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch index 9fd779294..6370e2f04 100644 --- a/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch +++ b/patches/linux/6.18.56/0021-net-dsa-Support-EtherType-based-priority-overrides.patch @@ -1,7 +1,7 @@ From 2b39a3958e00546ff1c6f0cc523970d19355d796 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Thu, 21 Mar 2024 19:12:15 +0100 -Subject: [PATCH 21/91] net: dsa: Support EtherType based priority overrides +Subject: [PATCH 21/92] net: dsa: Support EtherType based priority overrides --- include/net/dsa.h | 4 ++++ diff --git a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch index d15ebd619..2d66f6b88 100644 --- a/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch +++ b/patches/linux/6.18.56/0022-net-dsa-mv88e6xxx-Support-EtherType-based-priority-o.patch @@ -1,7 +1,7 @@ From 3769055203bee35077c685d850f0debbac52459e Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 22 Mar 2024 16:15:43 +0100 -Subject: [PATCH 22/91] net: dsa: mv88e6xxx: Support EtherType based priority +Subject: [PATCH 22/92] net: dsa: mv88e6xxx: Support EtherType based priority overrides --- diff --git a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch index d2f25c9e0..4cc9b8d55 100644 --- a/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch +++ b/patches/linux/6.18.56/0023-net-dsa-mv88e6xxx-Add-mqprio-qdisc-support.patch @@ -1,7 +1,7 @@ From bf8849ce4ee5e95f33c435914a5d7c8e6e16e416 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 28 May 2024 11:04:22 +0200 -Subject: [PATCH 23/91] net: dsa: mv88e6xxx: Add mqprio qdisc support +Subject: [PATCH 23/92] net: dsa: mv88e6xxx: Add mqprio qdisc support Add support for attaching mqprio qdisc's to mv88e6xxx ports and use the packet's traffic class as the outgoing priority when no PCP bits diff --git a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch index 3ca17eabc..9fd672802 100644 --- a/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch +++ b/patches/linux/6.18.56/0024-net-dsa-mv88e6xxx-Use-VLAN-prio-over-IP-when-both-ar.patch @@ -1,7 +1,7 @@ From 73b39094d7cdd592ec6fb18164590678789ab37a Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 29 May 2024 13:20:41 +0200 -Subject: [PATCH 24/91] net: dsa: mv88e6xxx: Use VLAN prio over IP when both +Subject: [PATCH 24/92] net: dsa: mv88e6xxx: Use VLAN prio over IP when both are available Switch the priority sourcing precdence to prefer VLAN PCP over IP diff --git a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch index 636b865fa..100bf22ef 100644 --- a/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch +++ b/patches/linux/6.18.56/0025-FIX-net-dsa-mv88e6xxx-Trap-locally-terminated-VLANs.patch @@ -1,7 +1,7 @@ From 320983cf57f27f4138a4736388ad384ea9754d37 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Tue, 26 Nov 2024 19:45:59 +0100 -Subject: [PATCH 25/91] [FIX] net: dsa: mv88e6xxx: Trap locally terminated +Subject: [PATCH 25/92] [FIX] net: dsa: mv88e6xxx: Trap locally terminated VLANs Before this change, in a setup like the following, packets assigned to diff --git a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch index 14f68f23b..471f02133 100644 --- a/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch +++ b/patches/linux/6.18.56/0026-net-dsa-mv88e6xxx-collapse-disabled-state-into-block.patch @@ -1,7 +1,7 @@ From 95d919b20d95e7d33432d450e2caafa42105d645 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 16 Jan 2025 12:35:12 +0100 -Subject: [PATCH 26/91] net: dsa: mv88e6xxx: collapse disabled state into +Subject: [PATCH 26/92] net: dsa: mv88e6xxx: collapse disabled state into blocking This patch changes the behavior of switchcore ports wrt. the port state. diff --git a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch index 0ce679cd0..4a23e3548 100644 --- a/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch +++ b/patches/linux/6.18.56/0027-net-dsa-mv88e6xxx-Only-activate-LAG-offloading-when-.patch @@ -1,7 +1,7 @@ From 4a67cefaa3e4d69034afee21162133191863e841 Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Wed, 12 Feb 2025 22:03:14 +0100 -Subject: [PATCH 27/91] net: dsa: mv88e6xxx: Only activate LAG offloading when +Subject: [PATCH 27/92] net: dsa: mv88e6xxx: Only activate LAG offloading when bridged The current port isolation scheme for mv88e6xxx is detailed here: diff --git a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch index b93cb40b5..990404a65 100644 --- a/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch +++ b/patches/linux/6.18.56/0028-net-dsa-mv88e6xxx-Add-LED-support-for-6393X.patch @@ -1,7 +1,7 @@ From de1f05b6ee9af9d4f7deb7cde43e28d81e1b7f7f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 14 Jan 2026 18:22:41 +0100 -Subject: [PATCH 28/91] net: dsa: mv88e6xxx: Add LED support for 6393X +Subject: [PATCH 28/92] net: dsa: mv88e6xxx: Add LED support for 6393X Original commit: commit 462277b926140ee2d231317e92afb6cabf640268 diff --git a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch index 988fd037e..45edb1c2e 100644 --- a/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch +++ b/patches/linux/6.18.56/0029-wifi-brcmfmac-check-connection-state-before-querying.patch @@ -1,7 +1,7 @@ From 5ba4ebc2cbcc3efdb8c68e64de2e3e1d36f700ca Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 19 Jan 2026 13:06:53 +0100 -Subject: [PATCH 29/91] wifi: brcmfmac: check connection state before querying +Subject: [PATCH 29/92] wifi: brcmfmac: check connection state before querying station info MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch index 0fa355d1d..ac739ed73 100644 --- a/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch +++ b/patches/linux/6.18.56/0030-wifi-brcmfmac-suppress-log-spam-for-regulatory-restr.patch @@ -1,7 +1,7 @@ From e714d2bb8736f8befb0e223b4de054981125010e Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:12:10 +0100 -Subject: [PATCH 30/91] wifi: brcmfmac: suppress log spam for +Subject: [PATCH 30/92] wifi: brcmfmac: suppress log spam for regulatory-restricted channels MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch index 5a82e361c..ba3ca82af 100644 --- a/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch +++ b/patches/linux/6.18.56/0031-wifi-brcmfmac-reduce-log-noise-during-AP-to-station-.patch @@ -1,7 +1,7 @@ From 09696680be45dbeb24e8a722c3d4030b7737e11a Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 20 Jan 2026 20:18:45 +0100 -Subject: [PATCH 31/91] wifi: brcmfmac: reduce log noise during AP to station +Subject: [PATCH 31/92] wifi: brcmfmac: reduce log noise during AP to station transition MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch index 6da18802d..b6054e82b 100644 --- a/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch +++ b/patches/linux/6.18.56/0032-net-phy-air_en8811h-add-OF-device-table-for-auto-loa.patch @@ -1,7 +1,7 @@ From 28322c174df66701c2f4283bf338a3032a8121bc Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 17 Feb 2026 21:59:59 +0100 -Subject: [PATCH 32/91] net: phy: air_en8811h: add OF device table for +Subject: [PATCH 32/92] net: phy: air_en8811h: add OF device table for auto-loading mdio_uevent() only emits an OF-style MODALIAS via diff --git a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch index 09844b3ed..1752cd41a 100644 --- a/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch +++ b/patches/linux/6.18.56/0033-drm-vc4-dsi-enable-video-and-then-retry-failed-trans.patch @@ -1,7 +1,7 @@ From 53aba25643ef8e41021eab9b61242f3151fa3a56 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 20 Sep 2024 12:05:18 +0100 -Subject: [PATCH 33/91] drm: vc4: dsi: enable video and then retry failed +Subject: [PATCH 33/92] drm: vc4: dsi: enable video and then retry failed transfers The DSI block appears to be able to come up stuck in a condition where diff --git a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch index 97d666a00..fbb8c6c07 100644 --- a/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch +++ b/patches/linux/6.18.56/0034-drm-vc4-dsi-Clocks-should-be-running-before-reset.patch @@ -1,7 +1,7 @@ From b145fb6117a42c835d69cee8d01b7679396541e6 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 8 Jun 2022 17:23:47 +0100 -Subject: [PATCH 34/91] drm: vc4: dsi: Clocks should be running before reset +Subject: [PATCH 34/92] drm: vc4: dsi: Clocks should be running before reset The initialisation sequence differs slightly from the documentation in that the clocks are meant to be running before resets and diff --git a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch index 4aaa57050..cd6cc1d0b 100644 --- a/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch +++ b/patches/linux/6.18.56/0035-drm-vc4-Ensure-DSI-is-enabled-for-FIFO-resets.patch @@ -1,7 +1,7 @@ From 394a21d586f7f13a5cb822ed95ef986dfb17ca87 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Fri, 5 Apr 2024 17:51:55 +0100 -Subject: [PATCH 35/91] drm/vc4: Ensure DSI is enabled for FIFO resets +Subject: [PATCH 35/92] drm/vc4: Ensure DSI is enabled for FIFO resets The block must be enabled for the FIFO resets to be actioned, so ensure this is the case. diff --git a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch index 710da8071..de24a1337 100644 --- a/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch +++ b/patches/linux/6.18.56/0036-drm-vc4-Reset-DSI-AFE-on-disable.patch @@ -1,7 +1,7 @@ From 5b807e23d91f3d90697f74d484276e574670aa2c Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Thu, 26 May 2022 18:56:19 +0100 -Subject: [PATCH 36/91] drm: vc4: Reset DSI AFE on disable +Subject: [PATCH 36/92] drm: vc4: Reset DSI AFE on disable vc4_dsi_bridge_disable wasn't resetting things during shutdown, so add that in. diff --git a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch index 1c674882c..0373a9dee 100644 --- a/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch +++ b/patches/linux/6.18.56/0037-drm-vc4-dsi-Handle-the-different-command-FIFO-widths.patch @@ -1,7 +1,7 @@ From 1610998f5338234b29c335d18ffeb00c2dcec73a Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Wed, 20 Nov 2024 13:58:08 +0000 -Subject: [PATCH 37/91] drm: vc4: dsi: Handle the different command FIFO widths +Subject: [PATCH 37/92] drm: vc4: dsi: Handle the different command FIFO widths DSI0 and DSI1 have different widths for the command FIFO (24bit vs 32bit), but the driver was assuming the 32bit width of DSI1 diff --git a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch index fbc59dd43..21a30a22c 100644 --- a/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch +++ b/patches/linux/6.18.56/0038-drm-bridge-tc358762-Program-the-DPI-mode-into-the-ch.patch @@ -1,7 +1,7 @@ From 0c2f36c6efa65abc8d2c5179903c3fb5afac9874 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 17:37:00 +0000 -Subject: [PATCH 38/91] drm/bridge: tc358762: Program the DPI mode into the +Subject: [PATCH 38/92] drm/bridge: tc358762: Program the DPI mode into the chip The autodetection of resolution/timing by the TC358762 can lead diff --git a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch index 904c1be8f..f7150fe0b 100644 --- a/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch +++ b/patches/linux/6.18.56/0039-drm-bridge-tc358762-revert-move-ops-to-enable.patch @@ -1,7 +1,7 @@ From 91f9e48ff0405e6b8ec9d046b7f37d96f99483c5 Mon Sep 17 00:00:00 2001 From: Dave Stevenson Date: Tue, 9 Jan 2024 18:44:49 +0000 -Subject: [PATCH 39/91] drm/bridge: tc358762: revert move ops to enable +Subject: [PATCH 39/92] drm/bridge: tc358762: revert move ops to enable Reverts 8a4b2fc9c91a ("drm/bridge: tc358762: Split register programming from pre-enable to enable") as we want the config commands sent before video starts. diff --git a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch index f1e2fcedf..e7cafb120 100644 --- a/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch +++ b/patches/linux/6.18.56/0040-drm-bridge-tc358762-Set-pre_enabled-on-pre_enable-to.patch @@ -1,7 +1,7 @@ From 18d15d554c004a795771c8adb8abb6ef54f22985 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Sat, 4 Apr 2026 18:04:19 +0200 -Subject: [PATCH 40/91] drm/bridge: tc358762: Set pre_enabled on pre_enable to +Subject: [PATCH 40/92] drm/bridge: tc358762: Set pre_enabled on pre_enable to prevent regulator imbalance MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch index 7bdbbebc6..004276e03 100644 --- a/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch +++ b/patches/linux/6.18.56/0041-net-pcs-add-standalone-PCS-registration-infrastructu.patch @@ -1,7 +1,7 @@ From a2fc20fe20ad386cff232905d1858f9af21ecaf2 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 5 Apr 2026 11:33:00 +0200 -Subject: [PATCH 41/91] net/pcs: add standalone PCS registration infrastructure +Subject: [PATCH 41/92] net/pcs: add standalone PCS registration infrastructure Add a simple registration mechanism that allows platform PCS drivers to register their phylink_pcs instances, and consumers (e.g. Ethernet MAC diff --git a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch index b010b9717..95390fb93 100644 --- a/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch +++ b/patches/linux/6.18.56/0042-net-pcs-add-MediaTek-MT7988-USXGMII-PCS-driver.patch @@ -1,7 +1,7 @@ From 6c0e1262a95027d0ef8fb263353e5a4382529437 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:14:23 +0200 -Subject: [PATCH 42/91] net/pcs: add MediaTek MT7988 USXGMII PCS driver +Subject: [PATCH 42/92] net/pcs: add MediaTek MT7988 USXGMII PCS driver Add a PCS driver for the USXGMII subsystem found in the MediaTek MT7988 SoC (usxgmiisys0 at 0x10080000, usxgmiisys1 at 0x10081000). The hardware diff --git a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch index 7895611f8..f18ebdc61 100644 --- a/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch +++ b/patches/linux/6.18.56/0043-net-ethernet-mediatek-add-USXGMII-support-for-MT7988.patch @@ -1,7 +1,7 @@ From 7a3a934b66b5a38e732f6c28f76c45b43cea4e15 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:43 +0200 -Subject: [PATCH 43/91] net: ethernet: mediatek: add USXGMII support for MT7988 +Subject: [PATCH 43/92] net: ethernet: mediatek: add USXGMII support for MT7988 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch index 7683985e5..f7d8be995 100644 --- a/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch +++ b/patches/linux/6.18.56/0044-arm64-dts-mediatek-mt7988a-add-USXGMII-PCS-nodes.patch @@ -1,7 +1,7 @@ From d320f311c3e132191b319db4d7f7e3e3f5ed58df Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:15:56 +0200 -Subject: [PATCH 44/91] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes +Subject: [PATCH 44/92] arm64: dts: mediatek: mt7988a: add USXGMII PCS nodes Add device nodes for the two USXGMII subsystem blocks (usxgmiisys0 at 0x10080000 and usxgmiisys1 at 0x10081000), each referencing its clock, diff --git a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch index 21fb5ecbb..a7678217c 100644 --- a/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch +++ b/patches/linux/6.18.56/0045-arm64-dts-mediatek-bananapi-bpi-r4-enable-SFP-ports-.patch @@ -1,7 +1,7 @@ From d83185ab2d0bc45de5c33b6fc50006e166f39417 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Mon, 6 Apr 2026 14:16:11 +0200 -Subject: [PATCH 45/91] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ +Subject: [PATCH 45/92] arm64: dts: mediatek: bananapi-bpi-r4: enable SFP+ ports and WPS button Enable the SFP+ cages wired to gmac1 and gmac2. The USXGMII PCS nodes diff --git a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch index 0c5462950..135b18fff 100644 --- a/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch +++ b/patches/linux/6.18.56/0046-net-phy-sfp-add-OEM-SFP-10G-T-I-quirk.patch @@ -1,7 +1,7 @@ From fa401f49e78eeefa6ef1752733c87b1d67655125 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 7 Apr 2026 07:34:52 +0200 -Subject: [PATCH 46/91] net: phy: sfp: add OEM SFP-10G-T-I quirk +Subject: [PATCH 46/92] net: phy: sfp: add OEM SFP-10G-T-I quirk MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch index 588c6e003..67e06fadd 100644 --- a/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch +++ b/patches/linux/6.18.56/0047-net-dsa-mv88e6xxx-Trap-PTP-frames-on-timestamping-po.patch @@ -1,7 +1,7 @@ From 79c898ca16e60f10eafaf89110b5d2c24bd9ac2c Mon Sep 17 00:00:00 2001 From: Tobias Waldekranz Date: Fri, 17 Apr 2026 09:13:04 +0000 -Subject: [PATCH 47/91] net: dsa: mv88e6xxx: Trap PTP frames on timestamping +Subject: [PATCH 47/92] net: dsa: mv88e6xxx: Trap PTP frames on timestamping ports, on 6393X Similar to the Peridot (6390), the designation of PTP frames as diff --git a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch index 90acac923..6485eb5ad 100644 --- a/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch +++ b/patches/linux/6.18.56/0048-wifi-mt76-mt7615-add-MODULE_DEVICE_TABLE-for-mt7622-.patch @@ -1,7 +1,7 @@ From 0f8cdee2b15e4d5c36520e274ebc74371ec8de68 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 28 Apr 2026 15:30:01 +0200 -Subject: [PATCH 48/91] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 +Subject: [PATCH 48/92] wifi: mt76: mt7615: add MODULE_DEVICE_TABLE for mt7622 wmac Without MODULE_DEVICE_TABLE(of, ...) the OF compatible alias is never diff --git a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch index 3524fe159..fdb86bd9a 100644 --- a/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch +++ b/patches/linux/6.18.56/0049-PCI-mediatek-gen3-Fix-PERST-control-timing-during-sy.patch @@ -1,7 +1,7 @@ From 5f9aa8845b841fcada5fa58f92ceaa9bb9fabcb4 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 22 Apr 2026 10:24:43 +0200 -Subject: [PATCH 49/91] PCI: mediatek-gen3: Fix PERST# control timing during +Subject: [PATCH 49/92] PCI: mediatek-gen3: Fix PERST# control timing during system startup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch index 272dfbeab..e4367dd35 100644 --- a/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch +++ b/patches/linux/6.18.56/0050-net-dsa-mv88e6xxx-Derive-LED-names-from-device-name.patch @@ -1,7 +1,7 @@ From 024fb8fd29a48bb85f355b5a4a558c8ab6875b3c Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 12 Aug 2026 10:08:53 +0200 -Subject: [PATCH 50/91] net: dsa: mv88e6xxx: Derive LED names from device name +Subject: [PATCH 50/92] net: dsa: mv88e6xxx: Derive LED names from device name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch index 1d4d6cf7d..96aeafef1 100644 --- a/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch +++ b/patches/linux/6.18.56/0051-phy-sparx5-serdes-make-it-selectable-for-ARCH_LAN969.patch @@ -1,7 +1,7 @@ From f42698c6d686cabca0fced226a63e09c438fbc78 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 31 Oct 2025 13:18:12 +0100 -Subject: [PATCH 51/91] phy: sparx5-serdes: make it selectable for ARCH_LAN969X +Subject: [PATCH 51/92] phy: sparx5-serdes: make it selectable for ARCH_LAN969X LAN969x uses the SparX-5 SERDES driver, so make it selectable for ARCH_LAN969X. diff --git a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch index 7bc1fb341..d54bc3dee 100644 --- a/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch +++ b/patches/linux/6.18.56/0052-net-sparx5-fix-wrong-chip-ids-for-TSN-SKUs.patch @@ -1,7 +1,7 @@ From da55a0660bc7a764abd39b28d1b588d58cfafcf7 Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:38 +0200 -Subject: [PATCH 52/91] net: sparx5: fix wrong chip ids for TSN SKUs +Subject: [PATCH 52/92] net: sparx5: fix wrong chip ids for TSN SKUs The TSN SKUs in enum spx5_target_chiptype have incorrect IDs: diff --git a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch index f130f8660..0db2ef4b9 100644 --- a/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch +++ b/patches/linux/6.18.56/0053-net-sparx5-configure-serdes-for-1000BASE-X-in-sparx5.patch @@ -1,7 +1,7 @@ From 13292f9168073d35dfa05f2c3e8402e18bf3f9ce Mon Sep 17 00:00:00 2001 From: Daniel Machon Date: Wed, 6 May 2026 09:25:39 +0200 -Subject: [PATCH 53/91] net: sparx5: configure serdes for 1000BASE-X in +Subject: [PATCH 53/92] net: sparx5: configure serdes for 1000BASE-X in sparx5_port_init() sparx5_port_init() only invokes sparx5_serdes_set() and the associated diff --git a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch index 6c56a5cc5..93ddb82d4 100644 --- a/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch +++ b/patches/linux/6.18.56/0054-dt-bindings-mmc-atmel-sama5d2-sdhci-add-microchip-la.patch @@ -1,7 +1,7 @@ From 704c64713d2d2d34a22e0d2f8066996bc62d9120 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:29 +0200 -Subject: [PATCH 54/91] dt-bindings: mmc: atmel,sama5d2-sdhci: add +Subject: [PATCH 54/92] dt-bindings: mmc: atmel,sama5d2-sdhci: add microchip,lan969x-sdhci The LAN969x SDMMC controller has its own base clock divider and, unlike diff --git a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch index d402b364f..e6a0eb835 100644 --- a/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0055-mmc-sdhci-of-at91-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From ae98994e45aaa55ecff09321aa65601561aefab4 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:35:44 +0200 -Subject: [PATCH 55/91] mmc: sdhci-of-at91: add LAN969x support +Subject: [PATCH 55/92] mmc: sdhci-of-at91: add LAN969x support The LAN969x SDMMC controller is an Atmel SDMMC IP block, but the driver has no compatible for it, so the eMMC on LAN969x boards never probes. diff --git a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch index ebbf4eefc..9e00a29ae 100644 --- a/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch +++ b/patches/linux/6.18.56/0056-mmc-sdhci-of-at91-stop-SDCLK-on-reset-and-add-eMMC-h.patch @@ -1,7 +1,7 @@ From 4a50546ae4abb37070703d1ce20149b65fdd1a51 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:37:48 +0200 -Subject: [PATCH 56/91] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC +Subject: [PATCH 56/92] mmc: sdhci-of-at91: stop SDCLK on reset and add eMMC hardware reset The controller is reset, and its signaling mode changed, with SDCLK diff --git a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch index 40f95ab1f..52052a768 100644 --- a/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch +++ b/patches/linux/6.18.56/0057-net-sparx5-lan969x-populate-netdev-of_node.patch @@ -1,7 +1,7 @@ From ba2f77ed48aae661eed6cb213162a612f4792931 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 10 Nov 2025 13:42:53 +0100 -Subject: [PATCH 57/91] net: sparx5/lan969x: populate netdev of_node +Subject: [PATCH 57/92] net: sparx5/lan969x: populate netdev of_node Populate of_node for the port netdevs, to make the individual ports of_nodes available in sysfs. diff --git a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch index 5a11a2fc3..43725799c 100644 --- a/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch +++ b/patches/linux/6.18.56/0058-arm64-dts-microchip-add-LAN969x-clock-header-file.patch @@ -1,7 +1,7 @@ From b8f745bf145aed656a87edcf2cee16caef2950e2 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:11 +0100 -Subject: [PATCH 58/91] arm64: dts: microchip: add LAN969x clock header file +Subject: [PATCH 58/92] arm64: dts: microchip: add LAN969x clock header file LAN969x uses hardware clock indexes, so document theses in a header to make them humanly readable. diff --git a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch index 038e78886..ce9b55592 100644 --- a/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch +++ b/patches/linux/6.18.56/0059-arm64-dts-microchip-add-LAN969x-support.patch @@ -1,7 +1,7 @@ From c3fc7872ff9176197161d2695a4d3fbbe2d90f90 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:12 +0100 -Subject: [PATCH 59/91] arm64: dts: microchip: add LAN969x support +Subject: [PATCH 59/92] arm64: dts: microchip: add LAN969x support Add support for Microchip LAN969x switch SoC series by adding the SoC DTSI. diff --git a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch index c0bfe76f2..09cac845f 100644 --- a/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0060-arm64-dts-microchip-add-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b10c04d81bb96ab0b09484ee2a2373482b56f26d Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:14 +0100 -Subject: [PATCH 60/91] arm64: dts: microchip: add EV23X71A board +Subject: [PATCH 60/92] arm64: dts: microchip: add EV23X71A board Microchip EV23X71A is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch index 0731d33fd..632f9a0cf 100644 --- a/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch +++ b/patches/linux/6.18.56/0061-arm64-dts-microchip-lan969x-add-OTP-node.patch @@ -1,7 +1,7 @@ From c6af26aff045284fc98aae066d46385e74ab82c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 15 May 2026 13:59:09 +0200 -Subject: [PATCH 61/91] arm64: dts: microchip: lan969x: add OTP node +Subject: [PATCH 61/92] arm64: dts: microchip: lan969x: add OTP node Add the required OTP on LAN969x. diff --git a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch index 55bfdeb04..631d0020a 100644 --- a/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch +++ b/patches/linux/6.18.56/0062-arm64-dts-microchip-lan969x-add-SDMMC-nodes.patch @@ -1,7 +1,7 @@ From 7df6f654874cc48a7bea2d8d2d78fe8e9c1c90c7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 62/91] arm64: dts: microchip: lan969x: add SDMMC nodes +Subject: [PATCH 62/92] arm64: dts: microchip: lan969x: add SDMMC nodes The SoC has two SDMMC controllers, neither of which is described, so boards with eMMC have no way to enable it. Add both, disabled by diff --git a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch index 985cd4af7..136ffd8af 100644 --- a/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch +++ b/patches/linux/6.18.56/0063-arm64-dts-microchip-ev23x71a-enable-eMMC.patch @@ -1,7 +1,7 @@ From b41259b09f91a140bc0350d7f473d9fee3fbe8b3 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 19 Aug 2026 11:38:37 +0200 -Subject: [PATCH 63/91] arm64: dts: microchip: ev23x71a: enable eMMC +Subject: [PATCH 63/92] arm64: dts: microchip: ev23x71a: enable eMMC The board has an 8-bit eMMC on SDMMC0, and defines the emmc_sd pinctrl group for it, but nothing enables the controller. diff --git a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch index 293c32c18..e4c54a812 100644 --- a/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch +++ b/patches/linux/6.18.56/0064-wifi-brcmfmac-survey-the-requested-interface-not-the.patch @@ -1,7 +1,7 @@ From 54b38afac5c46299c8a7ebe594b35774d134389b Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:42:48 +0200 -Subject: [PATCH 64/91] wifi: brcmfmac: survey the requested interface, not the +Subject: [PATCH 64/92] wifi: brcmfmac: survey the requested interface, not the primary MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch index 556f41481..5addd4a45 100644 --- a/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch +++ b/patches/linux/6.18.56/0065-wifi-brcmfmac-honor-caller-s-rtnl-lock-when-stopping.patch @@ -1,7 +1,7 @@ From b2c521013e15b485455469fa4a263de2cf04dd02 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:43:14 +0200 -Subject: [PATCH 65/91] wifi: brcmfmac: honor caller's rtnl lock when stopping +Subject: [PATCH 65/92] wifi: brcmfmac: honor caller's rtnl lock when stopping primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch index 3412e0480..21c3b487a 100644 --- a/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch +++ b/patches/linux/6.18.56/0066-wifi-brcmfmac-let-cfg_to_ndev-return-NULL-and-harden.patch @@ -1,7 +1,7 @@ From 0e082428a5013b6d35567cf122119af2772f909f Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 15:46:25 +0200 -Subject: [PATCH 66/91] wifi: brcmfmac: let cfg_to_ndev() return NULL and +Subject: [PATCH 66/92] wifi: brcmfmac: let cfg_to_ndev() return NULL and harden its callers MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch index 9a4ef74a4..26bd08a20 100644 --- a/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch +++ b/patches/linux/6.18.56/0067-wifi-brcmfmac-support-deletion-and-recreation-of-the.patch @@ -1,7 +1,7 @@ From 102750f26d8cbf5d58936b4c9c6da801433c4314 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Tue, 30 Jun 2026 16:05:17 +0200 -Subject: [PATCH 67/91] wifi: brcmfmac: support deletion and recreation of the +Subject: [PATCH 67/92] wifi: brcmfmac: support deletion and recreation of the primary interface MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch index 3dbb955ac..87c6e4e3c 100644 --- a/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch +++ b/patches/linux/6.18.56/0068-wifi-brcmfmac-report-port-authorized-after-offloaded.patch @@ -1,7 +1,7 @@ From b965ae0c551ae3e2df6937933b6bdd1c42753a43 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Thu, 10 Sep 2026 08:29:47 +0200 -Subject: [PATCH 68/91] wifi: brcmfmac: report port authorized after offloaded +Subject: [PATCH 68/92] wifi: brcmfmac: report port authorized after offloaded PSK/SAE handshake MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch index 4c832f6d7..cec6d0f80 100644 --- a/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0069-dt-bindings-arm-AT91-document-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From f5f7599f8af9db56b09f26d22b20ee75defe1717 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Fri, 9 Jan 2026 13:27:00 +0100 -Subject: [PATCH 69/91] dt-bindings: arm: AT91: document Novarq Tactical 1000 +Subject: [PATCH 69/92] dt-bindings: arm: AT91: document Novarq Tactical 1000 Novarq Tactical 1000 is a Microchip LAN9696 based 24x1G + 4x10G SFP switch. diff --git a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch index d4a9d5b2c..611a43a04 100644 --- a/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch +++ b/patches/linux/6.18.56/0070-arm64-dts-microchip-add-Novarq-Tactical-1000.patch @@ -1,7 +1,7 @@ From 8b4b41c449758451c7dbcdd9092b9bd0e0a2b082 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Sep 2025 13:37:49 +0200 -Subject: [PATCH 70/91] arm64: dts: microchip: add Novarq Tactical 1000 +Subject: [PATCH 70/92] arm64: dts: microchip: add Novarq Tactical 1000 Novarq Tactical 1000 is a LAN9696 based switch featuring 24x1G and 4x10G SFP ports. diff --git a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch index dfb5d7f5c..675772ed3 100644 --- a/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch +++ b/patches/linux/6.18.56/0071-arm64-dts-microchip-tactical-1000-add-port-names.patch @@ -1,7 +1,7 @@ From f973058544e1b44fd551db6a230659dbce67313e Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Tue, 30 Jun 2026 11:23:47 +0200 -Subject: [PATCH 71/91] arm64: dts: microchip: tactical-1000: add port names +Subject: [PATCH 71/92] arm64: dts: microchip: tactical-1000: add port names Now that driver supports parsing the "label" property, populate port names as they are physically wired up. diff --git a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch index 1b71d74bb..879f882df 100644 --- a/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch +++ b/patches/linux/6.18.56/0072-arm64-dts-microchip-tactical-1000-adapt-to-6.18.patch @@ -1,7 +1,7 @@ From d49813a338d7c9b9d69e38e1fcc1c937c588a071 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Sun, 20 Sep 2026 12:22:43 +0200 -Subject: [PATCH 72/91] arm64: dts: microchip: tactical-1000: adapt to 6.18 +Subject: [PATCH 72/92] arm64: dts: microchip: tactical-1000: adapt to 6.18 Novarq develop against 7.3, which has three things 6.18 does not: a QSPI controller node, a tmon that also provides the fan PWM, and hence a SoC diff --git a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch index 8793457e4..eeec77223 100644 --- a/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch +++ b/patches/linux/6.18.56/0073-dt-bindings-arm-AT91-document-EV23X71A-board.patch @@ -1,7 +1,7 @@ From b5afb74688659804bbed4bca3928c98975daf2c8 Mon Sep 17 00:00:00 2001 From: Robert Marko Date: Mon, 2 Mar 2026 12:20:13 +0100 -Subject: [PATCH 73/91] dt-bindings: arm: AT91: document EV23X71A board +Subject: [PATCH 73/92] dt-bindings: arm: AT91: document EV23X71A board Microchip EV23X71A board is an LAN9696 based evaluation board. diff --git a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch index 03ce982c9..b3bf9179d 100644 --- a/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch +++ b/patches/linux/6.18.56/0074-net-dsa-Skip-DCB-default-priority-init-on-unsupporte.patch @@ -1,7 +1,7 @@ From 45fd43a305c595ea24b0de5cf090affeffc4029f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:21 +0200 -Subject: [PATCH 74/91] net: dsa: Skip DCB default priority init on unsupported +Subject: [PATCH 74/92] net: dsa: Skip DCB default priority init on unsupported switches A driver serving several chip generations has one dsa_switch_ops for diff --git a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch index 136382bd1..b94c2d277 100644 --- a/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch +++ b/patches/linux/6.18.56/0075-net-dsa-Generalise-the-global-DCB-APP-mirroring-help.patch @@ -1,7 +1,7 @@ From cb31150945889f02373febe89f618afee36c6e62 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:51:07 +0200 -Subject: [PATCH 75/91] net: dsa: Generalise the global DCB APP mirroring +Subject: [PATCH 75/92] net: dsa: Generalise the global DCB APP mirroring helper A switch with one classification table for all its ports programs it diff --git a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch index c8564a743..e3c5da87b 100644 --- a/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch +++ b/patches/linux/6.18.56/0076-net-dsa-Support-the-PCP-APP-selector.patch @@ -1,7 +1,7 @@ From e1a8005d2fc1813b71e65c79e700da5635e639e0 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:04:22 +0200 -Subject: [PATCH 76/91] net: dsa: Support the PCP APP selector +Subject: [PATCH 76/92] net: dsa: Support the PCP APP selector Add port_add_pcp_prio, port_del_pcp_prio and port_get_pcp_prio switch ops and route the DCB_APP_SEL_PCP selector to them, mirroring the DSCP diff --git a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch index 1d76d989f..0ed2fbe69 100644 --- a/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch +++ b/patches/linux/6.18.56/0077-net-dsa-Support-DCB-priority-rewrite.patch @@ -1,7 +1,7 @@ From fb3ca7803ea876f7d96514696615143835bc78f9 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 9 Sep 2026 17:10:32 +0200 -Subject: [PATCH 77/91] net: dsa: Support DCB priority rewrite +Subject: [PATCH 77/92] net: dsa: Support DCB priority rewrite The DCB rewrite table maps a priority back to the PCP and DEI, or the DSCP, that frames are remarked with on egress. DSA has no diff --git a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch index 0e9645767..c77b2c07a 100644 --- a/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch +++ b/patches/linux/6.18.56/0078-net-dsa-Support-the-IEEE-ETS-managed-object.patch @@ -1,7 +1,7 @@ From 46e44f7a4aba62dc94958e01638e8e93ea62e59b Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Tue, 22 Sep 2026 13:53:23 +0200 -Subject: [PATCH 78/91] net: dsa: Support the IEEE ETS managed object +Subject: [PATCH 78/92] net: dsa: Support the IEEE ETS managed object A switch port's transmission selection is configured today through the ets queuing discipline, which numbers its bands the other way round diff --git a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch index 2470dfa06..dc28f2a49 100644 --- a/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch +++ b/patches/linux/6.18.56/0079-net-sparx5-fix-sleep-in-atomic-context-in-MAC-table-.patch @@ -1,7 +1,7 @@ From 308c9dbab764bef06cceb03e412b491ea57234b5 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 11:42:12 +0200 -Subject: [PATCH 79/91] net: sparx5: fix sleep in atomic context in MAC table +Subject: [PATCH 79/92] net: sparx5: fix sleep in atomic context in MAC table access Adding or removing a multicast address on an unbridged switch port diff --git a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch index 45a665f01..d48aaa095 100644 --- a/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch +++ b/patches/linux/6.18.56/0080-misc-sparx5-symreg-symreg-debugfs-driver-DBB-1045.patch @@ -1,7 +1,7 @@ From c6f8b6a050e69c951ce0ce56467b6e9fd9a638f1 Mon Sep 17 00:00:00 2001 From: Steen Hegelund Date: Wed, 21 Jan 2026 10:09:45 +0100 -Subject: [PATCH 80/91] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) +Subject: [PATCH 80/92] misc: sparx5-symreg; symreg debugfs driver (DBB-1045) Expose the switch register space of Microchip Sparx5 family SoCs through /sys/kernel/debug/symreg/mem, for the symreg tool, which diff --git a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch index 6f77eb420..14f409c45 100644 --- a/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch +++ b/patches/linux/6.18.56/0081-net-ethernet-mtk_wed-map-WO-memory-regions-without-r.patch @@ -1,7 +1,7 @@ From e0e6e024e5e5866ff61b68bf9790fd24e542d7e2 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Mon, 5 Oct 2026 14:37:56 +0200 -Subject: [PATCH 81/91] net: ethernet: mtk_wed: map WO memory regions without +Subject: [PATCH 81/92] net: ethernet: mtk_wed: map WO memory regions without requesting them MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch index 6c443ced4..04c44b920 100644 --- a/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch +++ b/patches/linux/6.18.56/0082-wifi-mt76-wed-fix-kernel-panic-on-non-DBDC-MT7986.patch @@ -1,7 +1,7 @@ From 8c40b743cd6f8117c177291988ffe1980e9595cd Mon Sep 17 00:00:00 2001 From: Zhi-Jun You Date: Wed, 15 Jul 2026 23:21:12 +0800 -Subject: [PATCH 82/91] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 +Subject: [PATCH 82/92] wifi: mt76: wed: fix kernel panic on non-DBDC MT7986 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit diff --git a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch index 04f3e3cea..8572c10fc 100644 --- a/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch +++ b/patches/linux/6.18.56/0083-wifi-mt76-mt7915-set-up-WPDMA-RX-ring-0-for-WED-on-a.patch @@ -1,7 +1,7 @@ From 9b5a788cc9a12f1b23ad0e84dfaa78008a399b49 Mon Sep 17 00:00:00 2001 From: Mattias Walström Date: Wed, 7 Oct 2026 22:20:00 +0200 -Subject: [PATCH 83/91] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a +Subject: [PATCH 83/92] wifi: mt76: mt7915: set up WPDMA RX ring 0 for WED on a band1-only device MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 diff --git a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch index edf4e9a01..c03e93d04 100644 --- a/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch +++ b/patches/linux/6.18.56/0084-wifi-mt76-mt7915-add-WDS-support-when-WED-is-enabled.patch @@ -1,7 +1,7 @@ From a39e22f32c005cb7096e66789000b2a9209444d0 Mon Sep 17 00:00:00 2001 From: Felix Fietkau Date: Mon, 20 Oct 2025 15:59:12 +0200 -Subject: [PATCH 84/91] wifi: mt76: mt7915: add WDS support when WED is enabled +Subject: [PATCH 84/92] wifi: mt76: mt7915: add WDS support when WED is enabled The current WED only supports 256 wcid, whereas mt7986 can support up to 512 entries, so firmware provides a rule to get sta_info by DA when wcid diff --git a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch index 375b4c08c..797f605a9 100644 --- a/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch +++ b/patches/linux/6.18.56/0085-net-ethernet-mtk_wed-increase-WED-v2-WDMA-RESV_BUFF-.patch @@ -1,7 +1,7 @@ From 3d86eb80be2c4367e3293e783d26b6b452840287 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Wed, 19 Aug 2026 21:07:07 +0800 -Subject: [PATCH 85/91] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF +Subject: [PATCH 85/92] net: ethernet: mtk_wed: increase WED v2 WDMA RESV_BUFF to 0x80 Change WDMA RESV_BUFF from 0x40 to 0x80 to avoid CDM TX FIFO overflow. diff --git a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch index 753d44bef..3f87fa782 100644 --- a/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch +++ b/patches/linux/6.18.56/0086-wifi-mt76-mt7915-publish-wcid-before-MCU-add-command.patch @@ -1,7 +1,7 @@ From 57ac316f70b79c0e2709e6221aca6b9026f8ce1c Mon Sep 17 00:00:00 2001 From: Ryan Leung Date: Fri, 21 Aug 2026 09:00:01 +0000 -Subject: [PATCH 86/91] wifi: mt76: mt7915: publish wcid before MCU add +Subject: [PATCH 86/92] wifi: mt76: mt7915: publish wcid before MCU add commands mt7915_add_interface() enables the BSS/STA in firmware via diff --git a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch index 64041ba64..a31ce1091 100644 --- a/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch +++ b/patches/linux/6.18.56/0087-net-sparx5-fix-multicast-delivery-to-the-CPU-on-stan.patch @@ -1,7 +1,7 @@ From f3602976d1b9b1b5a741c1116a5ed1066872212c Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Wed, 7 Oct 2026 17:30:17 +0200 -Subject: [PATCH 87/91] net: sparx5: fix multicast delivery to the CPU on +Subject: [PATCH 87/92] net: sparx5: fix multicast delivery to the CPU on standalone ports A standalone port stops receiving a multicast group as soon as any diff --git a/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch b/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch index 32cf1e5e8..ed38c8f1f 100644 --- a/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch +++ b/patches/linux/6.18.56/0088-net-sparx5-fix-broadcast-to-the-CPU-on-bridge-ports-.patch @@ -1,7 +1,7 @@ From 1dee287024abcffa206501a9c27d2b58c17c12d1 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 13:48:05 +0200 -Subject: [PATCH 88/91] net: sparx5: fix broadcast to the CPU on bridge ports +Subject: [PATCH 88/92] net: sparx5: fix broadcast to the CPU on bridge ports without a PVID Ports of a bridge created with vlan_default_pvid 0 never deliver diff --git a/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch b/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch index 94856065c..c34b43254 100644 --- a/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch +++ b/patches/linux/6.18.56/0089-net-sparx5-fix-MAC-table-entry-shared-by-bridge-VID-.patch @@ -1,7 +1,7 @@ From ebe3a4f6446a13bd7d09f89105a4e5f70607c8ad Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 13:55:02 +0200 -Subject: [PATCH 89/91] net: sparx5: fix MAC table entry shared by bridge VID 0 +Subject: [PATCH 89/92] net: sparx5: fix MAC table entry shared by bridge VID 0 and VID 1 The MAC address of a bridge created with vlan_default_pvid 0 is diff --git a/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch b/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch index fb36661e0..21a2cf07b 100644 --- a/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch +++ b/patches/linux/6.18.56/0090-net-sparx5-fix-loss-of-a-bridged-port-s-MAC-entry-on.patch @@ -1,7 +1,7 @@ From e656985802b0e6da7659b00bf443d4369022c3d7 Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Thu, 8 Oct 2026 13:55:20 +0200 -Subject: [PATCH 90/91] net: sparx5: fix loss of a bridged port's MAC entry on +Subject: [PATCH 90/92] net: sparx5: fix loss of a bridged port's MAC entry on link down Taking a bridged port down forgets its MAC address on the bridge VID, diff --git a/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch b/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch index ff6fbc1a4..1d12948ca 100644 --- a/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch +++ b/patches/linux/6.18.56/0091-net-sparx5-share-the-CPU-MAC-entry-of-standalone-por.patch @@ -1,7 +1,7 @@ From 9c51c71b0e174f2c4c806d34aa9c7b9d8bb0b86f Mon Sep 17 00:00:00 2001 From: Joachim Wiberg Date: Fri, 9 Oct 2026 10:12:29 +0200 -Subject: [PATCH 91/91] net: sparx5: share the CPU MAC entry of standalone +Subject: [PATCH 91/92] net: sparx5: share the CPU MAC entry of standalone ports with one address Taking one port of a LACP aggregate down stops unicast to the aggregate diff --git a/patches/linux/6.18.56/0092-net-phy-micrel-Add-support-for-non-PTP-SKUs-for-lan8.patch b/patches/linux/6.18.56/0092-net-phy-micrel-Add-support-for-non-PTP-SKUs-for-lan8.patch new file mode 100644 index 000000000..3b286d12b --- /dev/null +++ b/patches/linux/6.18.56/0092-net-phy-micrel-Add-support-for-non-PTP-SKUs-for-lan8.patch @@ -0,0 +1,121 @@ +From f40bce1fdae5974d73508ec73b97771e2111bcbe Mon Sep 17 00:00:00 2001 +From: Horatiu Vultur +Date: Tue, 21 Oct 2025 09:07:26 +0200 +Subject: [PATCH 92/92] net: phy: micrel: Add support for non PTP SKUs for + lan8814 + +The lan8814 has 4 different SKUs and for 2 of these SKUs the PTP is +disabled. All these SKUs have the same value in the register 2 and 3. +Meaning that we can't differentiate them based on device id, therefore +check the SKU register and based on this allow or not to create a PTP +device. + +Signed-off-by: Horatiu Vultur +Reviewed-by: Andrew Lunn +Link: https://patch.msgid.link/20251021070726.3690685-1-horatiu.vultur@microchip.com +Signed-off-by: Paolo Abeni + +(cherry picked from commit 61b7ade9ba8c3b16867e25411b5f7cf1abe35879) +Signed-off-by: Joachim Wiberg +--- + drivers/net/phy/micrel.c | 38 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 38 insertions(+) + +diff --git a/drivers/net/phy/micrel.c b/drivers/net/phy/micrel.c +index d79004dcb768b..2007c9d03fb86 100644 +--- a/drivers/net/phy/micrel.c ++++ b/drivers/net/phy/micrel.c +@@ -101,6 +101,8 @@ + #define LAN8814_CABLE_DIAG_VCT_DATA_MASK GENMASK(7, 0) + #define LAN8814_PAIR_BIT_SHIFT 12 + ++#define LAN8814_SKUS 0xB ++ + #define LAN8814_WIRE_PAIR_MASK 0xF + + /* Lan8814 general Interrupt control/status reg in GPHY specific block. */ +@@ -367,6 +369,9 @@ + + #define LAN8842_REV_8832 0x8832 + ++#define LAN8814_REV_LAN8814 0x8814 ++#define LAN8814_REV_LAN8818 0x8818 ++ + struct kszphy_hw_stat { + const char *string; + u8 reg; +@@ -449,6 +454,7 @@ struct kszphy_priv { + bool rmii_ref_clk_sel; + bool rmii_ref_clk_sel_val; + bool clk_enable; ++ bool is_ptp_available; + u64 stats[ARRAY_SIZE(kszphy_hw_stats)]; + struct kszphy_phy_stats phy_stats; + }; +@@ -4159,6 +4165,17 @@ static int lan8804_config_intr(struct phy_device *phydev) + return 0; + } + ++/* Check if the PHY has 1588 support. There are multiple skus of the PHY and ++ * some of them support PTP while others don't support it. This function will ++ * return true is the sku supports it, otherwise will return false. ++ */ ++static bool lan8814_has_ptp(struct phy_device *phydev) ++{ ++ struct kszphy_priv *priv = phydev->priv; ++ ++ return priv->is_ptp_available; ++} ++ + static irqreturn_t lan8814_handle_interrupt(struct phy_device *phydev) + { + int ret = IRQ_NONE; +@@ -4175,6 +4192,9 @@ static irqreturn_t lan8814_handle_interrupt(struct phy_device *phydev) + ret = IRQ_HANDLED; + } + ++ if (!lan8814_has_ptp(phydev)) ++ return ret; ++ + while (true) { + irq_status = lanphy_read_page_reg(phydev, LAN8814_PAGE_PORT_REGS, + PTP_TSU_INT_STS); +@@ -4236,6 +4256,9 @@ static void lan8814_ptp_init(struct phy_device *phydev) + !IS_ENABLED(CONFIG_NETWORK_PHY_TIMESTAMPING)) + return; + ++ if (!lan8814_has_ptp(phydev)) ++ return; ++ + lanphy_write_page_reg(phydev, LAN8814_PAGE_PORT_REGS, + TSU_HARD_RESET, TSU_HARD_RESET_); + +@@ -4365,6 +4388,9 @@ static int __lan8814_ptp_probe_once(struct phy_device *phydev, char *pin_name, + + static int lan8814_ptp_probe_once(struct phy_device *phydev) + { ++ if (!lan8814_has_ptp(phydev)) ++ return 0; ++ + return __lan8814_ptp_probe_once(phydev, "lan8814_ptp_pin", + LAN8814_PTP_GPIO_NUM); + } +@@ -4480,6 +4506,18 @@ static int lan8814_probe(struct phy_device *phydev) + devm_phy_package_join(&phydev->mdio.dev, phydev, + addr, sizeof(struct lan8814_shared_priv)); + ++ /* There are lan8814 SKUs that don't support PTP. Make sure that for ++ * those skus no PTP device is created. Here we check if the SKU ++ * supports PTP. ++ */ ++ err = lanphy_read_page_reg(phydev, LAN8814_PAGE_COMMON_REGS, ++ LAN8814_SKUS); ++ if (err < 0) ++ return err; ++ ++ priv->is_ptp_available = err == LAN8814_REV_LAN8814 || ++ err == LAN8814_REV_LAN8818; ++ + if (phy_package_probe_once(phydev)) { + err = lan8814_release_coma_mode(phydev); + if (err)