diff --git a/include/image-commands.mk b/include/image-commands.mk index 402e3d71ed..6fe2890a1a 100644 --- a/include/image-commands.mk +++ b/include/image-commands.mk @@ -279,9 +279,11 @@ endef define Build/fit $(TOPDIR)/scripts/mkits.sh \ -D $(DEVICE_NAME) -o $@.its -k $@ \ - -C $(word 1,$(1)) $(if $(word 2,$(1)),\ - $(if $(DEVICE_DTS_OVERLAY),-d $(KERNEL_BUILD_DIR)/image-$$(basename $(word 2,$(1))),\ - -d $(word 2,$(1)))) \ + -C $(word 1,$(1)) \ + $(if $(word 2,$(1)),\ + $(if $(findstring 11,$(if $(DEVICE_DTS_OVERLAY),1)$(if $(findstring $(KERNEL_BUILD_DIR)/image-,$(word 2,$(1))),,1)), \ + -d $(KERNEL_BUILD_DIR)/image-$$(basename $(word 2,$(1))), \ + -d $(word 2,$(1)))) \ $(if $(findstring with-rootfs,$(word 3,$(1))),-r $(IMAGE_ROOTFS)) \ $(if $(findstring with-initrd,$(word 3,$(1))), \ $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE), \ diff --git a/include/kernel-5.10 b/include/kernel-5.10 index f517e3b6a7..c2df3cb11a 100644 --- a/include/kernel-5.10 +++ b/include/kernel-5.10 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.10 = .131 -LINUX_KERNEL_HASH-5.10.131 = 8bc441442c16c330a7148fe3cca9edcd98bc0fc9f68304633c7eb641770d21ce +LINUX_VERSION-5.10 = .134 +LINUX_KERNEL_HASH-5.10.134 = ec3513acdf033dd8f8ac2545cd1bb826b0669e151185e5f70408a5c9fe273269 diff --git a/include/kernel-5.15 b/include/kernel-5.15 index 6f4d3057fb..5bbf12d6f4 100644 --- a/include/kernel-5.15 +++ b/include/kernel-5.15 @@ -1,2 +1,2 @@ -LINUX_VERSION-5.15 = .53 -LINUX_KERNEL_HASH-5.15.53 = f3aa717243051f3fcca90ebfe26fe5c3a596c2f6047846e8d1724ea90df77b07 +LINUX_VERSION-5.15 = .58 +LINUX_KERNEL_HASH-5.15.58 = d75bd9579c4b318e6162e21c591878fd37efda0f79c5cdd0dc4eb9ea9dfc4fa8 diff --git a/package/boot/arm-trusted-firmware-mvebu/Makefile b/package/boot/arm-trusted-firmware-mvebu/Makefile index 18b663768f..9a7e1340a9 100644 --- a/package/boot/arm-trusted-firmware-mvebu/Makefile +++ b/package/boot/arm-trusted-firmware-mvebu/Makefile @@ -7,9 +7,9 @@ include $(TOPDIR)/rules.mk -PKG_VERSION:=2.5 +PKG_VERSION:=2.7 PKG_RELEASE:=$(AUTORELEASE) -PKG_HASH:=ad8a2ffcbcd12d919723da07630fc0840c3c2fba7656d1462e45488e42995d7c +PKG_HASH:=53422dc649153838e03820330ba17cb10afe3e330ecde0db11e4d5f1361a33e6 PKG_MAINTAINER:=Vladimir Vid @@ -124,15 +124,15 @@ TFA_MAKE_FLAGS += \ mrvl_uart A3700_UTILS_NAME:=a3700-utils -A3700_UTILS_RELEASE:=97f01f5f +A3700_UTILS_RELEASE:=1d977157 A3700_UTILS_SOURCE=$(A3700_UTILS_NAME)-$(A3700_UTILS_RELEASE).tar.bz2 define Download/a3700-utils FILE:=$(A3700_UTILS_SOURCE) PROTO:=git URL:=https://github.com/MarvellEmbeddedProcessors/A3700-utils-marvell.git - VERSION:=97f01f5feaf9ef6168e2a2096abaf56371939e58 - MIRROR_HASH:=1e391c4dafb7b3363a17282e229d056a95575c0f4fb2f71e21db8044668aea78 + VERSION:=1d977157e37151b272f88f2406a245c833fb2d8c + MIRROR_HASH:=322821ec8c04afea260254e927c59cd1ec0bd84e7ec6507cc1f155f18afb8eb9 SUBDIR:=$(A3700_UTILS_NAME) endef @@ -150,40 +150,40 @@ define Download/cryptopp endef MV_DDR_NAME:=mv-ddr-marvell -MV_DDR_RELEASE:=efcad0e2 +MV_DDR_RELEASE:=d5acc10c MV_DDR_SOURCE:=$(MV_DDR_NAME)-$(MV_DDR_RELEASE).tar.bz2 define Download/mv-ddr-marvell FILE:=$(MV_DDR_SOURCE) PROTO:=git URL:=https://github.com/MarvellEmbeddedProcessors/mv-ddr-marvell.git - VERSION:=efcad0e2fae66a8b6f84a4dd2326f5add67569d5 - MIRROR_HASH:=99363f928ee1239fd42d651b495d163a60cdab00c24770a3c5e192efa7169d62 + VERSION:=d5acc10c287e40cc2feeb28710b92e45c93c702c + MIRROR_HASH:=c149ab737935b5fb822f48da8e2d7fba4388f48e645f9f6da857bee20f0333ea SUBDIR:=$(MV_DDR_NAME) endef MOX_BB_NAME:=mox-boot-builder -MOX_BB_RELEASE:=v2021.09.07 +MOX_BB_RELEASE:=v2022.06.11 MOX_BB_SOURCE:=$(MOX_BB_NAME)-$(MOX_BB_RELEASE).tar.bz2 define Download/mox-boot-builder FILE:=$(MOX_BB_SOURCE) URL:=https://gitlab.nic.cz/turris/mox-boot-builder/-/archive/$(MOX_BB_RELEASE) - HASH:=fd5fe276a3b0dee3177d61c017907a8eb23cd2169478fa78e9a3a836cfe3a4a8 + HASH:=75e7661c38f4f5e6d8910dd789d6d9ffd8652455548b68c98e5bf45eaab5b6eb endef CM3_GCC_NAME:=gcc-arm -CM3_GCC_RELEASE:=10.2-2020.11 +CM3_GCC_RELEASE:=11.2-2022.02 CM3_GCC_VERSION:=$(HOST_ARCH)-arm-none-eabi CM3_GCC_SOURCE=$(CM3_GCC_NAME)-$(CM3_GCC_RELEASE)-$(CM3_GCC_VERSION).tar.xz define Download/cm3-gcc FILE:=$(CM3_GCC_SOURCE) - URL:=https://developer.arm.com/-/media/Files/downloads/gnu-a/$(CM3_GCC_RELEASE)/binrel + URL:=https://developer.arm.com/-/media/Files/downloads/gnu/$(CM3_GCC_RELEASE)/binrel ifeq ($(HOST_ARCH),aarch64) - HASH:=1a42eecafa03dc6f32b8ae49ffcd15114dc818efbd72292fa6bab58233940bb9 + HASH:=ef1d82e5894e3908cb7ed49c5485b5b95deefa32872f79c2b5f6f5447cabf55f else - HASH:=bf7ee185936d22d787b80c8da573f72ead5675695331fb8b590f0133ef1f6bb9 + HASH:=8c5acd5ae567c0100245b0556941c237369f210bceb196edfe5a2e7532c60326 endif endef @@ -209,10 +209,8 @@ define Build/Prepare mkdir -p $(STAGING_DIR_IMAGE) $(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(CRYPTOPP_SOURCE) $(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(A3700_UTILS_SOURCE) - echo "master" > $(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME)/branch.txt $(call PatchDir/Default,$(STAGING_DIR_IMAGE)/$(A3700_UTILS_NAME),./patches-a3700-utils) $(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(MV_DDR_SOURCE) - echo "master" > $(STAGING_DIR_IMAGE)/$(MV_DDR_NAME)/branch.txt $(call PatchDir/Default,$(STAGING_DIR_IMAGE)/$(MV_DDR_NAME),./patches-mv-ddr-marvell) $(TAR) -C $(STAGING_DIR_IMAGE) -xf $(DL_DIR)/$(MOX_BB_SOURCE) $(call PatchDir/Default,$(STAGING_DIR_IMAGE)/$(MOX_BB_NAME)-$(MOX_BB_RELEASE),./patches-mox-boot-builder) diff --git a/package/boot/arm-trusted-firmware-mvebu/patches-mox-boot-builder/002-no-gold.patch b/package/boot/arm-trusted-firmware-mvebu/patches-mox-boot-builder/002-no-gold.patch deleted file mode 100644 index 943a6e2f4d..0000000000 --- a/package/boot/arm-trusted-firmware-mvebu/patches-mox-boot-builder/002-no-gold.patch +++ /dev/null @@ -1,13 +0,0 @@ -diff --git a/wtmi/Makefile b/wtmi/Makefile -index 75754dc..0c6238f 100644 ---- a/wtmi/Makefile -+++ b/wtmi/Makefile -@@ -36,7 +36,7 @@ LDSCRIPT = wtmi.ld - INCLUDE = -I. - - ifeq ($(LTO), 1) -- LTO_FLAGS = -flto -flto-partition=none -Wl,-fuse-ld=gold -+ LTO_FLAGS = -flto -flto-partition=none - else - LTO_FLAGS = - endif diff --git a/package/boot/arm-trusted-firmware-mvebu/patches/001-no-git.patch b/package/boot/arm-trusted-firmware-mvebu/patches/001-no-git.patch new file mode 100644 index 0000000000..71cd0f8ef9 --- /dev/null +++ b/package/boot/arm-trusted-firmware-mvebu/patches/001-no-git.patch @@ -0,0 +1,21 @@ +We're not building with full fledged git checkouts here, get rid of the +overzealous checks. + +--- a/plat/marvell/armada/a3k/common/a3700_common.mk ++++ b/plat/marvell/armada/a3k/common/a3700_common.mk +@@ -78,7 +78,6 @@ ifdef WTP + + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(wildcard $(value WTP)/*),,$(error "'WTP=$(value WTP)' was specified, but '$(value WTP)' directory does not exist")) +-$(if $(shell git -C $(value WTP) rev-parse --show-cdup 2>&1),$(error "'WTP=$(value WTP)' was specified, but '$(value WTP)' does not contain valid A3700-utils-marvell git repository")) + + TBB := $(WTP)/wtptp/src/TBB_Linux/release/TBB_linux + +@@ -164,7 +163,6 @@ $(TIMDDRTOOL): FORCE + # Do not remove! Following checks are required to ensure correct TF-A builds, removing these checks leads to broken TF-A builds + $(if $(value MV_DDR_PATH),,$(error "Platform '${PLAT}' for ddr tool requires MV_DDR_PATH. Please set MV_DDR_PATH to point to the right directory")) + $(if $(wildcard $(value MV_DDR_PATH)/*),,$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' directory does not exist")) +- $(if $(shell git -C $(value MV_DDR_PATH) rev-parse --show-cdup 2>&1),$(error "'MV_DDR_PATH=$(value MV_DDR_PATH)' was specified, but '$(value MV_DDR_PATH)' does not contain valid mv-ddr-marvell git repository")) + $(Q)$(MAKE) --no-print-directory -C $(WTP) MV_DDR_PATH=$(MV_DDR_PATH) DDR_TOPOLOGY=$(DDR_TOPOLOGY) mv_ddr + + $(BUILD_PLAT)/$(UART_IMAGE): $(BUILD_PLAT)/$(BOOT_IMAGE) $(BUILD_PLAT)/wtmi.bin $(TBB) $(TIMBUILD) $(TIMDDRTOOL) diff --git a/package/boot/arm-trusted-firmware-mvebu/patches/100-fix-plat-marvell-a3720-uart-fix-UART-clock-rate-valu.patch b/package/boot/arm-trusted-firmware-mvebu/patches/100-fix-plat-marvell-a3720-uart-fix-UART-clock-rate-valu.patch deleted file mode 100644 index 6f887411b4..0000000000 --- a/package/boot/arm-trusted-firmware-mvebu/patches/100-fix-plat-marvell-a3720-uart-fix-UART-clock-rate-valu.patch +++ /dev/null @@ -1,60 +0,0 @@ -From 66a7752834382595d26214783ae4698fd1f00bd6 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pali=20Roh=C3=A1r?= -Date: Thu, 13 May 2021 14:53:44 +0200 -Subject: [PATCH] fix(plat/marvell/a3720/uart): fix UART clock rate value and - divisor calculation -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -UART parent clock is by default the platform's xtal clock, which is -25 MHz. - -The value defined in the driver, though, is 25.8048 MHz. This is a hack -for the suboptimal divisor calculation - Divisor = UART clock / (16 * baudrate) -which does not use rounding division, resulting in a suboptimal value -for divisor if the correct parent clock rate was used. - -Change the code for divisor calculation to - Divisor = Round(UART clock / (16 * baudrate)) -and change the parent clock rate value to 25 MHz. - -The final UART divisor for default baudrate 115200 is not affected by -this change. - -(Note that the parent clock rate should not be defined via a macro, -since the xtal clock can also be 40 MHz. This is outside of the scope of -this fix, though.) - -Signed-off-by: Pali Rohár -Change-Id: Iaa401173df87aec94f2dd1b38a90fb6ed0bf0ec6 ---- - drivers/marvell/uart/a3700_console.S | 3 ++- - plat/marvell/armada/a3k/common/include/platform_def.h | 2 +- - 2 files changed, 3 insertions(+), 2 deletions(-) - ---- a/drivers/marvell/uart/a3700_console.S -+++ b/drivers/marvell/uart/a3700_console.S -@@ -45,8 +45,9 @@ func console_a3700_core_init - cbz w2, init_fail - - /* Program the baudrate */ -- /* Divisor = Uart clock / (16 * baudrate) */ -+ /* Divisor = Round(Uartclock / (16 * baudrate)) */ - lsl w2, w2, #4 -+ add w1, w1, w2, lsr #1 - udiv w2, w1, w2 - and w2, w2, #0x3ff - ---- a/plat/marvell/armada/a3k/common/include/platform_def.h -+++ b/plat/marvell/armada/a3k/common/include/platform_def.h -@@ -164,7 +164,7 @@ - * PL011 related constants - */ - #define PLAT_MARVELL_BOOT_UART_BASE (MVEBU_REGS_BASE + 0x12000) --#define PLAT_MARVELL_BOOT_UART_CLK_IN_HZ 25804800 -+#define PLAT_MARVELL_BOOT_UART_CLK_IN_HZ 25000000 - - #define PLAT_MARVELL_CRASH_UART_BASE PLAT_MARVELL_BOOT_UART_BASE - #define PLAT_MARVELL_CRASH_UART_CLK_IN_HZ PLAT_MARVELL_BOOT_UART_CLK_IN_HZ diff --git a/package/boot/arm-trusted-firmware-mvebu/patches/101-fix-plat-marvell-a3720-uart-fix-configuring-UART-clo.patch b/package/boot/arm-trusted-firmware-mvebu/patches/101-fix-plat-marvell-a3720-uart-fix-configuring-UART-clo.patch deleted file mode 100644 index dee4c63d3c..0000000000 --- a/package/boot/arm-trusted-firmware-mvebu/patches/101-fix-plat-marvell-a3720-uart-fix-configuring-UART-clo.patch +++ /dev/null @@ -1,53 +0,0 @@ -From b9185c75f7ec2b600ebe0d49281e216a2456b764 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pali=20Roh=C3=A1r?= -Date: Thu, 13 May 2021 15:11:06 +0200 -Subject: [PATCH] fix(plat/marvell/a3720/uart): fix configuring UART clock -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -When configuring the UART_BAUD_REG register, the function -console_a3700_core_init() currently only changes the baud divisor field, -leaving other fields to their previous value. - -This is incorrect, because the baud divisor is computed with the -assumption that the parent clock rate is 25 MHz, and since the other -fields in this register configure the parent clock, which could have -been changed by U-Boot or Linux. - -Fix this function to also configure the other fields so that the UART -parent clock is selected to be the xtal clock. - -For example without this change TF-A prints only - - ERROR: a3700_system_off needs to be implemented - -followed by garbage after plat_crash_console_init() is called. - -After applying this change instead of garbage it also print crash info: - - PANIC at PC : 0x0000000004023800 - -Signed-off-by: Pali Rohár -Change-Id: I72f338355cc60d939b8bb978d9c7fdd576416b81 ---- - drivers/marvell/uart/a3700_console.S | 7 ++----- - 1 file changed, 2 insertions(+), 5 deletions(-) - ---- a/drivers/marvell/uart/a3700_console.S -+++ b/drivers/marvell/uart/a3700_console.S -@@ -49,12 +49,9 @@ func console_a3700_core_init - lsl w2, w2, #4 - add w1, w1, w2, lsr #1 - udiv w2, w1, w2 -- and w2, w2, #0x3ff -+ and w2, w2, #0x3ff /* clear all other bits to use default clock */ - -- ldr w3, [x0, #UART_BAUD_REG] -- bic w3, w3, 0x3ff -- orr w3, w3, w2 -- str w3, [x0, #UART_BAUD_REG]/* set baud rate divisor */ -+ str w2, [x0, #UART_BAUD_REG]/* set baud rate divisor */ - - /* Set UART to default 16X scheme */ - mov w3, #0 diff --git a/package/boot/arm-trusted-firmware-mvebu/patches/102-refactor-plat-marvell-uart-de-duplicate-PLAT_MARVELL.patch b/package/boot/arm-trusted-firmware-mvebu/patches/102-refactor-plat-marvell-uart-de-duplicate-PLAT_MARVELL.patch deleted file mode 100644 index 7a1f19a002..0000000000 --- a/package/boot/arm-trusted-firmware-mvebu/patches/102-refactor-plat-marvell-uart-de-duplicate-PLAT_MARVELL.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 3133625859b74df42deddd80b705578af6fc2fea Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pali=20Roh=C3=A1r?= -Date: Fri, 14 May 2021 13:21:56 +0200 -Subject: [PATCH] refactor(plat/marvell/uart): de-duplicate PLAT_MARVELL_UART - macros -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Macros PLAT_MARVELL_BOOT_UART* and PLAT_MARVELL_CRASH_UART* are defined -to same values. De-duplicate them into PLAT_MARVELL_UART* macros. - -Signed-off-by: Pali Rohár -Change-Id: Iae5daf7cad6a971e6f3dbe561df3d0174106ca7f ---- - plat/marvell/armada/a3k/common/include/platform_def.h | 7 ++----- - plat/marvell/armada/a8k/a80x0_puzzle/board/system_power.c | 4 ++-- - plat/marvell/armada/a8k/common/include/platform_def.h | 7 ++----- - plat/marvell/armada/common/aarch64/marvell_helpers.S | 8 ++++---- - plat/marvell/armada/common/marvell_console.c | 8 ++++---- - 5 files changed, 14 insertions(+), 20 deletions(-) - ---- a/plat/marvell/armada/a3k/common/include/platform_def.h -+++ b/plat/marvell/armada/a3k/common/include/platform_def.h -@@ -163,11 +163,8 @@ - /* - * PL011 related constants - */ --#define PLAT_MARVELL_BOOT_UART_BASE (MVEBU_REGS_BASE + 0x12000) --#define PLAT_MARVELL_BOOT_UART_CLK_IN_HZ 25000000 -- --#define PLAT_MARVELL_CRASH_UART_BASE PLAT_MARVELL_BOOT_UART_BASE --#define PLAT_MARVELL_CRASH_UART_CLK_IN_HZ PLAT_MARVELL_BOOT_UART_CLK_IN_HZ -+#define PLAT_MARVELL_UART_BASE (MVEBU_REGS_BASE + 0x12000) -+#define PLAT_MARVELL_UART_CLK_IN_HZ 25000000 - - #define PLAT_MARVELL_BL31_RUN_UART_BASE PLAT_MARVELL_BOOT_UART_BASE - #define PLAT_MARVELL_BL31_RUN_UART_CLK_IN_HZ PLAT_MARVELL_BOOT_UART_CLK_IN_HZ ---- a/plat/marvell/armada/a8k/a80x0_puzzle/board/system_power.c -+++ b/plat/marvell/armada/a8k/a80x0_puzzle/board/system_power.c -@@ -41,8 +41,8 @@ int system_power_off(void) - len = sizeof(system_off_now); - system_off_now[len - 1] = add_xor_checksum(system_off_now, len); - -- console_16550_register(PLAT_MARVELL_BOOT_UART_BASE + 0x100, -- PLAT_MARVELL_BOOT_UART_CLK_IN_HZ, 115200, &console); -+ console_16550_register(PLAT_MARVELL_UART_BASE + 0x100, -+ PLAT_MARVELL_UART_CLK_IN_HZ, 115200, &console); - - /* Send system_off_now to console */ - for (i = 0; i < len; i++) { ---- a/plat/marvell/armada/a8k/common/include/platform_def.h -+++ b/plat/marvell/armada/a8k/common/include/platform_def.h -@@ -168,11 +168,8 @@ - /* - * PL011 related constants - */ --#define PLAT_MARVELL_BOOT_UART_BASE (MVEBU_REGS_BASE + 0x512000) --#define PLAT_MARVELL_BOOT_UART_CLK_IN_HZ 200000000 -- --#define PLAT_MARVELL_CRASH_UART_BASE PLAT_MARVELL_BOOT_UART_BASE --#define PLAT_MARVELL_CRASH_UART_CLK_IN_HZ PLAT_MARVELL_BOOT_UART_CLK_IN_HZ -+#define PLAT_MARVELL_UART_BASE (MVEBU_REGS_BASE + 0x512000) -+#define PLAT_MARVELL_UART_CLK_IN_HZ 200000000 - - #define PLAT_MARVELL_BL31_RUN_UART_BASE PLAT_MARVELL_BOOT_UART_BASE - #define PLAT_MARVELL_BL31_RUN_UART_CLK_IN_HZ PLAT_MARVELL_BOOT_UART_CLK_IN_HZ ---- a/plat/marvell/armada/common/aarch64/marvell_helpers.S -+++ b/plat/marvell/armada/common/aarch64/marvell_helpers.S -@@ -63,8 +63,8 @@ endfunc plat_marvell_calc_core_pos - * --------------------------------------------- - */ - func plat_crash_console_init -- mov_imm x0, PLAT_MARVELL_CRASH_UART_BASE -- mov_imm x1, PLAT_MARVELL_CRASH_UART_CLK_IN_HZ -+ mov_imm x0, PLAT_MARVELL_UART_BASE -+ mov_imm x1, PLAT_MARVELL_UART_CLK_IN_HZ - mov_imm x2, MARVELL_CONSOLE_BAUDRATE - #ifdef PLAT_a3700 - b console_a3700_core_init -@@ -81,7 +81,7 @@ endfunc plat_crash_console_init - * --------------------------------------------- - */ - func plat_crash_console_putc -- mov_imm x1, PLAT_MARVELL_CRASH_UART_BASE -+ mov_imm x1, PLAT_MARVELL_UART_BASE - #ifdef PLAT_a3700 - - b console_a3700_core_putc -@@ -99,7 +99,7 @@ endfunc plat_crash_console_putc - * --------------------------------------------- - */ - func plat_crash_console_flush -- mov_imm x0, PLAT_MARVELL_CRASH_UART_BASE -+ mov_imm x0, PLAT_MARVELL_UART_BASE - #ifdef PLAT_a3700 - b console_a3700_core_flush - #else ---- a/plat/marvell/armada/common/marvell_console.c -+++ b/plat/marvell/armada/common/marvell_console.c -@@ -31,8 +31,8 @@ static console_t marvell_runtime_console - void marvell_console_boot_init(void) - { - int rc = -- console_marvell_register(PLAT_MARVELL_BOOT_UART_BASE, -- PLAT_MARVELL_BOOT_UART_CLK_IN_HZ, -+ console_marvell_register(PLAT_MARVELL_UART_BASE, -+ PLAT_MARVELL_UART_CLK_IN_HZ, - MARVELL_CONSOLE_BAUDRATE, - &marvell_boot_console); - if (rc == 0) { -@@ -58,8 +58,8 @@ void marvell_console_boot_end(void) - void marvell_console_runtime_init(void) - { - int rc = -- console_marvell_register(PLAT_MARVELL_BOOT_UART_BASE, -- PLAT_MARVELL_BOOT_UART_CLK_IN_HZ, -+ console_marvell_register(PLAT_MARVELL_UART_BASE, -+ PLAT_MARVELL_UART_CLK_IN_HZ, - MARVELL_CONSOLE_BAUDRATE, - &marvell_runtime_console); - if (rc == 0) diff --git a/package/boot/arm-trusted-firmware-mvebu/patches/103-fix-plat-marvell-a3720-uart-fix-UART-parent-clock-ra.patch b/package/boot/arm-trusted-firmware-mvebu/patches/103-fix-plat-marvell-a3720-uart-fix-UART-parent-clock-ra.patch deleted file mode 100644 index ab958a097a..0000000000 --- a/package/boot/arm-trusted-firmware-mvebu/patches/103-fix-plat-marvell-a3720-uart-fix-UART-parent-clock-ra.patch +++ /dev/null @@ -1,177 +0,0 @@ -From 5a91c439cbeb1f64b8b9830de91efad5113d3c89 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pali=20Roh=C3=A1r?= -Date: Fri, 14 May 2021 15:52:11 +0200 -Subject: [PATCH] fix(plat/marvell/a3720/uart): fix UART parent clock rate - determination -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The UART code for the A3K platform assumes that UART parent clock rate -is always 25 MHz. This is incorrect, because the xtal clock can also run -at 40 MHz (this is board specific). - -The frequency of the xtal clock is determined by a value on a strapping -pin during SOC reset. The code to determine this frequency is already in -A3K's comphy driver. - -Move the get_ref_clk() function from the comphy driver to a separate -file and use it for UART parent clock rate determination. - -Signed-off-by: Pali Rohár -Change-Id: I8bb18a2d020ef18fe65aa06ffa4ab205c71be92e ---- - drivers/marvell/comphy/phy-comphy-3700.c | 24 +------------ - .../marvell/armada/a3k/common/plat_marvell.h | 2 ++ - .../marvell/armada/a3k/common/a3700_common.mk | 1 + - .../armada/a3k/common/aarch64/a3700_clock.S | 35 +++++++++++++++++++ - .../armada/a3k/common/include/platform_def.h | 1 - - .../armada/common/aarch64/marvell_helpers.S | 10 +++++- - plat/marvell/armada/common/marvell_console.c | 1 + - 7 files changed, 49 insertions(+), 25 deletions(-) - create mode 100644 plat/marvell/armada/a3k/common/aarch64/a3700_clock.S - ---- a/drivers/marvell/comphy/phy-comphy-3700.c -+++ b/drivers/marvell/comphy/phy-comphy-3700.c -@@ -14,6 +14,7 @@ - - #include - #include -+#include - - #include "phy-comphy-3700.h" - #include "phy-comphy-common.h" -@@ -29,15 +30,6 @@ - #define USB3_GBE1_PHY (MVEBU_REGS_BASE + 0x5C000) - #define COMPHY_SD_ADDR (MVEBU_REGS_BASE + 0x1F000) - --/* -- * Below address in used only for reading, therefore no problem with concurrent -- * Linux access. -- */ --#define MVEBU_TEST_PIN_LATCH_N (MVEBU_NB_GPIO_REG_BASE + 0x8) -- #define MVEBU_XTAL_MODE_MASK BIT(9) -- #define MVEBU_XTAL_MODE_OFFS 9 -- #define MVEBU_XTAL_CLOCK_25MHZ 0x0 -- - struct sgmii_phy_init_data_fix { - uint16_t addr; - uint16_t value; -@@ -125,20 +117,6 @@ static uint16_t sgmii_phy_init[512] = { - 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000 /*1F8 */ - }; - --/* returns reference clock in MHz (25 or 40) */ --static uint32_t get_ref_clk(void) --{ -- uint32_t val; -- -- val = (mmio_read_32(MVEBU_TEST_PIN_LATCH_N) & MVEBU_XTAL_MODE_MASK) >> -- MVEBU_XTAL_MODE_OFFS; -- -- if (val == MVEBU_XTAL_CLOCK_25MHZ) -- return 25; -- else -- return 40; --} -- - /* PHY selector configures with corresponding modes */ - static void mvebu_a3700_comphy_set_phy_selector(uint8_t comphy_index, - uint32_t comphy_mode) ---- a/include/plat/marvell/armada/a3k/common/plat_marvell.h -+++ b/include/plat/marvell/armada/a3k/common/plat_marvell.h -@@ -100,4 +100,6 @@ void plat_marvell_interconnect_enter_coh - - const mmap_region_t *plat_marvell_get_mmap(void); - -+uint32_t get_ref_clk(void); -+ - #endif /* PLAT_MARVELL_H */ ---- a/plat/marvell/armada/a3k/common/a3700_common.mk -+++ b/plat/marvell/armada/a3k/common/a3700_common.mk -@@ -38,6 +38,7 @@ PLAT_INCLUDES := -I$(PLAT_FAMILY_BASE)/ - -I$/drivers/arm/gic/common/ - - PLAT_BL_COMMON_SOURCES := $(PLAT_COMMON_BASE)/aarch64/a3700_common.c \ -+ $(PLAT_COMMON_BASE)/aarch64/a3700_clock.S \ - $(MARVELL_DRV_BASE)/uart/a3700_console.S - - BL1_SOURCES += $(PLAT_COMMON_BASE)/aarch64/plat_helpers.S \ ---- /dev/null -+++ b/plat/marvell/armada/a3k/common/aarch64/a3700_clock.S -@@ -0,0 +1,35 @@ -+/* -+ * Copyright (C) 2018 Marvell International Ltd. -+ * -+ * SPDX-License-Identifier: BSD-3-Clause -+ * https://spdx.org/licenses -+ */ -+ -+#include -+#include -+ -+/* -+ * Below address in used only for reading, therefore no problem with concurrent -+ * Linux access. -+ */ -+#define MVEBU_TEST_PIN_LATCH_N (MVEBU_NB_GPIO_REG_BASE + 0x8) -+ #define MVEBU_XTAL_MODE_MASK BIT(9) -+ -+ /* ----------------------------------------------------- -+ * uint32_t get_ref_clk (void); -+ * -+ * returns reference clock in MHz (25 or 40) -+ * ----------------------------------------------------- -+ */ -+.globl get_ref_clk -+func get_ref_clk -+ mov_imm x0, MVEBU_TEST_PIN_LATCH_N -+ ldr w0, [x0] -+ tst w0, #MVEBU_XTAL_MODE_MASK -+ bne 40 -+ mov w0, #25 -+ ret -+40: -+ mov w0, #40 -+ ret -+endfunc get_ref_clk ---- a/plat/marvell/armada/a3k/common/include/platform_def.h -+++ b/plat/marvell/armada/a3k/common/include/platform_def.h -@@ -164,7 +164,6 @@ - * PL011 related constants - */ - #define PLAT_MARVELL_UART_BASE (MVEBU_REGS_BASE + 0x12000) --#define PLAT_MARVELL_UART_CLK_IN_HZ 25000000 - - #define PLAT_MARVELL_BL31_RUN_UART_BASE PLAT_MARVELL_BOOT_UART_BASE - #define PLAT_MARVELL_BL31_RUN_UART_CLK_IN_HZ PLAT_MARVELL_BOOT_UART_CLK_IN_HZ ---- a/plat/marvell/armada/common/aarch64/marvell_helpers.S -+++ b/plat/marvell/armada/common/aarch64/marvell_helpers.S -@@ -63,8 +63,16 @@ endfunc plat_marvell_calc_core_pos - * --------------------------------------------- - */ - func plat_crash_console_init -- mov_imm x0, PLAT_MARVELL_UART_BASE -+#ifdef PLAT_a3700 -+ mov x1, x30 -+ bl get_ref_clk -+ mov x30, x1 -+ mov_imm x1, 1000000 -+ mul x1, x0, x1 -+#else - mov_imm x1, PLAT_MARVELL_UART_CLK_IN_HZ -+#endif -+ mov_imm x0, PLAT_MARVELL_UART_BASE - mov_imm x2, MARVELL_CONSOLE_BAUDRATE - #ifdef PLAT_a3700 - b console_a3700_core_init ---- a/plat/marvell/armada/common/marvell_console.c -+++ b/plat/marvell/armada/common/marvell_console.c -@@ -14,6 +14,7 @@ - - #ifdef PLAT_a3700 - #include -+#define PLAT_MARVELL_UART_CLK_IN_HZ (get_ref_clk() * 1000000) - #define console_marvell_register console_a3700_register - #else - #include diff --git a/package/boot/arm-trusted-firmware-mvebu/patches/200-hostssl.patch b/package/boot/arm-trusted-firmware-mvebu/patches/200-hostssl.patch deleted file mode 100644 index ad4e1e9f71..0000000000 --- a/package/boot/arm-trusted-firmware-mvebu/patches/200-hostssl.patch +++ /dev/null @@ -1,20 +0,0 @@ ---- a/tools/fiptool/Makefile -+++ b/tools/fiptool/Makefile -@@ -20,7 +20,7 @@ ifeq (${DEBUG},1) - else - HOSTCCFLAGS += -O2 - endif --LDLIBS := -lcrypto -+LDLIBS := -L${OPENSSL_DIR}/lib -lcrypto - - ifeq (${V},0) - Q := @ -@@ -28,7 +28,7 @@ else - Q := - endif - --INCLUDE_PATHS := -I../../include/tools_share -+INCLUDE_PATHS := -I../../include/tools_share -I${OPENSSL_DIR}/include - - HOSTCC ?= gcc - diff --git a/package/boot/uboot-envtools/files/ramips b/package/boot/uboot-envtools/files/ramips index 7514bf65fb..738d983af2 100644 --- a/package/boot/uboot-envtools/files/ramips +++ b/package/boot/uboot-envtools/files/ramips @@ -44,15 +44,18 @@ zbtlink,zbt-wg2626|\ zte,mf283plus) ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x1000" "0x10000" ;; +h3c,tx1800-plus|\ +h3c,tx1801-plus|\ +h3c,tx1806|\ +jcg,q20) + ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" + ;; hootoo,ht-tm05|\ ravpower,rp-wd03) idx="$(find_mtd_index u-boot-env)" [ -n "$idx" ] && \ ubootenv_add_uci_config "/dev/mtd$idx" "0x4000" "0x1000" "0x1000" ;; -jcg,q20) - ubootenv_add_uci_config "/dev/mtd1" "0x0" "0x20000" "0x20000" - ;; beeline,smartbox-flash|\ linksys,ea6350-v4|\ linksys,ea7300-v1|\ diff --git a/package/boot/uboot-mediatek/patches/300-mt7622-generic-reset-button-ignore-env.patch b/package/boot/uboot-mediatek/patches/301-mt7622-generic-reset-button-ignore-env.patch similarity index 100% rename from package/boot/uboot-mediatek/patches/300-mt7622-generic-reset-button-ignore-env.patch rename to package/boot/uboot-mediatek/patches/301-mt7622-generic-reset-button-ignore-env.patch diff --git a/package/boot/uboot-mediatek/patches/301-mt7623-generic-reset-button-ignore-env.patch b/package/boot/uboot-mediatek/patches/302-mt7623-generic-reset-button-ignore-env.patch similarity index 100% rename from package/boot/uboot-mediatek/patches/301-mt7623-generic-reset-button-ignore-env.patch rename to package/boot/uboot-mediatek/patches/302-mt7623-generic-reset-button-ignore-env.patch diff --git a/package/boot/uboot-mvebu/Makefile b/package/boot/uboot-mvebu/Makefile index 25abcbeb4f..5bf5d59b02 100644 --- a/package/boot/uboot-mvebu/Makefile +++ b/package/boot/uboot-mvebu/Makefile @@ -8,10 +8,10 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk -PKG_VERSION:=2022.04 +PKG_VERSION:=2022.07 PKG_RELEASE:=$(AUTORELEASE) -PKG_HASH:=68e065413926778e276ec3abd28bb32fa82abaa4a6898d570c1f48fbdb08bcd0 +PKG_HASH:=92b08eb49c24da14c1adbf70a71ae8f37cc53eeb4230e859ad8b6733d13dcf5e include $(INCLUDE_DIR)/u-boot.mk include $(INCLUDE_DIR)/package.mk diff --git a/package/boot/uboot-mvebu/patches/103-arm-mvebu-clearfog_defconfig-enable-setexpr-command.patch b/package/boot/uboot-mvebu/patches/103-arm-mvebu-clearfog_defconfig-enable-setexpr-command.patch deleted file mode 100644 index dae43ea942..0000000000 --- a/package/boot/uboot-mvebu/patches/103-arm-mvebu-clearfog_defconfig-enable-setexpr-command.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 40a67a9403deafdac05564b7350af49a71e12373 Mon Sep 17 00:00:00 2001 -From: Josef Schlehofer -Date: Fri, 29 Apr 2022 17:34:53 +0200 -Subject: [PATCH] arm: mvebu: clearfog_defconfig: enable setexpr command - -This command is useful in U-boot scripts and it is being used by -OpenWrt bootscript for this board [1]. Otherwise shell scripting -commands are enabled by default in cmd/Kconfig. - -[1] https://github.com/openwrt/openwrt/blob/852126680e21edc71c0c66561ae5a6d7479dcc67/target/linux/mvebu/image/clearfog.bootscript#L7 - -[2] https://source.denx.de/u-boot/u-boot/-/blob/e95afa56753cebcd20a5114b6d121f281b789006/cmd/Kconfig#L1504 - -Fixes: 0299c90f396c5b2971a4bac596339f4b03661c27 ("arm: mvebu: Add -SolidRun ClearFog Armada 38x initial support") - -Signed-off-by: Josef Schlehofer ---- - configs/clearfog_defconfig | 1 - - 1 file changed, 1 deletion(-) - ---- a/configs/clearfog_defconfig -+++ b/configs/clearfog_defconfig -@@ -35,7 +35,6 @@ CONFIG_CMD_MMC=y - CONFIG_CMD_PCI=y - CONFIG_CMD_SPI=y - CONFIG_CMD_USB=y --# CONFIG_CMD_SETEXPR is not set - CONFIG_CMD_TFTPPUT=y - CONFIG_CMD_CACHE=y - CONFIG_CMD_TIME=y diff --git a/package/kernel/linux/modules/block.mk b/package/kernel/linux/modules/block.mk index 72f670b603..40a14a9be2 100644 --- a/package/kernel/linux/modules/block.mk +++ b/package/kernel/linux/modules/block.mk @@ -508,6 +508,29 @@ endef $(eval $(call KernelPackage,nbd)) +define KernelPackage/nvme + SUBMENU:=$(BLOCK_MENU) + TITLE:=NVM Express block device + DEPENDS:=@PCI_SUPPORT + KCONFIG:= \ + CONFIG_NVME_CORE \ + CONFIG_BLK_DEV_NVME \ + CONFIG_NVME_MULTIPATH=n \ + CONFIG_NVME_HWMON=n + FILES:= \ + $(LINUX_DIR)/drivers/nvme/host/nvme-core.ko \ + $(LINUX_DIR)/drivers/nvme/host/nvme.ko + AUTOLOAD:=$(call AutoLoad,30,nvme-core nvme) +endef + +define KernelPackage/nvme/description + Kernel module for NVM Express solid state drives directly + connected to the PCI or PCI Express bus. +endef + +$(eval $(call KernelPackage,nvme)) + + define KernelPackage/scsi-core SUBMENU:=$(BLOCK_MENU) TITLE:=SCSI device support diff --git a/package/kernel/mac80211/Makefile b/package/kernel/mac80211/Makefile index 3917f48f05..afc10bdb5c 100644 --- a/package/kernel/mac80211/Makefile +++ b/package/kernel/mac80211/Makefile @@ -10,10 +10,10 @@ include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=mac80211 -PKG_VERSION:=5.15.33-1 +PKG_VERSION:=5.15.58-1 PKG_RELEASE:=1 -PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.33/ -PKG_HASH:=1b6b3bded4c81814ebebe2d194c2f8966d2399005b85ebb0557285b6e73f5422 +PKG_SOURCE_URL:=@KERNEL/linux/kernel/projects/backports/stable/v5.15.58/ +PKG_HASH:=a3c2a2b7bbaf8943c65fd72f4e7d7ad5e205aeae28b26c835f9d8afa0f9810bf PKG_SOURCE:=backports-$(PKG_VERSION).tar.xz PKG_BUILD_DIR:=$(KERNEL_BUILD_DIR)/backports-$(PKG_VERSION) diff --git a/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch b/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch index 514cfd9e5e..4ea33365d1 100644 --- a/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch +++ b/package/kernel/mac80211/patches/ath/402-ath_regd_optional.patch @@ -82,7 +82,7 @@ help --- a/local-symbols +++ b/local-symbols -@@ -83,6 +83,7 @@ ADM8211= +@@ -106,6 +106,7 @@ ADM8211= ATH_COMMON= WLAN_VENDOR_ATH= ATH_DEBUG= diff --git a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch index c8eef504c6..02281adf4a 100644 --- a/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch +++ b/package/kernel/mac80211/patches/ath/404-regd_no_assoc_hints.patch @@ -1,6 +1,6 @@ --- a/net/wireless/reg.c +++ b/net/wireless/reg.c -@@ -3304,6 +3304,8 @@ void regulatory_hint_country_ie(struct w +@@ -3309,6 +3309,8 @@ void regulatory_hint_country_ie(struct w enum environment_cap env = ENVIRON_ANY; struct regulatory_request *request = NULL, *lr; @@ -9,7 +9,7 @@ /* IE len must be evenly divisible by 2 */ if (country_ie_len & 0x01) return; -@@ -3555,6 +3557,7 @@ static bool is_wiphy_all_set_reg_flag(en +@@ -3560,6 +3562,7 @@ static bool is_wiphy_all_set_reg_flag(en void regulatory_hint_disconnect(void) { diff --git a/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch b/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch index de6f9d9bb0..d9a3cd534c 100644 --- a/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch +++ b/package/kernel/mac80211/patches/ath10k/080-ath10k_thermal_config.patch @@ -37,7 +37,7 @@ void ath10k_thermal_event_temperature(struct ath10k *ar, int temperature); --- a/local-symbols +++ b/local-symbols -@@ -142,6 +142,7 @@ ATH10K_SNOC= +@@ -165,6 +165,7 @@ ATH10K_SNOC= ATH10K_DEBUG= ATH10K_DEBUGFS= ATH10K_SPECTRAL= diff --git a/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch b/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch index cb02dede64..abca7aac9e 100644 --- a/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch +++ b/package/kernel/mac80211/patches/ath10k/081-04-ath10k-add-encapsulation-offloading-support.patch @@ -123,7 +123,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com ret = ath10k_htt_tx_inc_pending(htt); if (ret) { -@@ -5447,6 +5465,30 @@ static int ath10k_mac_set_txbf_conf(stru +@@ -5463,6 +5481,30 @@ static int ath10k_mac_set_txbf_conf(stru ar->wmi.vdev_param->txbf, value); } @@ -154,7 +154,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com /* * TODO: * Figure out how to handle WMI_VDEV_SUBTYPE_P2P_DEVICE, -@@ -5656,15 +5698,7 @@ static int ath10k_add_interface(struct i +@@ -5672,15 +5714,7 @@ static int ath10k_add_interface(struct i arvif->def_wep_key_idx = -1; @@ -171,7 +171,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com /* Configuring number of spatial stream for monitor interface is causing * target assert in qca9888 and qca6174. -@@ -9352,6 +9386,7 @@ static const struct ieee80211_ops ath10k +@@ -9368,6 +9402,7 @@ static const struct ieee80211_ops ath10k .stop = ath10k_stop, .config = ath10k_config, .add_interface = ath10k_add_interface, @@ -179,7 +179,7 @@ Link: https://lore.kernel.org/r/20220516032519.29831-5-ryazanov.s.a@gmail.com .remove_interface = ath10k_remove_interface, .configure_filter = ath10k_configure_filter, .bss_info_changed = ath10k_bss_info_changed, -@@ -10021,6 +10056,12 @@ int ath10k_mac_register(struct ath10k *a +@@ -10037,6 +10072,12 @@ int ath10k_mac_register(struct ath10k *a if (test_bit(WMI_SERVICE_TDLS_UAPSD_BUFFER_STA, ar->wmi.svc_map)) ieee80211_hw_set(ar->hw, SUPPORTS_TDLS_BUFFER_STA); diff --git a/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch b/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch index 9cbc52b88f..9dfde4385e 100644 --- a/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch +++ b/package/kernel/mac80211/patches/ath10k/930-ath10k_add_tpt_led_trigger.patch @@ -1,6 +1,6 @@ --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -9878,6 +9878,21 @@ static int ath10k_mac_init_rd(struct ath +@@ -9894,6 +9894,21 @@ static int ath10k_mac_init_rd(struct ath return 0; } @@ -22,7 +22,7 @@ int ath10k_mac_register(struct ath10k *ar) { static const u32 cipher_suites[] = { -@@ -10236,6 +10251,12 @@ int ath10k_mac_register(struct ath10k *a +@@ -10252,6 +10267,12 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; diff --git a/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch b/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch index f1e7f5ecc6..47b52416ab 100644 --- a/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch +++ b/package/kernel/mac80211/patches/ath10k/974-ath10k_add-LED-and-GPIO-controlling-support-for-various-chipsets.patch @@ -114,7 +114,7 @@ v13: ath10k_core-$(CONFIG_DEV_COREDUMP) += coredump.o --- a/local-symbols +++ b/local-symbols -@@ -143,6 +143,7 @@ ATH10K_DEBUG= +@@ -166,6 +166,7 @@ ATH10K_DEBUG= ATH10K_DEBUGFS= ATH10K_SPECTRAL= ATH10K_THERMAL= diff --git a/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch b/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch index 4c1b73b1c1..842853ddf4 100644 --- a/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch +++ b/package/kernel/mac80211/patches/ath10k/975-ath10k-use-tpt-trigger-by-default.patch @@ -42,7 +42,7 @@ Signed-off-by: Mathias Kresin if (ret) --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c -@@ -10253,7 +10253,7 @@ int ath10k_mac_register(struct ath10k *a +@@ -10269,7 +10269,7 @@ int ath10k_mac_register(struct ath10k *a ar->hw->weight_multiplier = ATH10K_AIRTIME_WEIGHT_MULTIPLIER; #ifdef CPTCFG_MAC80211_LEDS diff --git a/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch b/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch index 291bc6d1e1..6b5c0dc514 100644 --- a/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch +++ b/package/kernel/mac80211/patches/ath9k/551-ath9k_ubnt_uap_plus_hsr.patch @@ -371,7 +371,7 @@ --- a/local-symbols +++ b/local-symbols -@@ -110,6 +110,7 @@ ATH9K_WOW= +@@ -133,6 +133,7 @@ ATH9K_WOW= ATH9K_RFKILL= ATH9K_CHANNEL_CONTEXT= ATH9K_PCOEM= diff --git a/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch b/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch deleted file mode 100644 index b883177b9f..0000000000 --- a/package/kernel/mac80211/patches/ath9k/580-ath9k_ar9561_fix_bias_level.patch +++ /dev/null @@ -1,42 +0,0 @@ -From 4509e523dba46f789377cfec6f20579adf743416 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Thibaut=20VAR=C3=88NE?= -Date: Sun, 17 Apr 2022 11:31:35 +0200 -Subject: [PATCH v2] ath9k: fix QCA9561 PA bias level -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This patch fixes an invalid TX PA DC bias level on QCA9561, which -results in a very low output power and very low throughput as devices -are further away from the AP (compared to other 2.4GHz APs). - -This patch was suggested by Felix Fietkau, who noted[1]: -"The value written to that register is wrong, because while the mask -definition AR_CH0_TOP2_XPABIASLVL uses a different value for 9561, the -shift definition AR_CH0_TOP2_XPABIASLVL_S is hardcoded to 12, which is -wrong for 9561." - -In real life testing, without this patch the 2.4GHz throughput on -Yuncore XD3200 is around 10Mbps sitting next to the AP, and closer to -practical maximum with the patch applied. - -[1] https://lore.kernel.org/all/91c58969-c60e-2f41-00ac-737786d435ae@nbd.name - -Signed-off-by: Thibaut VARÈNE ---- -v2: Adjust #define per Felix's suggestion ---- - drivers/net/wireless/ath/ath9k/ar9003_phy.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/net/wireless/ath/ath9k/ar9003_phy.h -+++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.h -@@ -720,7 +720,7 @@ - #define AR_CH0_TOP2 (AR_SREV_9300(ah) ? 0x1628c : \ - (AR_SREV_9462(ah) ? 0x16290 : 0x16284)) - #define AR_CH0_TOP2_XPABIASLVL (AR_SREV_9561(ah) ? 0x1e00 : 0xf000) --#define AR_CH0_TOP2_XPABIASLVL_S 12 -+#define AR_CH0_TOP2_XPABIASLVL_S (AR_SREV_9561(ah) ? 9 : 12) - - #define AR_CH0_XTAL (AR_SREV_9300(ah) ? 0x16294 : \ - ((AR_SREV_9462(ah) || AR_SREV_9565(ah)) ? 0x16298 : \ diff --git a/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch b/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch index 6d9cfe7b14..8adb8c42a1 100644 --- a/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch +++ b/package/kernel/mac80211/patches/brcm/865-brcmfmac-Read-alternative-firmware-names-from-DT.patch @@ -14,11 +14,9 @@ Signed-off-by: Phil Elwell .../broadcom/brcm80211/brcmfmac/sdio.c | 47 +++++++++++++++++-- 3 files changed, 87 insertions(+), 3 deletions(-) -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c -index 2f7bc3a70c65..c2d6b8a22858 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.c -@@ -10,6 +10,7 @@ +@@ -11,6 +11,7 @@ #include "debug.h" #include "core.h" #include "common.h" @@ -26,7 +24,7 @@ index 2f7bc3a70c65..c2d6b8a22858 100644 #include "of.h" static int brcmf_of_get_country_codes(struct device *dev, -@@ -118,3 +119,38 @@ void brcmf_of_probe(struct device *dev, enum brcmf_bus_type bus_type, +@@ -153,3 +154,38 @@ void brcmf_of_probe(struct device *dev, sdio->oob_irq_nr = irq; sdio->oob_irq_flags = irqf; } @@ -65,8 +63,6 @@ index 2f7bc3a70c65..c2d6b8a22858 100644 + + return count ? fwnames : NULL; +} -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h -index 10bf52253337..5b39a39812d0 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/of.h @@ -5,9 +5,16 @@ @@ -86,8 +82,6 @@ index 10bf52253337..5b39a39812d0 100644 + return NULL; +} #endif /* CONFIG_OF */ -diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c -index 89de65d32ed5..88c08fee58f6 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/sdio.c @@ -35,6 +35,7 @@ @@ -98,7 +92,7 @@ index 89de65d32ed5..88c08fee58f6 100644 #define DCMD_RESP_TIMEOUT msecs_to_jiffies(2500) #define CTL_DONE_TIMEOUT msecs_to_jiffies(2500) -@@ -634,7 +635,7 @@ MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-sdio.*.txt"); +@@ -633,7 +634,7 @@ MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "b /* per-board firmware binaries */ MODULE_FIRMWARE(BRCMF_FW_DEFAULT_PATH "brcmfmac*-sdio.*.bin"); @@ -107,7 +101,7 @@ index 89de65d32ed5..88c08fee58f6 100644 BRCMF_FW_ENTRY(BRCM_CC_43143_CHIP_ID, 0xFFFFFFFF, 43143), BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x0000001F, 43241B0), BRCMF_FW_ENTRY(BRCM_CC_43241_CHIP_ID, 0x00000020, 43241B4), -@@ -660,6 +661,9 @@ static const struct brcmf_firmware_mapping brcmf_sdio_fwnames[] = { +@@ -659,6 +660,9 @@ static const struct brcmf_firmware_mappi BRCMF_FW_ENTRY(CY_CC_43752_CHIP_ID, 0xFFFFFFFF, 43752) }; @@ -117,8 +111,8 @@ index 89de65d32ed5..88c08fee58f6 100644 #define TXCTL_CREDITS 2 static void pkt_align(struct sk_buff *p, int len, int align) -@@ -4151,7 +4155,7 @@ int brcmf_sdio_get_fwname(struct device *dev, const char *ext, u8 *fw_name, - } +@@ -4140,7 +4144,7 @@ int brcmf_sdio_get_fwname(struct device + fwreq = brcmf_fw_alloc_request(bus_if->chip, bus_if->chiprev, brcmf_sdio_fwnames, - ARRAY_SIZE(brcmf_sdio_fwnames), @@ -126,7 +120,7 @@ index 89de65d32ed5..88c08fee58f6 100644 fwnames, ARRAY_SIZE(fwnames)); if (!fwreq) return -ENOMEM; -@@ -4207,6 +4211,9 @@ static const struct brcmf_bus_ops brcmf_sdio_bus_ops = { +@@ -4196,6 +4200,9 @@ static const struct brcmf_bus_ops brcmf_ #define BRCMF_SDIO_FW_CODE 0 #define BRCMF_SDIO_FW_NVRAM 1 @@ -136,7 +130,7 @@ index 89de65d32ed5..88c08fee58f6 100644 static void brcmf_sdio_firmware_callback(struct device *dev, int err, struct brcmf_fw_request *fwreq) { -@@ -4222,6 +4229,22 @@ static void brcmf_sdio_firmware_callback(struct device *dev, int err, +@@ -4211,6 +4218,22 @@ static void brcmf_sdio_firmware_callback brcmf_dbg(TRACE, "Enter: dev=%s, err=%d\n", dev_name(dev), err); @@ -159,7 +153,7 @@ index 89de65d32ed5..88c08fee58f6 100644 if (err) goto fail; -@@ -4430,7 +4453,7 @@ brcmf_sdio_prepare_fw_request(struct brcmf_sdio *bus) +@@ -4419,7 +4442,7 @@ brcmf_sdio_prepare_fw_request(struct brc fwreq = brcmf_fw_alloc_request(bus->ci->chip, bus->ci->chiprev, brcmf_sdio_fwnames, @@ -168,7 +162,7 @@ index 89de65d32ed5..88c08fee58f6 100644 fwnames, ARRAY_SIZE(fwnames)); if (!fwreq) return NULL; -@@ -4448,6 +4471,9 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4437,6 +4460,9 @@ struct brcmf_sdio *brcmf_sdio_probe(stru struct brcmf_sdio *bus; struct workqueue_struct *wq; struct brcmf_fw_request *fwreq; @@ -178,7 +172,7 @@ index 89de65d32ed5..88c08fee58f6 100644 brcmf_dbg(TRACE, "Enter\n"); -@@ -4530,6 +4556,21 @@ struct brcmf_sdio *brcmf_sdio_probe(struct brcmf_sdio_dev *sdiodev) +@@ -4519,6 +4545,21 @@ struct brcmf_sdio *brcmf_sdio_probe(stru brcmf_dbg(INFO, "completed!!\n"); @@ -200,6 +194,3 @@ index 89de65d32ed5..88c08fee58f6 100644 fwreq = brcmf_sdio_prepare_fw_request(bus); if (!fwreq) { ret = -ENOMEM; --- -2.30.2 - diff --git a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch index 19a60d7956..089ff2117b 100644 --- a/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch +++ b/package/kernel/mac80211/patches/build/060-no_local_ssb_bcma.patch @@ -1,6 +1,6 @@ --- a/local-symbols +++ b/local-symbols -@@ -428,43 +428,6 @@ USB_VL600= +@@ -451,43 +451,6 @@ USB_VL600= USB_NET_CH9200= USB_NET_AQC111= USB_RTL8153_ECM= @@ -192,7 +192,7 @@ select BRCMUTIL --- a/Kconfig.local +++ b/Kconfig.local -@@ -1288,117 +1288,6 @@ config BACKPORTED_USB_NET_AQC111 +@@ -1357,117 +1357,6 @@ config BACKPORTED_USB_NET_AQC111 config BACKPORTED_USB_RTL8153_ECM tristate default USB_RTL8153_ECM @@ -312,7 +312,7 @@ default USB_ACM --- a/Kconfig.sources +++ b/Kconfig.sources -@@ -9,9 +9,6 @@ source "$BACKPORT_DIR/drivers/bus/mhi/Kc +@@ -10,9 +10,6 @@ source "$BACKPORT_DIR/drivers/soc/qcom/K source "$BACKPORT_DIR/drivers/net/wireless/Kconfig" source "$BACKPORT_DIR/drivers/net/usb/Kconfig" @@ -324,8 +324,8 @@ source "$BACKPORT_DIR/drivers/staging/Kconfig" --- a/Makefile.kernel +++ b/Makefile.kernel -@@ -42,8 +42,6 @@ obj-$(CPTCFG_MAC80211) += net/mac80211/ - obj-$(CPTCFG_QRTR) += net/qrtr/ +@@ -43,8 +43,6 @@ obj-$(CPTCFG_QRTR) += net/qrtr/ + obj-$(CPTCFG_QCOM_QMI_HELPERS) += drivers/soc/qcom/ obj-$(CPTCFG_MHI_BUS) += drivers/bus/mhi/ obj-$(CPTCFG_WLAN) += drivers/net/wireless/ -obj-$(CPTCFG_SSB) += drivers/ssb/ diff --git a/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch b/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch index 0b9f552f95..4115eeccbb 100644 --- a/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch +++ b/package/kernel/mac80211/patches/mwl/900-mwifiex-increase-the-global-limit-up-to-4-SSID.patch @@ -19,28 +19,23 @@ the card-specific structure. drivers/net/wireless/marvell/mwifiex/decl.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) -diff --git a/drivers/net/wireless/marvell/mwifiex/decl.h b/drivers/net/wireless/marvell/mwifiex/decl.h -index cdc9972..f9bcbf5 100644 --- a/drivers/net/wireless/marvell/mwifiex/decl.h +++ b/drivers/net/wireless/marvell/mwifiex/decl.h @@ -30,7 +30,7 @@ #include - + #define MWIFIEX_BSS_COEX_COUNT 2 -#define MWIFIEX_MAX_BSS_NUM (3) +#define MWIFIEX_MAX_BSS_NUM (4) - + #define MWIFIEX_DMA_ALIGN_SZ 64 #define MWIFIEX_RX_HEADROOM 64 @@ -112,7 +112,7 @@ #define MWIFIEX_RATE_INDEX_OFDM0 4 - + #define MWIFIEX_MAX_STA_NUM 3 -#define MWIFIEX_MAX_UAP_NUM 3 +#define MWIFIEX_MAX_UAP_NUM 4 #define MWIFIEX_MAX_P2P_NUM 3 - + #define MWIFIEX_A_BAND_START_FREQ 5000 --- -2.30.2 - diff --git a/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch b/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch index 17e7df2722..8fa3924e60 100644 --- a/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch +++ b/package/kernel/mac80211/patches/mwl/950-mwifiex-Print-stringified-name-of-command-in-error-l.patch @@ -17,8 +17,6 @@ Signed-off-by: Pali Rohár .../net/wireless/marvell/mwifiex/uap_cmd.c | 3 +- 4 files changed, 95 insertions(+), 11 deletions(-) -diff --git a/drivers/net/wireless/marvell/mwifiex/cmdevt.c b/drivers/net/wireless/marvell/mwifiex/cmdevt.c -index 5a2788955f1c..1b05002330ff 100644 --- a/drivers/net/wireless/marvell/mwifiex/cmdevt.c +++ b/drivers/net/wireless/marvell/mwifiex/cmdevt.c @@ -28,6 +28,85 @@ @@ -107,7 +105,7 @@ index 5a2788955f1c..1b05002330ff 100644 /* * This function initializes a command node. * -@@ -205,8 +284,8 @@ static int mwifiex_dnld_cmd_to_fw(struct mwifiex_private *priv, +@@ -205,8 +284,8 @@ static int mwifiex_dnld_cmd_to_fw(struct cmd_code != HostCmd_CMD_FUNC_SHUTDOWN && cmd_code != HostCmd_CMD_FUNC_INIT) { mwifiex_dbg(adapter, ERROR, @@ -118,7 +116,7 @@ index 5a2788955f1c..1b05002330ff 100644 mwifiex_recycle_cmd_node(adapter, cmd_node); queue_work(adapter->workqueue, &adapter->main_work); return -1; -@@ -660,8 +739,8 @@ int mwifiex_send_cmd(struct mwifiex_private *priv, u16 cmd_no, +@@ -660,8 +739,8 @@ int mwifiex_send_cmd(struct mwifiex_priv /* Return error, since the command preparation failed */ if (ret) { mwifiex_dbg(adapter, ERROR, @@ -129,7 +127,7 @@ index 5a2788955f1c..1b05002330ff 100644 mwifiex_insert_cmd_to_free_q(adapter, cmd_node); return -1; } -@@ -900,8 +979,9 @@ int mwifiex_process_cmdresp(struct mwifiex_adapter *adapter) +@@ -900,8 +979,9 @@ int mwifiex_process_cmdresp(struct mwifi if (adapter->hw_status == MWIFIEX_HW_STATUS_INITIALIZING) { if (ret) { mwifiex_dbg(adapter, ERROR, @@ -139,9 +137,9 @@ index 5a2788955f1c..1b05002330ff 100644 + "initialization\n", __func__, + mwifiex_cmd_to_str(cmdresp_no), cmdresp_no); mwifiex_init_fw_complete(adapter); - //if (adapter->if_ops.card_reset) - // adapter->if_ops.card_reset(adapter); -@@ -1266,8 +1346,8 @@ mwifiex_process_sleep_confirm_resp(struct mwifiex_adapter *adapter, + return -1; + } else if (adapter->last_init_cmd == cmdresp_no) +@@ -1264,8 +1344,8 @@ mwifiex_process_sleep_confirm_resp(struc if (command != HostCmd_CMD_802_11_PS_MODE_ENH) { mwifiex_dbg(adapter, ERROR, @@ -152,11 +150,9 @@ index 5a2788955f1c..1b05002330ff 100644 return; } -diff --git a/drivers/net/wireless/marvell/mwifiex/main.h b/drivers/net/wireless/marvell/mwifiex/main.h -index 5923c5c14c8d..0d30f61a9d3c 100644 --- a/drivers/net/wireless/marvell/mwifiex/main.h +++ b/drivers/net/wireless/marvell/mwifiex/main.h -@@ -1106,6 +1106,8 @@ void mwifiex_cancel_all_pending_cmd(struct mwifiex_adapter *adapter); +@@ -1106,6 +1106,8 @@ void mwifiex_cancel_all_pending_cmd(stru void mwifiex_cancel_pending_scan_cmd(struct mwifiex_adapter *adapter); void mwifiex_cancel_scan(struct mwifiex_adapter *adapter); @@ -165,11 +161,9 @@ index 5923c5c14c8d..0d30f61a9d3c 100644 void mwifiex_recycle_cmd_node(struct mwifiex_adapter *adapter, struct cmd_ctrl_node *cmd_node); -diff --git a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c -index 6b5d35d9e69f..ae6554f7b583 100644 --- a/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c +++ b/drivers/net/wireless/marvell/mwifiex/sta_cmdresp.c -@@ -48,8 +48,9 @@ mwifiex_process_cmdresp_error(struct mwifiex_private *priv, +@@ -48,8 +48,9 @@ mwifiex_process_cmdresp_error(struct mwi struct host_cmd_ds_802_11_ps_mode_enh *pm; mwifiex_dbg(adapter, ERROR, @@ -181,11 +175,9 @@ index 6b5d35d9e69f..ae6554f7b583 100644 if (adapter->curr_cmd->wait_q_enabled) adapter->cmd_wait_q.status = -1; -diff --git a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c -index 18e89777b784..29b8af55f522 100644 --- a/drivers/net/wireless/marvell/mwifiex/uap_cmd.c +++ b/drivers/net/wireless/marvell/mwifiex/uap_cmd.c -@@ -806,7 +806,8 @@ int mwifiex_uap_prepare_cmd(struct mwifiex_private *priv, u16 cmd_no, +@@ -806,7 +806,8 @@ int mwifiex_uap_prepare_cmd(struct mwifi break; default: mwifiex_dbg(priv->adapter, ERROR, @@ -195,6 +187,3 @@ index 18e89777b784..29b8af55f522 100644 return -1; } --- -2.20.1 - diff --git a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch index afe8cea205..bd33b2efbd 100644 --- a/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch +++ b/package/kernel/mac80211/patches/rt2x00/602-rt2x00-introduce-rt2x00eeprom.patch @@ -1,6 +1,6 @@ --- a/local-symbols +++ b/local-symbols -@@ -322,6 +322,7 @@ RT2X00_LIB_FIRMWARE= +@@ -345,6 +345,7 @@ RT2X00_LIB_FIRMWARE= RT2X00_LIB_CRYPTO= RT2X00_LIB_LEDS= RT2X00_LIB_DEBUGFS= diff --git a/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch b/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch index 777c93cb90..1ceb2be25c 100644 --- a/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch +++ b/package/kernel/mac80211/patches/subsys/303-mac80211-set-up-the-fwd_skb-dev-for-mesh-forwarding.patch @@ -52,7 +52,7 @@ Signed-off-by: Xing Song --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -2949,6 +2949,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 +@@ -2948,6 +2948,7 @@ ieee80211_rx_h_mesh_fwding(struct ieee80 if (!fwd_skb) goto out; diff --git a/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch b/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch index c534d1570a..fba0912e80 100644 --- a/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch +++ b/package/kernel/mac80211/patches/subsys/307-mac80211_hwsim-make-6-GHz-channels-usable.patch @@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c -@@ -3001,15 +3001,19 @@ static void mac80211_hwsim_he_capab(stru +@@ -3004,15 +3004,19 @@ static void mac80211_hwsim_he_capab(stru { u16 n_iftype_data; @@ -34,7 +34,7 @@ Signed-off-by: Felix Fietkau return; } -@@ -3299,6 +3303,12 @@ static int mac80211_hwsim_new_radio(stru +@@ -3302,6 +3306,12 @@ static int mac80211_hwsim_new_radio(stru sband->vht_cap.vht_mcs.tx_mcs_map = sband->vht_cap.vht_mcs.rx_mcs_map; break; @@ -47,7 +47,7 @@ Signed-off-by: Felix Fietkau case NL80211_BAND_S1GHZ: memcpy(&sband->s1g_cap, &hwsim_s1g_cap, sizeof(sband->s1g_cap)); -@@ -3309,6 +3319,13 @@ static int mac80211_hwsim_new_radio(stru +@@ -3312,6 +3322,13 @@ static int mac80211_hwsim_new_radio(stru continue; } @@ -61,7 +61,7 @@ Signed-off-by: Felix Fietkau sband->ht_cap.ht_supported = true; sband->ht_cap.cap = IEEE80211_HT_CAP_SUP_WIDTH_20_40 | IEEE80211_HT_CAP_GRN_FLD | -@@ -3322,10 +3339,6 @@ static int mac80211_hwsim_new_radio(stru +@@ -3325,10 +3342,6 @@ static int mac80211_hwsim_new_radio(stru sband->ht_cap.mcs.rx_mask[0] = 0xff; sband->ht_cap.mcs.rx_mask[1] = 0xff; sband->ht_cap.mcs.tx_params = IEEE80211_HT_MCS_TX_DEFINED; diff --git a/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch b/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch index 272d84f35e..4b9d874cfe 100644 --- a/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch +++ b/package/kernel/mac80211/patches/subsys/308-mac80211-add-support-for-.ndo_fill_forward_path.patch @@ -69,7 +69,7 @@ Signed-off-by: Johannes Berg #endif /* __MAC80211_DRIVER_OPS */ --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1485,7 +1485,7 @@ struct ieee80211_local { +@@ -1490,7 +1490,7 @@ struct ieee80211_local { }; static inline struct ieee80211_sub_if_data * diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch index 16bcbc2ef9..3be43b8782 100644 --- a/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch +++ b/package/kernel/mac80211/patches/subsys/310-mac80211-minstrel_ht-reduce-fluctuations-in-rate-pro.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -700,7 +700,8 @@ minstrel_ht_calc_rate_stats(struct minst +@@ -703,7 +703,8 @@ minstrel_ht_calc_rate_stats(struct minst unsigned int cur_prob; if (unlikely(mrs->attempts > 0)) { diff --git a/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch b/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch index a6817bd4a6..13bed48ec6 100644 --- a/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch +++ b/package/kernel/mac80211/patches/subsys/311-mac80211-minstrel_ht-rework-rate-downgrade-code-and-.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rc80211_minstrel_ht.c +++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -511,6 +511,14 @@ minstrel_ht_set_best_prob_rate(struct mi +@@ -514,6 +514,14 @@ minstrel_ht_set_best_prob_rate(struct mi int cur_tp_avg, cur_group, cur_idx; int max_gpr_group, max_gpr_idx; int max_gpr_tp_avg, max_gpr_prob; @@ -33,7 +33,7 @@ Signed-off-by: Felix Fietkau cur_group = MI_RATE_GROUP(index); cur_idx = MI_RATE_IDX(index); -@@ -532,11 +540,6 @@ minstrel_ht_set_best_prob_rate(struct mi +@@ -535,11 +543,6 @@ minstrel_ht_set_best_prob_rate(struct mi !minstrel_ht_is_legacy_group(max_tp_group)) return; @@ -45,7 +45,7 @@ Signed-off-by: Felix Fietkau max_gpr_group = MI_RATE_GROUP(mg->max_group_prob_rate); max_gpr_idx = MI_RATE_IDX(mg->max_group_prob_rate); max_gpr_prob = mi->groups[max_gpr_group].rates[max_gpr_idx].prob_avg; -@@ -594,40 +597,6 @@ minstrel_ht_assign_best_tp_rates(struct +@@ -597,40 +600,6 @@ minstrel_ht_assign_best_tp_rates(struct } @@ -86,7 +86,7 @@ Signed-off-by: Felix Fietkau static u16 __minstrel_ht_get_sample_rate(struct minstrel_ht_sta *mi, enum minstrel_sample_type type) -@@ -1107,8 +1076,6 @@ minstrel_ht_update_stats(struct minstrel +@@ -1110,8 +1079,6 @@ minstrel_ht_update_stats(struct minstrel mi->max_prob_rate = tmp_max_prob_rate; @@ -95,7 +95,7 @@ Signed-off-by: Felix Fietkau minstrel_ht_refill_sample_rates(mi); #ifdef CPTCFG_MAC80211_DEBUGFS -@@ -1153,7 +1120,7 @@ minstrel_ht_txstat_valid(struct minstrel +@@ -1156,7 +1123,7 @@ minstrel_ht_txstat_valid(struct minstrel } static void @@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau { int group, orig_group; -@@ -1168,11 +1135,7 @@ minstrel_downgrade_rate(struct minstrel_ +@@ -1171,11 +1138,7 @@ minstrel_downgrade_rate(struct minstrel_ minstrel_mcs_groups[orig_group].streams) continue; @@ -117,7 +117,7 @@ Signed-off-by: Felix Fietkau } } -@@ -1183,7 +1146,7 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1186,7 +1149,7 @@ minstrel_ht_tx_status(void *priv, struct struct ieee80211_tx_info *info = st->info; struct minstrel_ht_sta *mi = priv_sta; struct ieee80211_tx_rate *ar = info->status.rates; @@ -126,7 +126,7 @@ Signed-off-by: Felix Fietkau struct minstrel_priv *mp = priv; u32 update_interval = mp->update_interval; bool last, update = false; -@@ -1233,18 +1196,13 @@ minstrel_ht_tx_status(void *priv, struct +@@ -1236,18 +1199,13 @@ minstrel_ht_tx_status(void *priv, struct /* * check for sudden death of spatial multiplexing, * downgrade to a lower number of streams if necessary. diff --git a/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch b/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch index 4fc8b592c2..429886d701 100644 --- a/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch +++ b/package/kernel/mac80211/patches/subsys/313-nl80211-MBSSID-and-EMA-support-in-AP-mode.patch @@ -238,7 +238,7 @@ Signed-off-by: Johannes Berg static const struct nla_policy nl80211_policy[NUM_NL80211_ATTR] = { [0] = { .strict_start_type = NL80211_ATTR_HE_OBSS_PD }, [NL80211_ATTR_WIPHY] = { .type = NLA_U32 }, -@@ -783,6 +793,9 @@ static const struct nla_policy nl80211_p +@@ -788,6 +798,9 @@ static const struct nla_policy nl80211_p [NL80211_ATTR_COLOR_CHANGE_COUNT] = { .type = NLA_U8 }, [NL80211_ATTR_COLOR_CHANGE_COLOR] = { .type = NLA_U8 }, [NL80211_ATTR_COLOR_CHANGE_ELEMS] = NLA_POLICY_NESTED(nl80211_policy), @@ -248,7 +248,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -2231,6 +2244,35 @@ fail: +@@ -2236,6 +2249,35 @@ fail: return -ENOBUFS; } @@ -284,7 +284,7 @@ Signed-off-by: Johannes Berg struct nl80211_dump_wiphy_state { s64 filter_wiphy; long start; -@@ -2816,6 +2858,9 @@ static int nl80211_send_wiphy(struct cfg +@@ -2821,6 +2863,9 @@ static int nl80211_send_wiphy(struct cfg if (nl80211_put_sar_specs(rdev, msg)) goto nla_put_failure; @@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg /* done */ state->split_start = 0; break; -@@ -5005,6 +5050,96 @@ static int validate_beacon_tx_rate(struc +@@ -5020,6 +5065,96 @@ static int validate_beacon_tx_rate(struc return 0; } @@ -391,7 +391,7 @@ Signed-off-by: Johannes Berg static int nl80211_parse_beacon(struct cfg80211_registered_device *rdev, struct nlattr *attrs[], struct cfg80211_beacon_data *bcn) -@@ -5085,6 +5220,17 @@ static int nl80211_parse_beacon(struct c +@@ -5100,6 +5235,17 @@ static int nl80211_parse_beacon(struct c bcn->ftm_responder = -1; } @@ -409,7 +409,7 @@ Signed-off-by: Johannes Berg return 0; } -@@ -5541,6 +5687,17 @@ static int nl80211_start_ap(struct sk_bu +@@ -5556,6 +5702,17 @@ static int nl80211_start_ap(struct sk_bu goto out; } @@ -427,7 +427,7 @@ Signed-off-by: Johannes Berg nl80211_calculate_ap_params(¶ms); if (info->attrs[NL80211_ATTR_EXTERNAL_AUTH_SUPPORT]) -@@ -5562,6 +5719,11 @@ static int nl80211_start_ap(struct sk_bu +@@ -5577,6 +5734,11 @@ static int nl80211_start_ap(struct sk_bu out: kfree(params.acl); @@ -439,7 +439,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -5586,12 +5748,14 @@ static int nl80211_set_beacon(struct sk_ +@@ -5601,12 +5763,14 @@ static int nl80211_set_beacon(struct sk_ err = nl80211_parse_beacon(rdev, info->attrs, ¶ms); if (err) @@ -455,7 +455,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -9268,12 +9432,14 @@ static int nl80211_channel_switch(struct +@@ -9283,12 +9447,14 @@ static int nl80211_channel_switch(struct err = nl80211_parse_beacon(rdev, info->attrs, ¶ms.beacon_after); if (err) @@ -473,7 +473,7 @@ Signed-off-by: Johannes Berg err = nla_parse_nested_deprecated(csa_attrs, NL80211_ATTR_MAX, info->attrs[NL80211_ATTR_CSA_IES], -@@ -9392,6 +9558,8 @@ skip_beacons: +@@ -9407,6 +9573,8 @@ skip_beacons: wdev_unlock(wdev); free: @@ -482,7 +482,7 @@ Signed-off-by: Johannes Berg kfree(csa_attrs); return err; } -@@ -14939,6 +15107,8 @@ static int nl80211_color_change(struct s +@@ -14959,6 +15127,8 @@ static int nl80211_color_change(struct s wdev_unlock(wdev); out: diff --git a/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch b/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch index 90c56b4e43..2038ee69db 100644 --- a/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch +++ b/package/kernel/mac80211/patches/subsys/314-cfg80211-implement-APIs-for-dedicated-radar-detectio.patch @@ -286,7 +286,7 @@ Signed-off-by: Johannes Berg +} --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -796,6 +796,7 @@ static const struct nla_policy nl80211_p +@@ -801,6 +801,7 @@ static const struct nla_policy nl80211_p [NL80211_ATTR_MBSSID_CONFIG] = NLA_POLICY_NESTED(nl80211_mbssid_config_policy), [NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED }, @@ -294,7 +294,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -9272,12 +9273,6 @@ static int nl80211_start_radar_detection +@@ -9287,12 +9288,6 @@ static int nl80211_start_radar_detection if (err) return err; @@ -307,7 +307,7 @@ Signed-off-by: Johannes Berg err = cfg80211_chandef_dfs_required(wiphy, &chandef, wdev->iftype); if (err < 0) return err; -@@ -9288,6 +9283,16 @@ static int nl80211_start_radar_detection +@@ -9303,6 +9298,16 @@ static int nl80211_start_radar_detection if (!cfg80211_chandef_dfs_usable(wiphy, &chandef)) return -EINVAL; diff --git a/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch b/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch index 567743d84d..a1b6e3c80d 100644 --- a/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch +++ b/package/kernel/mac80211/patches/subsys/318-cfg80211-allow-continuous-radar-monitoring-on-offcha.patch @@ -118,7 +118,7 @@ Signed-off-by: Johannes Berg NL80211_RADAR_CAC_ABORTED); --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -9263,42 +9263,60 @@ static int nl80211_start_radar_detection +@@ -9278,42 +9278,60 @@ static int nl80211_start_radar_detection struct cfg80211_chan_def chandef; enum nl80211_dfs_regions dfs_region; unsigned int cac_time_ms; @@ -198,7 +198,7 @@ Signed-off-by: Johannes Berg cac_time_ms = cfg80211_chandef_dfs_cac_time(&rdev->wiphy, &chandef); if (WARN_ON(!cac_time_ms)) -@@ -9311,6 +9329,9 @@ static int nl80211_start_radar_detection +@@ -9326,6 +9344,9 @@ static int nl80211_start_radar_detection wdev->cac_start_time = jiffies; wdev->cac_time_ms = cac_time_ms; } @@ -208,7 +208,7 @@ Signed-off-by: Johannes Berg return err; } -@@ -15941,7 +15962,8 @@ static const struct genl_small_ops nl802 +@@ -15961,7 +15982,8 @@ static const struct genl_small_ops nl802 .validate = GENL_DONT_VALIDATE_STRICT | GENL_DONT_VALIDATE_DUMP, .doit = nl80211_start_radar_detection, .flags = GENL_UNS_ADMIN_PERM, diff --git a/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch b/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch index c3a4c0db25..483b87cd88 100644 --- a/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch +++ b/package/kernel/mac80211/patches/subsys/320-cfg80211-rename-offchannel_chain-structs-to-backgrou.patch @@ -472,7 +472,7 @@ Signed-off-by: Johannes Berg } --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -796,7 +796,7 @@ static const struct nla_policy nl80211_p +@@ -801,7 +801,7 @@ static const struct nla_policy nl80211_p [NL80211_ATTR_MBSSID_CONFIG] = NLA_POLICY_NESTED(nl80211_mbssid_config_policy), [NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED }, @@ -481,7 +481,7 @@ Signed-off-by: Johannes Berg }; /* policy for the key attributes */ -@@ -9291,9 +9291,9 @@ static int nl80211_start_radar_detection +@@ -9306,9 +9306,9 @@ static int nl80211_start_radar_detection goto unlock; } diff --git a/package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch b/package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch deleted file mode 100644 index d7832acce5..0000000000 --- a/package/kernel/mac80211/patches/subsys/329-mac80211-minstrel_ht-fix-where-rate-stats-are-stored.patch +++ /dev/null @@ -1,61 +0,0 @@ -From: Peter Seiderer -Date: Mon, 4 Apr 2022 18:54:14 +0200 -Subject: [PATCH] mac80211: minstrel_ht: fix where rate stats are stored (fixes - debugfs output) - -Using an ath9k card the debugfs output of minstrel_ht looks like the following -(note the zero values for the first four rates sum-of success/attempts): - - best ____________rate__________ ____statistics___ _____last____ ______sum-of________ -mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts] -OFDM 1 DP 6.0M 272 1640 5.2 3.1 53.8 3 0 0 0 0 -OFDM 1 C 9.0M 273 1104 7.7 4.6 53.8 4 0 0 0 0 -OFDM 1 B 12.0M 274 836 10.0 6.0 53.8 4 0 0 0 0 -OFDM 1 A S 18.0M 275 568 14.3 8.5 53.8 5 0 0 0 0 -OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 5 0 1 80 1778 -OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 107 -OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 75 -OFDM 1 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 72 - -Total packet count:: ideal 16582 lookaround 885 -Average # of aggregated frames per A-MPDU: 1.0 - -Debugging showed that the rate statistics for the first four rates where -stored in the MINSTREL_CCK_GROUP instead of the MINSTREL_OFDM_GROUP because -in minstrel_ht_get_stats() the supported check was not honoured as done in -various other places, e.g net/mac80211/rc80211_minstrel_ht_debugfs.c: - - 74 if (!(mi->supported[i] & BIT(j))) - 75 continue; - -With the patch applied the output looks good: - - best ____________rate__________ ____statistics___ _____last____ ______sum-of________ -mode guard # rate [name idx airtime max_tp] [avg(tp) avg(prob)] [retry|suc|att] [#success | #attempts] -OFDM 1 D 6.0M 272 1640 5.2 5.2 100.0 3 0 0 1 1 -OFDM 1 C 9.0M 273 1104 7.7 7.7 100.0 4 0 0 38 38 -OFDM 1 B 12.0M 274 836 10.0 9.9 89.5 4 2 2 372 395 -OFDM 1 A P 18.0M 275 568 14.3 14.3 97.2 5 52 53 6956 7181 -OFDM 1 S 24.0M 276 436 18.1 0.0 0.0 0 0 1 6 163 -OFDM 1 36.0M 277 300 24.9 0.0 0.0 0 0 1 0 35 -OFDM 1 S 48.0M 278 236 30.4 0.0 0.0 0 0 0 0 38 -OFDM 1 S 54.0M 279 212 33.0 0.0 0.0 0 0 0 0 38 - -Total packet count:: ideal 7097 lookaround 287 -Average # of aggregated frames per A-MPDU: 1.0 - -Signed-off-by: Peter Seiderer ---- - ---- a/net/mac80211/rc80211_minstrel_ht.c -+++ b/net/mac80211/rc80211_minstrel_ht.c -@@ -364,6 +364,9 @@ minstrel_ht_get_stats(struct minstrel_pr - - group = MINSTREL_CCK_GROUP; - for (idx = 0; idx < ARRAY_SIZE(mp->cck_rates); idx++) { -+ if (!(mi->supported[group] & BIT(idx))) -+ continue; -+ - if (rate->idx != mp->cck_rates[idx]) - continue; - diff --git a/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch b/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch index 1a66aa8c00..0ca53860a5 100644 --- a/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch +++ b/package/kernel/mac80211/patches/subsys/330-mac80211-switch-airtime-fairness-back-to-deficit-rou.patch @@ -359,7 +359,7 @@ Signed-off-by: Felix Fietkau struct work_struct csa_finalize_work; bool csa_block_tx; /* write-protected by sdata_lock and local->mtx */ struct cfg80211_chan_def csa_chandef; -@@ -1180,44 +1182,6 @@ enum mac80211_scan_state { +@@ -1185,44 +1187,6 @@ enum mac80211_scan_state { SCAN_ABORT, }; @@ -404,7 +404,7 @@ Signed-off-by: Felix Fietkau DECLARE_STATIC_KEY_FALSE(aql_disable); struct ieee80211_local { -@@ -1231,8 +1195,13 @@ struct ieee80211_local { +@@ -1236,8 +1200,13 @@ struct ieee80211_local { struct codel_params cparams; /* protects active_txqs and txqi->schedule_order */ @@ -419,7 +419,7 @@ Signed-off-by: Felix Fietkau u32 aql_threshold; atomic_t aql_total_pending_airtime; -@@ -1649,125 +1618,6 @@ static inline bool txq_has_queue(struct +@@ -1654,125 +1623,6 @@ static inline bool txq_has_queue(struct return !(skb_queue_empty(&txqi->frags) && !txqi->tin.backlog_packets); } @@ -545,7 +545,7 @@ Signed-off-by: Felix Fietkau static inline int ieee80211_bssid_match(const u8 *raddr, const u8 *addr) { return ether_addr_equal(raddr, addr) || -@@ -2013,14 +1863,6 @@ int ieee80211_tx_control_port(struct wip +@@ -2018,14 +1868,6 @@ int ieee80211_tx_control_port(struct wip u64 *cookie); int ieee80211_probe_mesh_link(struct wiphy *wiphy, struct net_device *dev, const u8 *buf, size_t len); @@ -594,7 +594,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -1584,8 +1584,12 @@ static void sta_ps_start(struct sta_info +@@ -1583,8 +1583,12 @@ static void sta_ps_start(struct sta_info for (tid = 0; tid < IEEE80211_NUM_TIDS; tid++) { struct ieee80211_txq *txq = sta->sta.txq[tid]; diff --git a/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch b/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch index 89718a8273..42e1671ed6 100644 --- a/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch +++ b/package/kernel/mac80211/patches/subsys/334-mac80211-add-a-per-PHY-AQL-limit-to-improve-fairness.patch @@ -15,7 +15,7 @@ Signed-off-by: Felix Fietkau --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1211,6 +1211,7 @@ struct ieee80211_local { +@@ -1216,6 +1216,7 @@ struct ieee80211_local { u32 aql_txq_limit_high[IEEE80211_NUM_ACS]; u32 aql_threshold; atomic_t aql_total_pending_airtime; diff --git a/package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch b/package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch deleted file mode 100644 index 9547db03d1..0000000000 --- a/package/kernel/mac80211/patches/subsys/338-mac80211-fix-queue-selection-for-mesh-OCB-interfaces.patch +++ /dev/null @@ -1,28 +0,0 @@ -From: Felix Fietkau -Date: Sat, 2 Jul 2022 16:41:32 +0200 -Subject: [PATCH] mac80211: fix queue selection for mesh/OCB interfaces - -When using iTXQ, the code assumes that there is only one vif queue for -broadcast packets, using the BE queue. Allowing non-BE queue marking -violates that assumption and txq->ac == skb_queue_mapping is no longer -guaranteed. This can cause issues with queue handling in the driver and -also causes issues with the recent ATF change, resulting in an AQL -underflow warning. - -Cc: stable@vger.kernel.org -Signed-off-by: Felix Fietkau ---- - ---- a/net/mac80211/wme.c -+++ b/net/mac80211/wme.c -@@ -147,8 +147,8 @@ u16 __ieee80211_select_queue(struct ieee - bool qos; - - /* all mesh/ocb stations are required to support WME */ -- if (sdata->vif.type == NL80211_IFTYPE_MESH_POINT || -- sdata->vif.type == NL80211_IFTYPE_OCB) -+ if (sta && (sdata->vif.type == NL80211_IFTYPE_MESH_POINT || -+ sdata->vif.type == NL80211_IFTYPE_OCB)) - qos = true; - else if (sta) - qos = sta->sta.wme; diff --git a/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch b/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch index d2a43304bd..1e3486accd 100644 --- a/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch +++ b/package/kernel/mac80211/patches/subsys/350-bss-color-collision.patch @@ -56,7 +56,7 @@ Signed-off-by: Johannes Berg --- a/net/mac80211/rx.c +++ b/net/mac80211/rx.c -@@ -3181,6 +3181,49 @@ static void ieee80211_process_sa_query_r +@@ -3180,6 +3180,49 @@ static void ieee80211_process_sa_query_r ieee80211_tx_skb(sdata, skb); } @@ -106,7 +106,7 @@ Signed-off-by: Johannes Berg static ieee80211_rx_result debug_noinline ieee80211_rx_h_mgmt_check(struct ieee80211_rx_data *rx) { -@@ -3206,6 +3249,9 @@ ieee80211_rx_h_mgmt_check(struct ieee802 +@@ -3205,6 +3248,9 @@ ieee80211_rx_h_mgmt_check(struct ieee802 !(rx->flags & IEEE80211_RX_BEACON_REPORTED)) { int sig = 0; diff --git a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch index 171af5ee56..50c24a7746 100644 --- a/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch +++ b/package/kernel/mac80211/patches/subsys/500-mac80211_configure_antenna_gain.patch @@ -87,7 +87,7 @@ CFG80211_TESTMODE_DUMP(ieee80211_testmode_dump) --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h -@@ -1441,6 +1441,7 @@ struct ieee80211_local { +@@ -1448,6 +1448,7 @@ struct ieee80211_local { int dynamic_ps_forced_timeout; int user_power_level; /* in dBm, for all interfaces */ @@ -129,7 +129,7 @@ local->hw.max_mtu = IEEE80211_MAX_DATA_LEN; --- a/net/wireless/nl80211.c +++ b/net/wireless/nl80211.c -@@ -797,6 +797,7 @@ static const struct nla_policy nl80211_p +@@ -802,6 +802,7 @@ static const struct nla_policy nl80211_p NLA_POLICY_NESTED(nl80211_mbssid_config_policy), [NL80211_ATTR_MBSSID_ELEMS] = { .type = NLA_NESTED }, [NL80211_ATTR_RADAR_BACKGROUND] = { .type = NLA_FLAG }, @@ -137,7 +137,7 @@ }; /* policy for the key attributes */ -@@ -3377,6 +3378,22 @@ static int nl80211_set_wiphy(struct sk_b +@@ -3391,6 +3392,22 @@ static int nl80211_set_wiphy(struct sk_b if (result) goto out; } diff --git a/package/libs/libcap/Makefile b/package/libs/libcap/Makefile index dcd535becd..0e4ffc6e02 100644 --- a/package/libs/libcap/Makefile +++ b/package/libs/libcap/Makefile @@ -6,12 +6,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=libcap -PKG_VERSION:=2.63 +PKG_VERSION:=2.65 PKG_RELEASE:=$(AUTORELEASE) PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/linux/libs/security/linux-privs/libcap2 -PKG_HASH:=0c637b8f44fc7d8627787e9cf57f15ac06c1ddccb53e41feec5496be3466f77f +PKG_HASH:=73e350020cc31fe15360879d19384ffa3395a825f065fcf6bda3a5cdf965bebd PKG_MAINTAINER:=Paul Wassi PKG_LICENSE:=GPL-2.0-only diff --git a/package/libs/libmnl/patches/001-fix_build.patch b/package/libs/libmnl/patches/001-fix_build.patch new file mode 100644 index 0000000000..d095ec89d0 --- /dev/null +++ b/package/libs/libmnl/patches/001-fix_build.patch @@ -0,0 +1,11 @@ +--- a/doxygen/Makefile.am ++++ b/doxygen/Makefile.am +@@ -21,7 +21,7 @@ doxyfile.stamp: $(doc_srcs) Makefile.am + # The command has to be a single line so the functions work + # and so `make` gives all lines to `bash -c` + # (hence ";\" at the end of every line but the last). +- /bin/bash -p -c 'declare -A renamed_page;\ ++ bash -p -c 'declare -A renamed_page;\ + main(){ set -e; cd man/man3; rm -f _*;\ + count_real_pages;\ + rename_real_pages;\ diff --git a/package/libs/ustream-ssl/Makefile b/package/libs/ustream-ssl/Makefile index 7d9e830381..a5e34a73b4 100644 --- a/package/libs/ustream-ssl/Makefile +++ b/package/libs/ustream-ssl/Makefile @@ -44,7 +44,7 @@ endef define Package/libustream-mbedtls $(Package/libustream/default) TITLE += (mbedtls) - DEPENDS += +libmbedtls + DEPENDS += +PACKAGE_libustream-mbedtls:libmbedtls CONFLICTS := libustream-openssl libustream-wolfssl VARIANT:=mbedtls DEFAULT_VARIANT:=1 diff --git a/package/libs/wolfssl/Config.in b/package/libs/wolfssl/Config.in index 332a151550..4b9db4d107 100644 --- a/package/libs/wolfssl/Config.in +++ b/package/libs/wolfssl/Config.in @@ -72,7 +72,6 @@ config WOLFSSL_ASM_CAPABLE choice prompt "Hardware Acceleration" - default WOLFSSL_HAS_CPU_CRYPTO if WOLFSSL_ASM_CAPABLE && !TARGET_armvirt default WOLFSSL_HAS_NO_HW config WOLFSSL_HAS_NO_HW diff --git a/package/libs/wolfssl/Makefile b/package/libs/wolfssl/Makefile index 55928f1446..b0e100673c 100644 --- a/package/libs/wolfssl/Makefile +++ b/package/libs/wolfssl/Makefile @@ -61,7 +61,6 @@ endef define Package/libwolfssl $(call Package/libwolfssl/Default) TITLE:=wolfSSL library - PKGFLAGS:=nonshared MENU:=1 PROVIDES:=libcyassl DEPENDS:=+WOLFSSL_HAS_DEVCRYPTO:kmod-cryptodev +WOLFSSL_HAS_AFALG:kmod-crypto-user diff --git a/package/libs/wolfssl/patches/101-update-sp_rand_prime-s-preprocessor-gating-to-match.patch b/package/libs/wolfssl/patches/101-update-sp_rand_prime-s-preprocessor-gating-to-match.patch new file mode 100644 index 0000000000..4b56c1568a --- /dev/null +++ b/package/libs/wolfssl/patches/101-update-sp_rand_prime-s-preprocessor-gating-to-match.patch @@ -0,0 +1,23 @@ +From dc92ec2aa9cb76b782bdba3fc5203267ebf39994 Mon Sep 17 00:00:00 2001 +From: Kareem +Date: Fri, 22 Jul 2022 11:07:46 -0700 +Subject: [PATCH] Update sp_rand_prime's preprocessor gating to match + wolfSSL_BN_generate_prime_ex's. + +--- + wolfcrypt/src/sp_int.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +--- a/wolfcrypt/src/sp_int.c ++++ b/wolfcrypt/src/sp_int.c +@@ -15647,8 +15647,8 @@ int sp_radix_size(sp_int* a, int radix, + * Prime number generation and checking. + ***************************************/ + +-#if defined(WOLFSSL_KEY_GEN) && (!defined(NO_DH) || !defined(NO_DSA)) && \ +- !defined(WC_NO_RNG) ++#if defined(WOLFSSL_KEY_GEN) && (!defined(NO_RSA) || !defined(NO_DH) || \ ++ !defined(NO_DSA)) && !defined(WC_NO_RNG) + /* Generate a random prime for RSA only. + * + * @param [out] r SP integer to hold result. diff --git a/package/network/ipv6/odhcp6c/Makefile b/package/network/ipv6/odhcp6c/Makefile index 455ef3ae71..c646b85856 100644 --- a/package/network/ipv6/odhcp6c/Makefile +++ b/package/network/ipv6/odhcp6c/Makefile @@ -12,9 +12,9 @@ PKG_RELEASE:=18 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/odhcp6c.git -PKG_SOURCE_DATE:=2021-12-05 -PKG_SOURCE_VERSION:=39b584bcac8770619b545d6ae344758f87028612 -PKG_MIRROR_HASH:=f2092bd3ff3481f842da6735f8e36e237e163e8b7cdec80a17385c31e064c8f0 +PKG_SOURCE_DATE:=2022-07-13 +PKG_SOURCE_VERSION:=9212bfcbab7681cd30186ac7f1ef4c47bf38c89a +PKG_MIRROR_HASH:=85118a9ae084701a00b4dc6a9b2e3279e4fd70eb5b31b539a121ce0a894f9e45 PKG_MAINTAINER:=Hans Dedecker PKG_LICENSE:=GPL-2.0 diff --git a/package/network/services/hostapd/Makefile b/package/network/services/hostapd/Makefile index c69d2a826b..c4aa6d04f3 100644 --- a/package/network/services/hostapd/Makefile +++ b/package/network/services/hostapd/Makefile @@ -166,7 +166,7 @@ define Package/hostapd-openssl $(call Package/hostapd/Default,$(1)) TITLE+= (OpenSSL full) VARIANT:=full-openssl - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_hostapd-openssl:libopenssl endef Package/hostapd-openssl/description = $(Package/hostapd/description) @@ -175,7 +175,7 @@ define Package/hostapd-wolfssl $(call Package/hostapd/Default,$(1)) TITLE+= (wolfSSL full) VARIANT:=full-wolfssl - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_hostapd-wolfssl:libwolfssl endef Package/hostapd-wolfssl/description = $(Package/hostapd/description) @@ -194,7 +194,7 @@ define Package/hostapd-basic-openssl $(call Package/hostapd/Default,$(1)) TITLE+= (WPA-PSK, 11r and 11w) VARIANT:=basic-openssl - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_hostapd-basic-openssl:libopenssl endef define Package/hostapd-basic-openssl/description @@ -205,7 +205,7 @@ define Package/hostapd-basic-wolfssl $(call Package/hostapd/Default,$(1)) TITLE+= (WPA-PSK, 11r and 11w) VARIANT:=basic-wolfssl - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_hostapd-basic-wolfssl:libwolfssl endef define Package/hostapd-basic-wolfssl/description @@ -253,7 +253,7 @@ define Package/wpad-openssl $(call Package/wpad/Default,$(1)) TITLE+= (OpenSSL full) VARIANT:=wpad-full-openssl - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_wpad-openssl:libopenssl endef Package/wpad-openssl/description = $(Package/wpad/description) @@ -262,7 +262,7 @@ define Package/wpad-wolfssl $(call Package/wpad/Default,$(1)) TITLE+= (wolfSSL full) VARIANT:=wpad-full-wolfssl - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_wpad-wolfssl:libwolfssl endef Package/wpad-wolfssl/description = $(Package/wpad/description) @@ -281,7 +281,7 @@ define Package/wpad-basic-openssl $(call Package/wpad/Default,$(1)) TITLE+= (OpenSSL, 11r, 11w) VARIANT:=wpad-basic-openssl - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_wpad-basic-openssl:libopenssl endef define Package/wpad-basic-openssl/description @@ -292,7 +292,7 @@ define Package/wpad-basic-wolfssl $(call Package/wpad/Default,$(1)) TITLE+= (wolfSSL, 11r, 11w) VARIANT:=wpad-basic-wolfssl - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_wpad-basic-wolfssl:libwolfssl endef define Package/wpad-basic-wolfssl/description @@ -322,7 +322,7 @@ endef define Package/wpad-mesh-openssl $(call Package/wpad-mesh,$(1)) TITLE+= (OpenSSL, 11s, SAE) - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_wpad-mesh-openssl:libopenssl VARIANT:=wpad-mesh-openssl endef @@ -331,7 +331,7 @@ Package/wpad-mesh-openssl/description = $(Package/wpad-mesh/description) define Package/wpad-mesh-wolfssl $(call Package/wpad-mesh,$(1)) TITLE+= (wolfSSL, 11s, SAE) - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_wpad-mesh-wolfssl:libwolfssl VARIANT:=wpad-mesh-wolfssl endef @@ -362,14 +362,14 @@ define Package/wpa-supplicant-openssl $(call Package/wpa-supplicant/Default,$(1)) TITLE+= (OpenSSL full) VARIANT:=supplicant-full-openssl - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_wpa-supplicant-openssl:libopenssl endef define Package/wpa-supplicant-wolfssl $(call Package/wpa-supplicant/Default,$(1)) TITLE+= (wolfSSL full) VARIANT:=supplicant-full-wolfssl - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_wpa-supplicant-wolfssl:libwolfssl endef define Package/wpa-supplicant/config @@ -393,14 +393,14 @@ define Package/wpa-supplicant-mesh-openssl $(call Package/wpa-supplicant-mesh/Default,$(1)) TITLE+= (OpenSSL, 11s, SAE) VARIANT:=supplicant-mesh-openssl - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_wpa-supplicant-mesh-openssl:libopenssl endef define Package/wpa-supplicant-mesh-wolfssl $(call Package/wpa-supplicant-mesh/Default,$(1)) TITLE+= (wolfSSL, 11s, SAE) VARIANT:=supplicant-mesh-wolfssl - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_wpa-supplicant-mesh-wolfssl:libwolfssl endef define Package/wpa-supplicant-basic @@ -466,7 +466,7 @@ define Package/eapol-test-openssl TITLE+= (OpenSSL full) VARIANT:=supplicant-full-openssl CONFLICTS:=$(filter-out eapol-test-openssl ,$(EAPOL_TEST_PROVIDERS)) - DEPENDS+=+libopenssl + DEPENDS+=+PACKAGE_eapol-test-openssl:libopenssl PROVIDES:=eapol-test endef @@ -475,7 +475,7 @@ define Package/eapol-test-wolfssl TITLE+= (wolfSSL full) VARIANT:=supplicant-full-wolfssl CONFLICTS:=$(filter-out eapol-test-openssl ,$(filter-out eapol-test-wolfssl ,$(EAPOL_TEST_PROVIDERS))) - DEPENDS+=+libwolfssl + DEPENDS+=+PACKAGE_eapol-test-wolfssl:libwolfssl PROVIDES:=eapol-test endef diff --git a/target/linux/ath79/patches-5.10/0003-leds-add-reset-controller-based-driver.patch b/target/linux/ath79/patches-5.10/0003-leds-add-reset-controller-based-driver.patch index 68b8310365..4a721f2af2 100644 --- a/target/linux/ath79/patches-5.10/0003-leds-add-reset-controller-based-driver.patch +++ b/target/linux/ath79/patches-5.10/0003-leds-add-reset-controller-based-driver.patch @@ -13,9 +13,9 @@ Signed-off-by: John Crispin --- a/drivers/leds/Kconfig +++ b/drivers/leds/Kconfig -@@ -929,6 +929,17 @@ config LEDS_ACER_A500 - This option enables support for the Power Button LED of - Acer Iconia Tab A500. +@@ -931,6 +931,17 @@ config LEDS_ACER_A500 + + source "drivers/leds/blink/Kconfig" +config LEDS_RESET + tristate "LED support for reset-controller API" diff --git a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch index 52c497e966..ad19f8eaf9 100644 --- a/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.10/910-unaligned_access_hacks.patch @@ -706,7 +706,7 @@ EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4087,14 +4087,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -4092,14 +4092,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch index bafbcd3b5a..ef9dab5508 100644 --- a/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-5.15/910-unaligned_access_hacks.patch @@ -706,7 +706,7 @@ EXPORT_SYMBOL(xfrm_parse_spi); --- a/net/ipv4/tcp_input.c +++ b/net/ipv4/tcp_input.c -@@ -4133,14 +4133,16 @@ static bool tcp_parse_aligned_timestamp( +@@ -4138,14 +4138,16 @@ static bool tcp_parse_aligned_timestamp( { const __be32 *ptr = (const __be32 *)(th + 1); diff --git a/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch index 6ea14aba94..85f909847b 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0035-cgroup-Disable-cgroup-memory-by-default.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -5824,6 +5824,9 @@ int __init cgroup_init_early(void) +@@ -5833,6 +5833,9 @@ int __init cgroup_init_early(void) return 0; } @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /** * cgroup_init - cgroup initialization * -@@ -5862,6 +5865,12 @@ int __init cgroup_init(void) +@@ -5871,6 +5874,12 @@ int __init cgroup_init(void) mutex_unlock(&cgroup_mutex); @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6446,6 +6455,10 @@ static int __init cgroup_disable(char *s +@@ -6455,6 +6464,10 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -51,7 +51,7 @@ Signed-off-by: Phil Elwell static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6464,6 +6477,31 @@ static int __init cgroup_disable(char *s +@@ -6473,6 +6486,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch b/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch index 0fa06335aa..fe2b83dd42 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0056-amba_pl011-Don-t-use-DT-aliases-for-numbering.patch @@ -14,7 +14,7 @@ use the same logic. --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2725,7 +2725,12 @@ static int pl011_setup_port(struct devic +@@ -2744,7 +2744,12 @@ static int pl011_setup_port(struct devic if (IS_ERR(base)) return PTR_ERR(base); diff --git a/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch b/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch index 96435fe809..8fb5c393b6 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0057-amba_pl011-Round-input-clock-up.patch @@ -26,7 +26,7 @@ Signed-off-by: Phil Elwell --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1718,6 +1718,23 @@ static void pl011_put_poll_char(struct u +@@ -1727,6 +1727,23 @@ static void pl011_put_poll_char(struct u #endif /* CONFIG_CONSOLE_POLL */ @@ -50,7 +50,7 @@ Signed-off-by: Phil Elwell static int pl011_hwinit(struct uart_port *port) { struct uart_amba_port *uap = -@@ -1734,7 +1751,7 @@ static int pl011_hwinit(struct uart_port +@@ -1743,7 +1760,7 @@ static int pl011_hwinit(struct uart_port if (retval) return retval; @@ -59,7 +59,7 @@ Signed-off-by: Phil Elwell /* Clear pending error and receive interrupts */ pl011_write(UART011_OEIS | UART011_BEIS | UART011_PEIS | -@@ -2421,7 +2438,7 @@ static int pl011_console_setup(struct co +@@ -2440,7 +2457,7 @@ static int pl011_console_setup(struct co plat->init(); } @@ -68,7 +68,7 @@ Signed-off-by: Phil Elwell if (uap->vendor->fixed_options) { baud = uap->fixed_baud; -@@ -2638,6 +2655,7 @@ static struct uart_driver amba_reg = { +@@ -2657,6 +2674,7 @@ static struct uart_driver amba_reg = { .cons = AMBA_CONSOLE, }; @@ -76,7 +76,7 @@ Signed-off-by: Phil Elwell static int pl011_probe_dt_alias(int index, struct device *dev) { struct device_node *np; -@@ -2669,6 +2687,7 @@ static int pl011_probe_dt_alias(int inde +@@ -2688,6 +2706,7 @@ static int pl011_probe_dt_alias(int inde return ret; } diff --git a/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch b/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch index adb5e0073f..88388f4259 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0058-amba_pl011-Insert-mb-for-correct-FIFO-handling.patch @@ -17,7 +17,7 @@ Signed-off-by: Phil Elwell --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1423,6 +1423,7 @@ static bool pl011_tx_char(struct uart_am +@@ -1432,6 +1432,7 @@ static bool pl011_tx_char(struct uart_am return false; /* unable to transmit character */ pl011_write(c, uap, REG_DR); diff --git a/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch b/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch index 5dfe214100..02d86cfc61 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0059-amba_pl011-Add-cts-event-workaround-DT-property.patch @@ -36,7 +36,7 @@ Signed-off-by: Phil Elwell - reg --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -2816,6 +2816,11 @@ static int pl011_probe(struct amba_devic +@@ -2835,6 +2835,11 @@ static int pl011_probe(struct amba_devic if (IS_ERR(uap->clk)) return PTR_ERR(uap->clk); diff --git a/target/linux/bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch b/target/linux/bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch deleted file mode 100644 index 3b0bca7adb..0000000000 --- a/target/linux/bcm27xx/patches-5.15/950-0060-tty-amba-pl011-Add-un-throttle-support.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 48cb6ac7067b412c56a0a6aca43f5c964dfb7dec Mon Sep 17 00:00:00 2001 -From: Phil Elwell -Date: Fri, 24 Jan 2020 11:38:28 +0000 -Subject: [PATCH] tty: amba-pl011: Add un/throttle support - -The PL011 driver lacks throttle and unthrottle methods. As a result, -sending more data to the Pi than it can immediately sink while CRTSCTS -is enabled causes a NULL pointer to be followed. - -Add a throttle handler that disables the RX interrupts, and an -unthrottle handler that reenables them. - -Signed-off-by: Phil Elwell ---- - drivers/tty/serial/amba-pl011.c | 28 ++++++++++++++++++++++++++++ - 1 file changed, 28 insertions(+) - ---- a/drivers/tty/serial/amba-pl011.c -+++ b/drivers/tty/serial/amba-pl011.c -@@ -1360,6 +1360,32 @@ static void pl011_start_tx(struct uart_p - pl011_start_tx_pio(uap); - } - -+static void pl011_throttle(struct uart_port *port) -+{ -+ struct uart_amba_port *uap = -+ container_of(port, struct uart_amba_port, port); -+ unsigned long flags; -+ -+ spin_lock_irqsave(&uap->port.lock, flags); -+ uap->im &= ~(UART011_RTIM | UART011_RXIM); -+ pl011_write(uap->im, uap, REG_IMSC); -+ spin_unlock_irqrestore(&uap->port.lock, flags); -+} -+ -+static void pl011_unthrottle(struct uart_port *port) -+{ -+ struct uart_amba_port *uap = -+ container_of(port, struct uart_amba_port, port); -+ unsigned long flags; -+ -+ spin_lock_irqsave(&uap->port.lock, flags); -+ uap->im |= UART011_RTIM; -+ if (!pl011_dma_rx_running(uap)) -+ uap->im |= UART011_RXIM; -+ pl011_write(uap->im, uap, REG_IMSC); -+ spin_unlock_irqrestore(&uap->port.lock, flags); -+} -+ - static void pl011_stop_rx(struct uart_port *port) - { - struct uart_amba_port *uap = -@@ -2263,6 +2289,8 @@ static const struct uart_ops amba_pl011_ - .stop_tx = pl011_stop_tx, - .start_tx = pl011_start_tx, - .stop_rx = pl011_stop_rx, -+ .throttle = pl011_throttle, -+ .unthrottle = pl011_unthrottle, - .enable_ms = pl011_enable_ms, - .break_ctl = pl011_break_ctl, - .startup = pl011_startup, diff --git a/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch b/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch index c72eeb470e..7607714a20 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0061-tty-amba-pl011-Avoid-rare-write-when-full-error.patch @@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell --- a/drivers/tty/serial/amba-pl011.c +++ b/drivers/tty/serial/amba-pl011.c -@@ -1510,6 +1510,10 @@ static bool pl011_tx_chars(struct uart_a +@@ -1493,6 +1493,10 @@ static bool pl011_tx_chars(struct uart_a if (likely(from_irq) && count-- == 0) break; diff --git a/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch b/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch index 5f2a237e2b..b2286f8f80 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0067-fbdev-add-FBIOCOPYAREA-ioctl.patch @@ -244,7 +244,7 @@ Signed-off-by: Dave Stevenson static int bcm2708_fb_register(struct bcm2708_fb *fb) --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1086,6 +1086,30 @@ fb_blank(struct fb_info *info, int blank +@@ -1097,6 +1097,30 @@ fb_blank(struct fb_info *info, int blank } EXPORT_SYMBOL(fb_blank); @@ -275,7 +275,7 @@ Signed-off-by: Dave Stevenson static long do_fb_ioctl(struct fb_info *info, unsigned int cmd, unsigned long arg) { -@@ -1094,6 +1118,7 @@ static long do_fb_ioctl(struct fb_info * +@@ -1105,6 +1129,7 @@ static long do_fb_ioctl(struct fb_info * struct fb_fix_screeninfo fix; struct fb_cmap cmap_from; struct fb_cmap_user cmap; @@ -283,7 +283,7 @@ Signed-off-by: Dave Stevenson void __user *argp = (void __user *)arg; long ret = 0; -@@ -1169,6 +1194,15 @@ static long do_fb_ioctl(struct fb_info * +@@ -1182,6 +1207,15 @@ static long do_fb_ioctl(struct fb_info * unlock_fb_info(info); console_unlock(); break; @@ -299,7 +299,7 @@ Signed-off-by: Dave Stevenson default: lock_fb_info(info); fb = info->fbops; -@@ -1308,6 +1342,7 @@ static long fb_compat_ioctl(struct file +@@ -1321,6 +1355,7 @@ static long fb_compat_ioctl(struct file case FBIOPAN_DISPLAY: case FBIOGET_CON2FBMAP: case FBIOPUT_CON2FBMAP: diff --git a/target/linux/bcm27xx/patches-5.15/950-0146-spi-bcm2835-enable-shared-interrupt-support.patch b/target/linux/bcm27xx/patches-5.15/950-0146-spi-bcm2835-enable-shared-interrupt-support.patch index 2aca884b36..723e44f0eb 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0146-spi-bcm2835-enable-shared-interrupt-support.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0146-spi-bcm2835-enable-shared-interrupt-support.patch @@ -23,7 +23,7 @@ Signed-off-by: Martin Sperl /* Read as many bytes as possible from FIFO */ bcm2835_rd_fifo(bs); /* Write as many bytes as possible to FIFO */ -@@ -1365,7 +1369,8 @@ static int bcm2835_spi_probe(struct plat +@@ -1369,7 +1373,8 @@ static int bcm2835_spi_probe(struct plat bcm2835_wr(bs, BCM2835_SPI_CS, BCM2835_SPI_CS_CLEAR_RX | BCM2835_SPI_CS_CLEAR_TX); diff --git a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch index aa12dae1fc..166ca54512 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0152-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch @@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -1618,6 +1618,109 @@ command_cleanup: +@@ -1620,6 +1620,109 @@ command_cleanup: } /* @@ -125,7 +125,7 @@ Signed-off-by: Jonathan Bell * non-error returns are a promise to giveback() the urb later * we drop ownership so next owner (or urb unlink) can get it */ -@@ -5443,6 +5546,7 @@ static const struct hc_driver xhci_hc_dr +@@ -5445,6 +5548,7 @@ static const struct hc_driver xhci_hc_dr .endpoint_reset = xhci_endpoint_reset, .check_bandwidth = xhci_check_bandwidth, .reset_bandwidth = xhci_reset_bandwidth, diff --git a/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch b/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch index 67e8731f67..4f94a9f11d 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0281-media-i2c-Add-driver-for-Sony-IMX477-sensor.patch @@ -25,7 +25,7 @@ Signed-off-by: Naushir Patuck --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17525,6 +17525,14 @@ T: git git://linuxtv.org/media_tree.git +@@ -17526,6 +17526,14 @@ T: git git://linuxtv.org/media_tree.git F: Documentation/devicetree/bindings/media/i2c/sony,imx412.yaml F: drivers/media/i2c/imx412.c diff --git a/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch b/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch index a62b97f70d..8c75f80baa 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0413-Documentation-devicetree-Add-documentation-for-imx37.patch @@ -132,7 +132,7 @@ Signed-off-by: David Plowman +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17539,6 +17539,7 @@ M: Raspberry Pi Kernel Maintenance --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -1908,6 +1908,8 @@ static const struct usb_audio_quirk_flag - QUIRK_FLAG_ALIGN_TRANSFER), - DEVICE_FLG(0x1224, 0x2a25, /* Jieli Technology USB PHY 2.0 */ - QUIRK_FLAG_GET_SAMPLE_RATE), +@@ -1921,6 +1921,8 @@ static const struct usb_audio_quirk_flag + QUIRK_FLAG_GENERIC_IMPLICIT_FB), + DEVICE_FLG(0x2b53, 0x0031, /* Fiero SC-01 (firmware v1.1.0) */ + QUIRK_FLAG_GENERIC_IMPLICIT_FB), + DEVICE_FLG(0x09da, 0x2695, /* A4Tech FHD 1080p webcam */ + QUIRK_FLAG_DISABLE_AUTOSUSPEND | QUIRK_FLAG_GET_SAMPLE_RATE), diff --git a/target/linux/bcm27xx/patches-5.15/950-0520-dt-bindings-media-i2c-Add-IMX519-CMOS-sensor-binding.patch b/target/linux/bcm27xx/patches-5.15/950-0520-dt-bindings-media-i2c-Add-IMX519-CMOS-sensor-binding.patch index 54a751c654..53c6646cab 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0520-dt-bindings-media-i2c-Add-IMX519-CMOS-sensor-binding.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0520-dt-bindings-media-i2c-Add-IMX519-CMOS-sensor-binding.patch @@ -132,7 +132,7 @@ Signed-off-by: Lee Jackson +... --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -17543,6 +17543,14 @@ F: Documentation/devicetree/bindings/med +@@ -17544,6 +17544,14 @@ F: Documentation/devicetree/bindings/med F: Documentation/devicetree/bindings/media/i2c/imx477.yaml F: drivers/media/i2c/imx477.c diff --git a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch index a18a9525e2..4387b4eed9 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0605-xhci-refactor-out-TRBS_PER_SEGMENT-define-in-runtime.patch @@ -226,7 +226,7 @@ Signed-off-by: Jonathan Bell } --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c -@@ -877,8 +877,8 @@ static void xhci_clear_command_ring(stru +@@ -879,8 +879,8 @@ static void xhci_clear_command_ring(stru seg = ring->deq_seg; do { memset(seg->trbs, 0, @@ -237,7 +237,7 @@ Signed-off-by: Jonathan Bell cpu_to_le32(~TRB_CYCLE); seg = seg->next; } while (seg != ring->deq_seg); -@@ -889,7 +889,7 @@ static void xhci_clear_command_ring(stru +@@ -891,7 +891,7 @@ static void xhci_clear_command_ring(stru ring->enq_seg = ring->deq_seg; ring->enqueue = ring->dequeue; diff --git a/target/linux/bcm27xx/patches-5.15/950-0880-Revert-fbdev-Fix-unregistering-of-framebuffers-witho.patch b/target/linux/bcm27xx/patches-5.15/950-0880-Revert-fbdev-Fix-unregistering-of-framebuffers-witho.patch index 66412360bf..69fa9a44de 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0880-Revert-fbdev-Fix-unregistering-of-framebuffers-witho.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0880-Revert-fbdev-Fix-unregistering-of-framebuffers-witho.patch @@ -11,7 +11,7 @@ This reverts commit 2388f826cdc9af2651991adc0feb79de9bdf2232. --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -1616,14 +1616,7 @@ static void do_remove_conflicting_frameb +@@ -1629,14 +1629,7 @@ static void do_remove_conflicting_frameb * If it's not a platform device, at least print a warning. A * fix would add code to remove the device from the system. */ diff --git a/target/linux/bcm27xx/patches-5.15/950-0881-Revert-fbdev-Hot-unplug-firmware-fb-devices-on-force.patch b/target/linux/bcm27xx/patches-5.15/950-0881-Revert-fbdev-Hot-unplug-firmware-fb-devices-on-force.patch index b28d29cc89..b2fc4d8ffc 100644 --- a/target/linux/bcm27xx/patches-5.15/950-0881-Revert-fbdev-Hot-unplug-firmware-fb-devices-on-force.patch +++ b/target/linux/bcm27xx/patches-5.15/950-0881-Revert-fbdev-Hot-unplug-firmware-fb-devices-on-force.patch @@ -12,7 +12,7 @@ This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c -@@ -25,7 +25,6 @@ +@@ -26,7 +26,6 @@ #include #include #include @@ -20,7 +20,7 @@ This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. #include #include #include -@@ -1593,36 +1592,18 @@ static void do_remove_conflicting_frameb +@@ -1606,36 +1605,18 @@ static void do_remove_conflicting_frameb /* check all firmware fbs and kick off if the base addr overlaps */ for_each_registered_fb(i) { struct apertures_struct *gen_aper; @@ -58,7 +58,7 @@ This reverts commit c894ac44786cfed383a6c6b20c1bfb12eb96018a. } } } -@@ -1949,13 +1930,9 @@ EXPORT_SYMBOL(register_framebuffer); +@@ -1973,13 +1954,9 @@ EXPORT_SYMBOL(register_framebuffer); void unregister_framebuffer(struct fb_info *fb_info) { diff --git a/target/linux/bcm4908/patches-5.10/089-v5.18-watchdog-allow-building-BCM7038_WDT-for-BCM4908.patch b/target/linux/bcm4908/patches-5.10/089-v5.18-watchdog-allow-building-BCM7038_WDT-for-BCM4908.patch index a03d538db9..ea75181a6e 100644 --- a/target/linux/bcm4908/patches-5.10/089-v5.18-watchdog-allow-building-BCM7038_WDT-for-BCM4908.patch +++ b/target/linux/bcm4908/patches-5.10/089-v5.18-watchdog-allow-building-BCM7038_WDT-for-BCM4908.patch @@ -21,8 +21,8 @@ Signed-off-by: Wim Van Sebroeck --- a/drivers/watchdog/Kconfig +++ b/drivers/watchdog/Kconfig -@@ -1779,7 +1779,7 @@ config BCM7038_WDT - tristate "BCM63xx/BCM7038 Watchdog" +@@ -1800,7 +1800,7 @@ config BCM7038_WDT + tristate "BCM7038 Watchdog" select WATCHDOG_CORE depends on HAS_IOMEM - depends on ARCH_BRCMSTB || BMIPS_GENERIC || COMPILE_TEST diff --git a/target/linux/bcm4908/patches-5.10/090-v5.20-watchdog-bcm7038_wdt-Support-BCM6345-compatible-stri.patch b/target/linux/bcm4908/patches-5.10/090-v5.20-watchdog-bcm7038_wdt-Support-BCM6345-compatible-stri.patch index 9d11a55ffa..d6d2fd9ab6 100644 --- a/target/linux/bcm4908/patches-5.10/090-v5.20-watchdog-bcm7038_wdt-Support-BCM6345-compatible-stri.patch +++ b/target/linux/bcm4908/patches-5.10/090-v5.20-watchdog-bcm7038_wdt-Support-BCM6345-compatible-stri.patch @@ -24,7 +24,7 @@ Signed-off-by: Wim Van Sebroeck --- a/drivers/watchdog/bcm7038_wdt.c +++ b/drivers/watchdog/bcm7038_wdt.c -@@ -218,6 +218,7 @@ static SIMPLE_DEV_PM_OPS(bcm7038_wdt_pm_ops, bcm7038_wdt_suspend, +@@ -193,6 +193,7 @@ static SIMPLE_DEV_PM_OPS(bcm7038_wdt_pm_ bcm7038_wdt_resume); static const struct of_device_id bcm7038_wdt_match[] = { diff --git a/target/linux/bcm53xx/patches-5.15/072-next-ARM_dts_BCM53015-add-mr26.patch b/target/linux/bcm53xx/patches-5.15/072-next-ARM_dts_BCM53015-add-mr26.patch index 4517b23f8b..c85f27282d 100644 --- a/target/linux/bcm53xx/patches-5.15/072-next-ARM_dts_BCM53015-add-mr26.patch +++ b/target/linux/bcm53xx/patches-5.15/072-next-ARM_dts_BCM53015-add-mr26.patch @@ -232,7 +232,7 @@ Signed-off-by: Florian Fainelli +}; --- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile -@@ -129,6 +129,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ +@@ -128,6 +128,7 @@ dtb-$(CONFIG_ARCH_BCM_5301X) += \ bcm47094-luxul-xwr-3150-v1.dtb \ bcm47094-netgear-r8500.dtb \ bcm47094-phicomm-k3.dtb \ diff --git a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch index 80f51e7a22..77b85a232c 100644 --- a/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch +++ b/target/linux/generic/backport-5.10/732-net-next-1-of-net-pass-the-dst-buffer-to-of_get_mac_address.patch @@ -1162,7 +1162,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c +++ b/drivers/net/ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c -@@ -444,7 +444,7 @@ static int dwc_eth_dwmac_probe(struct pl +@@ -445,7 +445,7 @@ static int dwc_eth_dwmac_probe(struct pl if (IS_ERR(stmmac_res.addr)) return PTR_ERR(stmmac_res.addr); @@ -1360,7 +1360,7 @@ Signed-off-by: David S. Miller int irq; --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -4988,7 +4988,7 @@ int stmmac_dvr_probe(struct device *devi +@@ -4987,7 +4987,7 @@ int stmmac_dvr_probe(struct device *devi priv->wol_irq = res->wol_irq; priv->lpi_irq = res->lpi_irq; diff --git a/target/linux/generic/backport-5.15/747-v5.16-12-net-dsa-qca8k-add-support-for-QCA8328.patch b/target/linux/generic/backport-5.15/747-v5.16-12-net-dsa-qca8k-add-support-for-QCA8328.patch index 70f227fb69..b300621e63 100644 --- a/target/linux/generic/backport-5.15/747-v5.16-12-net-dsa-qca8k-add-support-for-QCA8328.patch +++ b/target/linux/generic/backport-5.15/747-v5.16-12-net-dsa-qca8k-add-support-for-QCA8328.patch @@ -42,7 +42,7 @@ Signed-off-by: David S. Miller if (ret) return ret; } -@@ -2105,7 +2112,12 @@ static int qca8k_resume(struct device *d +@@ -2124,7 +2131,12 @@ static int qca8k_resume(struct device *d static SIMPLE_DEV_PM_OPS(qca8k_pm_ops, qca8k_suspend, qca8k_resume); @@ -56,7 +56,7 @@ Signed-off-by: David S. Miller .id = QCA8K_ID_QCA8327, }; -@@ -2114,7 +2126,8 @@ static const struct qca8k_match_data qca +@@ -2133,7 +2145,8 @@ static const struct qca8k_match_data qca }; static const struct of_device_id qca8k_of_match[] = { diff --git a/target/linux/generic/backport-5.15/754-net-next-net-dsa-qca8k-convert-to-GENMASK_FIELD_PREP_FIELD_GET.patch b/target/linux/generic/backport-5.15/754-net-next-net-dsa-qca8k-convert-to-GENMASK_FIELD_PREP_FIELD_GET.patch index 408a59df85..2cea88089d 100644 --- a/target/linux/generic/backport-5.15/754-net-next-net-dsa-qca8k-convert-to-GENMASK_FIELD_PREP_FIELD_GET.patch +++ b/target/linux/generic/backport-5.15/754-net-next-net-dsa-qca8k-convert-to-GENMASK_FIELD_PREP_FIELD_GET.patch @@ -218,7 +218,7 @@ Signed-off-by: David S. Miller mask); } -@@ -1916,11 +1911,11 @@ qca8k_port_vlan_filtering(struct dsa_swi +@@ -1935,11 +1930,11 @@ qca8k_port_vlan_filtering(struct dsa_swi if (vlan_filtering) { ret = qca8k_rmw(priv, QCA8K_PORT_LOOKUP_CTRL(port), @@ -232,7 +232,7 @@ Signed-off-by: David S. Miller QCA8K_PORT_LOOKUP_VLAN_MODE_NONE); } -@@ -1944,10 +1939,9 @@ qca8k_port_vlan_add(struct dsa_switch *d +@@ -1963,10 +1958,9 @@ qca8k_port_vlan_add(struct dsa_switch *d } if (pvid) { @@ -245,7 +245,7 @@ Signed-off-by: David S. Miller if (ret) return ret; -@@ -2041,7 +2035,7 @@ static int qca8k_read_switch_id(struct q +@@ -2060,7 +2054,7 @@ static int qca8k_read_switch_id(struct q if (ret < 0) return -ENODEV; @@ -254,7 +254,7 @@ Signed-off-by: David S. Miller if (id != data->id) { dev_err(priv->dev, "Switch id detected %x but expected %x", id, data->id); return -ENODEV; -@@ -2050,7 +2044,7 @@ static int qca8k_read_switch_id(struct q +@@ -2069,7 +2063,7 @@ static int qca8k_read_switch_id(struct q priv->switch_id = id; /* Save revision to communicate to the internal PHY driver */ diff --git a/target/linux/generic/backport-5.15/756-net-next-net-dsa-qca8k-move-regmap-init-in-probe-and-set-it.patch b/target/linux/generic/backport-5.15/756-net-next-net-dsa-qca8k-move-regmap-init-in-probe-and-set-it.patch index f873b70d0f..44d938c53e 100644 --- a/target/linux/generic/backport-5.15/756-net-next-net-dsa-qca8k-move-regmap-init-in-probe-and-set-it.patch +++ b/target/linux/generic/backport-5.15/756-net-next-net-dsa-qca8k-move-regmap-init-in-probe-and-set-it.patch @@ -29,7 +29,7 @@ Signed-off-by: David S. Miller ret = qca8k_setup_mdio_bus(priv); if (ret) return ret; -@@ -2077,6 +2071,14 @@ qca8k_sw_probe(struct mdio_device *mdiod +@@ -2096,6 +2090,14 @@ qca8k_sw_probe(struct mdio_device *mdiod gpiod_set_value_cansleep(priv->reset_gpio, 0); } diff --git a/target/linux/generic/backport-5.15/758-net-next-net-dsa-qca8k-add-additional-MIB-counter-and-.patch b/target/linux/generic/backport-5.15/758-net-next-net-dsa-qca8k-add-additional-MIB-counter-and-.patch index 1465d1f35d..c8c050933b 100644 --- a/target/linux/generic/backport-5.15/758-net-next-net-dsa-qca8k-add-additional-MIB-counter-and-.patch +++ b/target/linux/generic/backport-5.15/758-net-next-net-dsa-qca8k-add-additional-MIB-counter-and-.patch @@ -80,7 +80,7 @@ Signed-off-by: David S. Miller } static int -@@ -2154,14 +2168,17 @@ static SIMPLE_DEV_PM_OPS(qca8k_pm_ops, +@@ -2173,14 +2187,17 @@ static SIMPLE_DEV_PM_OPS(qca8k_pm_ops, static const struct qca8k_match_data qca8327 = { .id = QCA8K_ID_QCA8327, .reduced_package = true, diff --git a/target/linux/generic/backport-5.15/759-net-next-net-dsa-qca8k-add-support-for-port-fast-aging.patch b/target/linux/generic/backport-5.15/759-net-next-net-dsa-qca8k-add-support-for-port-fast-aging.patch index 973446ec57..8ad7ab472d 100644 --- a/target/linux/generic/backport-5.15/759-net-next-net-dsa-qca8k-add-support-for-port-fast-aging.patch +++ b/target/linux/generic/backport-5.15/759-net-next-net-dsa-qca8k-add-support-for-port-fast-aging.patch @@ -33,7 +33,7 @@ Signed-off-by: David S. Miller static int qca8k_port_enable(struct dsa_switch *ds, int port, struct phy_device *phy) -@@ -1998,6 +2008,7 @@ static const struct dsa_switch_ops qca8k +@@ -2017,6 +2027,7 @@ static const struct dsa_switch_ops qca8k .port_stp_state_set = qca8k_port_stp_state_set, .port_bridge_join = qca8k_port_bridge_join, .port_bridge_leave = qca8k_port_bridge_leave, diff --git a/target/linux/generic/backport-5.15/760-net-next-net-dsa-qca8k-add-set_ageing_time-support.patch b/target/linux/generic/backport-5.15/760-net-next-net-dsa-qca8k-add-set_ageing_time-support.patch index 29530065a1..659e482405 100644 --- a/target/linux/generic/backport-5.15/760-net-next-net-dsa-qca8k-add-set_ageing_time-support.patch +++ b/target/linux/generic/backport-5.15/760-net-next-net-dsa-qca8k-add-set_ageing_time-support.patch @@ -56,7 +56,7 @@ Signed-off-by: David S. Miller qca8k_port_enable(struct dsa_switch *ds, int port, struct phy_device *phy) { -@@ -1999,6 +2023,7 @@ static const struct dsa_switch_ops qca8k +@@ -2018,6 +2042,7 @@ static const struct dsa_switch_ops qca8k .get_strings = qca8k_get_strings, .get_ethtool_stats = qca8k_get_ethtool_stats, .get_sset_count = qca8k_get_sset_count, diff --git a/target/linux/generic/backport-5.15/761-net-next-net-dsa-qca8k-add-support-for-mdb_add-del.patch b/target/linux/generic/backport-5.15/761-net-next-net-dsa-qca8k-add-support-for-mdb_add-del.patch index fa022d7ae6..8b97939ecb 100644 --- a/target/linux/generic/backport-5.15/761-net-next-net-dsa-qca8k-add-support-for-mdb_add-del.patch +++ b/target/linux/generic/backport-5.15/761-net-next-net-dsa-qca8k-add-support-for-mdb_add-del.patch @@ -102,7 +102,7 @@ Signed-off-by: David S. Miller qca8k_vlan_access(struct qca8k_priv *priv, enum qca8k_vlan_cmd cmd, u16 vid) { u32 reg; -@@ -1930,6 +2005,28 @@ qca8k_port_fdb_dump(struct dsa_switch *d +@@ -1949,6 +2024,28 @@ qca8k_port_fdb_dump(struct dsa_switch *d } static int @@ -131,7 +131,7 @@ Signed-off-by: David S. Miller qca8k_port_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering, struct netlink_ext_ack *extack) { -@@ -2037,6 +2134,8 @@ static const struct dsa_switch_ops qca8k +@@ -2056,6 +2153,8 @@ static const struct dsa_switch_ops qca8k .port_fdb_add = qca8k_port_fdb_add, .port_fdb_del = qca8k_port_fdb_del, .port_fdb_dump = qca8k_port_fdb_dump, diff --git a/target/linux/generic/backport-5.15/762-net-next-net-dsa-qca8k-add-support-for-mirror-mode.patch b/target/linux/generic/backport-5.15/762-net-next-net-dsa-qca8k-add-support-for-mirror-mode.patch index 69e9b381c2..dc5a22935f 100644 --- a/target/linux/generic/backport-5.15/762-net-next-net-dsa-qca8k-add-support-for-mirror-mode.patch +++ b/target/linux/generic/backport-5.15/762-net-next-net-dsa-qca8k-add-support-for-mirror-mode.patch @@ -17,7 +17,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/qca8k.c +++ b/drivers/net/dsa/qca8k.c -@@ -2027,6 +2027,99 @@ qca8k_port_mdb_del(struct dsa_switch *ds +@@ -2046,6 +2046,99 @@ qca8k_port_mdb_del(struct dsa_switch *ds } static int @@ -117,7 +117,7 @@ Signed-off-by: David S. Miller qca8k_port_vlan_filtering(struct dsa_switch *ds, int port, bool vlan_filtering, struct netlink_ext_ack *extack) { -@@ -2136,6 +2229,8 @@ static const struct dsa_switch_ops qca8k +@@ -2155,6 +2248,8 @@ static const struct dsa_switch_ops qca8k .port_fdb_dump = qca8k_port_fdb_dump, .port_mdb_add = qca8k_port_mdb_add, .port_mdb_del = qca8k_port_mdb_del, diff --git a/target/linux/generic/backport-5.15/763-net-next-net-dsa-qca8k-add-LAG-support.patch b/target/linux/generic/backport-5.15/763-net-next-net-dsa-qca8k-add-LAG-support.patch index bfc77db184..b53f1288d5 100644 --- a/target/linux/generic/backport-5.15/763-net-next-net-dsa-qca8k-add-LAG-support.patch +++ b/target/linux/generic/backport-5.15/763-net-next-net-dsa-qca8k-add-LAG-support.patch @@ -35,7 +35,7 @@ Signed-off-by: David S. Miller return 0; } -@@ -2207,6 +2210,178 @@ qca8k_get_tag_protocol(struct dsa_switch +@@ -2226,6 +2229,178 @@ qca8k_get_tag_protocol(struct dsa_switch return DSA_TAG_PROTO_QCA; } @@ -214,7 +214,7 @@ Signed-off-by: David S. Miller static const struct dsa_switch_ops qca8k_switch_ops = { .get_tag_protocol = qca8k_get_tag_protocol, .setup = qca8k_setup, -@@ -2240,6 +2415,8 @@ static const struct dsa_switch_ops qca8k +@@ -2259,6 +2434,8 @@ static const struct dsa_switch_ops qca8k .phylink_mac_link_down = qca8k_phylink_mac_link_down, .phylink_mac_link_up = qca8k_phylink_mac_link_up, .get_phy_flags = qca8k_get_phy_flags, diff --git a/target/linux/generic/backport-5.15/764-net-next-net-dsa-qca8k-fix-warning-in-LAG-feature.patch b/target/linux/generic/backport-5.15/764-net-next-net-dsa-qca8k-fix-warning-in-LAG-feature.patch index 8c0a990b0d..7d811be11c 100644 --- a/target/linux/generic/backport-5.15/764-net-next-net-dsa-qca8k-fix-warning-in-LAG-feature.patch +++ b/target/linux/generic/backport-5.15/764-net-next-net-dsa-qca8k-fix-warning-in-LAG-feature.patch @@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/dsa/qca8k.c +++ b/drivers/net/dsa/qca8k.c -@@ -2232,7 +2232,7 @@ qca8k_lag_can_offload(struct dsa_switch +@@ -2251,7 +2251,7 @@ qca8k_lag_can_offload(struct dsa_switch if (info->tx_type != NETDEV_LAG_TX_TYPE_HASH) return false; @@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski info->hash_type != NETDEV_LAG_HASH_L23) return false; -@@ -2246,8 +2246,8 @@ qca8k_lag_setup_hash(struct dsa_switch * +@@ -2265,8 +2265,8 @@ qca8k_lag_setup_hash(struct dsa_switch * { struct qca8k_priv *priv = ds->priv; bool unique_lag = true; diff --git a/target/linux/generic/backport-5.15/766-09-net-dsa-qca8k-add-tracking-state-of-master-port.patch b/target/linux/generic/backport-5.15/766-09-net-dsa-qca8k-add-tracking-state-of-master-port.patch index ff8fdca512..eb21cc3912 100644 --- a/target/linux/generic/backport-5.15/766-09-net-dsa-qca8k-add-tracking-state-of-master-port.patch +++ b/target/linux/generic/backport-5.15/766-09-net-dsa-qca8k-add-tracking-state-of-master-port.patch @@ -26,7 +26,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/dsa/qca8k.c +++ b/drivers/net/dsa/qca8k.c -@@ -2382,6 +2382,20 @@ qca8k_port_lag_leave(struct dsa_switch * +@@ -2401,6 +2401,20 @@ qca8k_port_lag_leave(struct dsa_switch * return qca8k_lag_refresh_portmap(ds, port, lag, true); } @@ -47,7 +47,7 @@ Signed-off-by: David S. Miller static const struct dsa_switch_ops qca8k_switch_ops = { .get_tag_protocol = qca8k_get_tag_protocol, .setup = qca8k_setup, -@@ -2417,6 +2431,7 @@ static const struct dsa_switch_ops qca8k +@@ -2436,6 +2450,7 @@ static const struct dsa_switch_ops qca8k .get_phy_flags = qca8k_get_phy_flags, .port_lag_join = qca8k_port_lag_join, .port_lag_leave = qca8k_port_lag_leave, diff --git a/target/linux/generic/backport-5.15/766-10-net-dsa-qca8k-add-support-for-mgmt-read-write-in-Eth.patch b/target/linux/generic/backport-5.15/766-10-net-dsa-qca8k-add-support-for-mgmt-read-write-in-Eth.patch index 43656ad79d..07c5ba4621 100644 --- a/target/linux/generic/backport-5.15/766-10-net-dsa-qca8k-add-support-for-mgmt-read-write-in-Eth.patch +++ b/target/linux/generic/backport-5.15/766-10-net-dsa-qca8k-add-support-for-mgmt-read-write-in-Eth.patch @@ -276,7 +276,7 @@ Signed-off-by: David S. Miller qca8k_split_addr(reg, &r1, &r2, &page); mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED); -@@ -2393,7 +2591,30 @@ qca8k_master_change(struct dsa_switch *d +@@ -2412,7 +2610,30 @@ qca8k_master_change(struct dsa_switch *d if (dp->index != 0) return; @@ -307,7 +307,7 @@ Signed-off-by: David S. Miller } static const struct dsa_switch_ops qca8k_switch_ops = { -@@ -2432,6 +2653,7 @@ static const struct dsa_switch_ops qca8k +@@ -2451,6 +2672,7 @@ static const struct dsa_switch_ops qca8k .port_lag_join = qca8k_port_lag_join, .port_lag_leave = qca8k_port_lag_leave, .master_state_change = qca8k_master_change, @@ -315,7 +315,7 @@ Signed-off-by: David S. Miller }; static int qca8k_read_switch_id(struct qca8k_priv *priv) -@@ -2511,6 +2733,9 @@ qca8k_sw_probe(struct mdio_device *mdiod +@@ -2530,6 +2752,9 @@ qca8k_sw_probe(struct mdio_device *mdiod if (!priv->ds) return -ENOMEM; diff --git a/target/linux/generic/backport-5.15/766-11-net-dsa-qca8k-add-support-for-mib-autocast-in-Ethern.patch b/target/linux/generic/backport-5.15/766-11-net-dsa-qca8k-add-support-for-mib-autocast-in-Ethern.patch index c4bc2b3646..0dcf279433 100644 --- a/target/linux/generic/backport-5.15/766-11-net-dsa-qca8k-add-support-for-mib-autocast-in-Ethern.patch +++ b/target/linux/generic/backport-5.15/766-11-net-dsa-qca8k-add-support-for-mib-autocast-in-Ethern.patch @@ -147,7 +147,7 @@ Signed-off-by: David S. Miller match_data = of_device_get_match_data(priv->dev); for (i = 0; i < match_data->mib_count; i++) { -@@ -2592,9 +2690,11 @@ qca8k_master_change(struct dsa_switch *d +@@ -2611,9 +2709,11 @@ qca8k_master_change(struct dsa_switch *d return; mutex_lock(&priv->mgmt_eth_data.mutex); @@ -159,7 +159,7 @@ Signed-off-by: David S. Miller mutex_unlock(&priv->mgmt_eth_data.mutex); } -@@ -2608,6 +2708,7 @@ static int qca8k_connect_tag_protocol(st +@@ -2627,6 +2727,7 @@ static int qca8k_connect_tag_protocol(st tagger_data = ds->tagger_data; tagger_data->rw_reg_ack_handler = qca8k_rw_reg_ack_handler; @@ -167,7 +167,7 @@ Signed-off-by: David S. Miller break; default: -@@ -2736,6 +2837,9 @@ qca8k_sw_probe(struct mdio_device *mdiod +@@ -2755,6 +2856,9 @@ qca8k_sw_probe(struct mdio_device *mdiod mutex_init(&priv->mgmt_eth_data.mutex); init_completion(&priv->mgmt_eth_data.rw_done); diff --git a/target/linux/generic/backport-5.15/766-13-net-dsa-qca8k-move-page-cache-to-driver-priv.patch b/target/linux/generic/backport-5.15/766-13-net-dsa-qca8k-move-page-cache-to-driver-priv.patch index dc8160966c..4ac0bc32fd 100644 --- a/target/linux/generic/backport-5.15/766-13-net-dsa-qca8k-move-page-cache-to-driver-priv.patch +++ b/target/linux/generic/backport-5.15/766-13-net-dsa-qca8k-move-page-cache-to-driver-priv.patch @@ -172,7 +172,7 @@ Signed-off-by: David S. Miller if (ret < 0) return 0xffff; -@@ -3041,6 +3037,8 @@ qca8k_sw_probe(struct mdio_device *mdiod +@@ -3060,6 +3056,8 @@ qca8k_sw_probe(struct mdio_device *mdiod return PTR_ERR(priv->regmap); } diff --git a/target/linux/generic/backport-5.15/766-14-net-dsa-qca8k-cache-lo-and-hi-for-mdio-write.patch b/target/linux/generic/backport-5.15/766-14-net-dsa-qca8k-cache-lo-and-hi-for-mdio-write.patch index 2d483730c9..e2cb2721ce 100644 --- a/target/linux/generic/backport-5.15/766-14-net-dsa-qca8k-cache-lo-and-hi-for-mdio-write.patch +++ b/target/linux/generic/backport-5.15/766-14-net-dsa-qca8k-cache-lo-and-hi-for-mdio-write.patch @@ -139,7 +139,7 @@ Signed-off-by: David S. Miller mutex_unlock(&bus->mdio_lock); -@@ -3038,6 +3073,8 @@ qca8k_sw_probe(struct mdio_device *mdiod +@@ -3057,6 +3092,8 @@ qca8k_sw_probe(struct mdio_device *mdiod } priv->mdio_cache.page = 0xffff; diff --git a/target/linux/generic/hack-5.10/221-module_exports.patch b/target/linux/generic/hack-5.10/221-module_exports.patch index 8ca464e3b2..11f473f09f 100644 --- a/target/linux/generic/hack-5.10/221-module_exports.patch +++ b/target/linux/generic/hack-5.10/221-module_exports.patch @@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau .previous --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -367,7 +367,7 @@ targets += $(lib-y) $(always-y) $(MAKECM +@@ -373,7 +373,7 @@ targets += $(lib-y) $(always-y) $(MAKECM # Linker scripts preprocessor (.lds.S -> .lds) # --------------------------------------------------------------------------- quiet_cmd_cpp_lds_S = LDS $@ diff --git a/target/linux/generic/hack-5.15/204-module_strip.patch b/target/linux/generic/hack-5.15/204-module_strip.patch index bd7fc71060..dee240d9f9 100644 --- a/target/linux/generic/hack-5.15/204-module_strip.patch +++ b/target/linux/generic/hack-5.15/204-module_strip.patch @@ -120,7 +120,7 @@ Signed-off-by: Felix Fietkau #ifdef CONFIG_MODVERSIONS -@@ -3227,9 +3229,11 @@ static int setup_load_info(struct load_i +@@ -3266,9 +3268,11 @@ static int setup_load_info(struct load_i static int check_modinfo(struct module *mod, struct load_info *info, int flags) { @@ -133,7 +133,7 @@ Signed-off-by: Felix Fietkau if (flags & MODULE_INIT_IGNORE_VERMAGIC) modmagic = NULL; -@@ -3250,6 +3254,7 @@ static int check_modinfo(struct module * +@@ -3289,6 +3293,7 @@ static int check_modinfo(struct module * mod->name); add_taint_module(mod, TAINT_OOT_MODULE, LOCKDEP_STILL_OK); } diff --git a/target/linux/generic/hack-5.15/205-kconfig-exit.patch b/target/linux/generic/hack-5.15/205-kconfig-exit.patch index 9f98c16b07..9f3bb8f311 100644 --- a/target/linux/generic/hack-5.15/205-kconfig-exit.patch +++ b/target/linux/generic/hack-5.15/205-kconfig-exit.patch @@ -7,8 +7,6 @@ Subject: [PATCH] scripts/Kconfig: Kconfig exit scripts/kconfig/conf.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/scripts/kconfig/conf.c b/scripts/kconfig/conf.c -index 5d84b44a2a2a..d279d95aac92 100644 --- a/scripts/kconfig/conf.c +++ b/scripts/kconfig/conf.c @@ -435,6 +435,8 @@ static int conf_sym(struct menu *menu) @@ -20,5 +18,3 @@ index 5d84b44a2a2a..d279d95aac92 100644 newval = oldval; break; case '?': --- - diff --git a/target/linux/generic/hack-5.15/221-module_exports.patch b/target/linux/generic/hack-5.15/221-module_exports.patch index 47f013de4f..204027d769 100644 --- a/target/linux/generic/hack-5.15/221-module_exports.patch +++ b/target/linux/generic/hack-5.15/221-module_exports.patch @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau "__kstrtabns_" #sym ": \n" \ --- a/include/asm-generic/export.h +++ b/include/asm-generic/export.h -@@ -26,6 +26,12 @@ struct kernel_symbol { +@@ -26,6 +26,12 @@ #endif .endm @@ -104,7 +104,7 @@ Signed-off-by: Felix Fietkau /* * note on .section use: we specify progbits since usage of the "M" (SHF_MERGE) * section flag requires it. Use '%progbits' instead of '@progbits' since the -@@ -42,7 +42,7 @@ struct kernel_symbol { +@@ -39,7 +45,7 @@ __ksymtab_\name: __put \val, __kstrtab_\name .previous @@ -115,7 +115,7 @@ Signed-off-by: Felix Fietkau .previous --- a/scripts/Makefile.build +++ b/scripts/Makefile.build -@@ -396,7 +396,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa +@@ -397,7 +397,7 @@ targets += $(real-dtb-y) $(lib-y) $(alwa # Linker scripts preprocessor (.lds.S -> .lds) # --------------------------------------------------------------------------- quiet_cmd_cpp_lds_S = LDS $@ diff --git a/target/linux/generic/hack-5.15/249-udp-tunnel-selection.patch b/target/linux/generic/hack-5.15/249-udp-tunnel-selection.patch index 6a5d3b3f86..5e154004d0 100644 --- a/target/linux/generic/hack-5.15/249-udp-tunnel-selection.patch +++ b/target/linux/generic/hack-5.15/249-udp-tunnel-selection.patch @@ -7,8 +7,6 @@ Subject: [PATCH] net/ipv4: add udp tunnel tristate string net/ipv4/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/net/ipv4/Kconfig b/net/ipv4/Kconfig -index 87983e70f03f..426b44d39277 100644 --- a/net/ipv4/Kconfig +++ b/net/ipv4/Kconfig @@ -315,7 +315,7 @@ config NET_IPVTI @@ -20,5 +18,3 @@ index 87983e70f03f..426b44d39277 100644 select NET_IP_TUNNEL default n --- - diff --git a/target/linux/generic/hack-5.15/253-ksmbd-config.patch b/target/linux/generic/hack-5.15/253-ksmbd-config.patch index 820197bb2b..a29cf3bf61 100644 --- a/target/linux/generic/hack-5.15/253-ksmbd-config.patch +++ b/target/linux/generic/hack-5.15/253-ksmbd-config.patch @@ -8,8 +8,6 @@ Subject: [PATCH] Kconfig: add tristate for OID and ASNI string lib/Kconfig | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) -diff --git a/init/Kconfig b/init/Kconfig -index 5a2514bbb11d..32ba9490a6e4 100644 --- a/init/Kconfig +++ b/init/Kconfig @@ -2384,7 +2384,7 @@ config PADATA @@ -21,8 +19,6 @@ index 5a2514bbb11d..32ba9490a6e4 100644 help Build a simple ASN.1 grammar compiler that produces a bytecode output that can be interpreted by the ASN.1 stream decoder and used to -diff --git a/lib/Kconfig b/lib/Kconfig -index d6c6cfd1fac9..6595c53abd3c 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -614,7 +614,7 @@ config LIBFDT @@ -34,5 +30,3 @@ index d6c6cfd1fac9..6595c53abd3c 100644 help Enable fast lookup object identifier registry. --- - diff --git a/target/linux/generic/hack-5.15/261-lib-arc4-unhide.patch b/target/linux/generic/hack-5.15/261-lib-arc4-unhide.patch index 65dd7ff126..ee923c73f7 100644 --- a/target/linux/generic/hack-5.15/261-lib-arc4-unhide.patch +++ b/target/linux/generic/hack-5.15/261-lib-arc4-unhide.patch @@ -11,8 +11,6 @@ from backports. lib/crypto/Kconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/lib/crypto/Kconfig b/lib/crypto/Kconfig -index 5056663c2aff..8a4d4e5bcd7a 100644 --- a/lib/crypto/Kconfig +++ b/lib/crypto/Kconfig @@ -6,7 +6,7 @@ config CRYPTO_LIB_AES @@ -24,5 +22,3 @@ index 5056663c2aff..8a4d4e5bcd7a 100644 config CRYPTO_ARCH_HAVE_LIB_BLAKE2S bool --- - diff --git a/target/linux/generic/hack-5.15/410-block-fit-partition-parser.patch b/target/linux/generic/hack-5.15/410-block-fit-partition-parser.patch index b31479e5ac..96c89f41c4 100644 --- a/target/linux/generic/hack-5.15/410-block-fit-partition-parser.patch +++ b/target/linux/generic/hack-5.15/410-block-fit-partition-parser.patch @@ -17,11 +17,9 @@ Subject: [PATCH] kernel: add block fit partition parser include/linux/msdos_partition.h | 1 + 11 files changed, 57 insertions(+) -diff --git a/block/blk.h b/block/blk.h -index aab72194d226..ed23a4fac950 100644 --- a/block/blk.h +++ b/block/blk.h -@@ -354,6 +354,8 @@ void blk_free_ext_minor(unsigned int minor); +@@ -354,6 +354,8 @@ void blk_free_ext_minor(unsigned int min #define ADDPART_FLAG_NONE 0 #define ADDPART_FLAG_RAID 1 #define ADDPART_FLAG_WHOLEDISK 2 @@ -30,8 +28,6 @@ index aab72194d226..ed23a4fac950 100644 int bdev_add_partition(struct gendisk *disk, int partno, sector_t start, sector_t length); int bdev_del_partition(struct gendisk *disk, int partno); -diff --git a/block/partitions/Kconfig b/block/partitions/Kconfig -index 278593b8e4e9..d4cd2f36ea95 100644 --- a/block/partitions/Kconfig +++ b/block/partitions/Kconfig @@ -101,6 +101,13 @@ config ATARI_PARTITION @@ -48,8 +44,6 @@ index 278593b8e4e9..d4cd2f36ea95 100644 config IBM_PARTITION bool "IBM disk label and partition support" depends on PARTITION_ADVANCED && S390 -diff --git a/block/partitions/Makefile b/block/partitions/Makefile -index a7f05cdb02a8..d319eb1deba9 100644 --- a/block/partitions/Makefile +++ b/block/partitions/Makefile @@ -8,6 +8,7 @@ obj-$(CONFIG_ACORN_PARTITION) += acorn.o @@ -60,11 +54,9 @@ index a7f05cdb02a8..d319eb1deba9 100644 obj-$(CONFIG_CMDLINE_PARTITION) += cmdline.o obj-$(CONFIG_MAC_PARTITION) += mac.o obj-$(CONFIG_LDM_PARTITION) += ldm.o -diff --git a/block/partitions/check.h b/block/partitions/check.h -index d5b28e309d64..1b2fd18b2480 100644 --- a/block/partitions/check.h +++ b/block/partitions/check.h -@@ -58,6 +58,7 @@ int amiga_partition(struct parsed_partitions *state); +@@ -58,6 +58,7 @@ int amiga_partition(struct parsed_partit int atari_partition(struct parsed_partitions *state); int cmdline_partition(struct parsed_partitions *state); int efi_partition(struct parsed_partitions *state); @@ -72,14 +64,12 @@ index d5b28e309d64..1b2fd18b2480 100644 int ibm_partition(struct parsed_partitions *); int karma_partition(struct parsed_partitions *state); int ldm_partition(struct parsed_partitions *state); -@@ -68,3 +69,5 @@ int sgi_partition(struct parsed_partitions *state); +@@ -68,3 +69,5 @@ int sgi_partition(struct parsed_partitio int sun_partition(struct parsed_partitions *state); int sysv68_partition(struct parsed_partitions *state); int ultrix_partition(struct parsed_partitions *state); + +int parse_fit_partitions(struct parsed_partitions *state, u64 start_sector, u64 nr_sectors, int *slot, int add_remain); -diff --git a/block/partitions/core.c b/block/partitions/core.c -index b9e9af84f518..176f7fe79c56 100644 --- a/block/partitions/core.c +++ b/block/partitions/core.c @@ -12,6 +12,10 @@ @@ -93,7 +83,7 @@ index b9e9af84f518..176f7fe79c56 100644 #include "check.h" static int (*check_part[])(struct parsed_partitions *) = { -@@ -48,6 +52,9 @@ static int (*check_part[])(struct parsed_partitions *) = { +@@ -48,6 +52,9 @@ static int (*check_part[])(struct parsed #ifdef CONFIG_EFI_PARTITION efi_partition, /* this must come before msdos */ #endif @@ -103,7 +93,7 @@ index b9e9af84f518..176f7fe79c56 100644 #ifdef CONFIG_SGI_PARTITION sgi_partition, #endif -@@ -408,6 +415,11 @@ static struct block_device *add_partition(struct gendisk *disk, int partno, +@@ -408,6 +415,11 @@ static struct block_device *add_partitio goto out_del; } @@ -115,7 +105,7 @@ index b9e9af84f518..176f7fe79c56 100644 /* everything is up and running, commence */ err = xa_insert(&disk->part_tbl, partno, bdev, GFP_KERNEL); if (err) -@@ -598,6 +610,11 @@ static bool blk_add_partition(struct gendisk *disk, +@@ -598,6 +610,11 @@ static bool blk_add_partition(struct gen (state->parts[p].flags & ADDPART_FLAG_RAID)) md_autodetect_dev(part->bd_dev); @@ -127,11 +117,9 @@ index b9e9af84f518..176f7fe79c56 100644 return true; } -diff --git a/block/partitions/efi.c b/block/partitions/efi.c -index 7ca5c4c374d4..9ecd2b3d5674 100644 --- a/block/partitions/efi.c +++ b/block/partitions/efi.c -@@ -716,6 +716,9 @@ int efi_partition(struct parsed_partitions *state) +@@ -716,6 +716,9 @@ int efi_partition(struct parsed_partitio gpt_entry *ptes = NULL; u32 i; unsigned ssz = queue_logical_block_size(state->disk->queue) / 512; @@ -141,7 +129,7 @@ index 7ca5c4c374d4..9ecd2b3d5674 100644 if (!find_valid_gpt(state, &gpt, &ptes) || !gpt || !ptes) { kfree(gpt); -@@ -749,6 +752,11 @@ int efi_partition(struct parsed_partitions *state) +@@ -749,6 +752,11 @@ int efi_partition(struct parsed_partitio ARRAY_SIZE(ptes[i].partition_name)); utf16_le_to_7bit(ptes[i].partition_name, label_max, info->volname); state->parts[i + 1].has_info = true; @@ -153,8 +141,6 @@ index 7ca5c4c374d4..9ecd2b3d5674 100644 } kfree(ptes); kfree(gpt); -diff --git a/block/partitions/efi.h b/block/partitions/efi.h -index 8cc2b88d0aa8..b5807e35bafc 100644 --- a/block/partitions/efi.h +++ b/block/partitions/efi.h @@ -52,6 +52,9 @@ @@ -167,11 +153,9 @@ index 8cc2b88d0aa8..b5807e35bafc 100644 typedef struct _gpt_header { __le64 signature; -diff --git a/block/partitions/msdos.c b/block/partitions/msdos.c -index b5d5c229cc3b..ff7e74911359 100644 --- a/block/partitions/msdos.c +++ b/block/partitions/msdos.c -@@ -564,6 +564,15 @@ static void parse_minix(struct parsed_partitions *state, +@@ -564,6 +564,15 @@ static void parse_minix(struct parsed_pa #endif /* CONFIG_MINIX_SUBPARTITION */ } @@ -195,11 +179,9 @@ index b5d5c229cc3b..ff7e74911359 100644 {0, NULL}, }; -diff --git a/drivers/mtd/mtd_blkdevs.c b/drivers/mtd/mtd_blkdevs.c -index 65470d1b8fc8..5dd9b54d6555 100644 --- a/drivers/mtd/mtd_blkdevs.c +++ b/drivers/mtd/mtd_blkdevs.c -@@ -345,6 +345,8 @@ int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new) +@@ -345,6 +345,8 @@ int add_mtd_blktrans_dev(struct mtd_blkt gd->first_minor = (new->devnum) << tr->part_bits; gd->minors = 1 << tr->part_bits; gd->fops = &mtd_block_ops; @@ -208,11 +190,9 @@ index 65470d1b8fc8..5dd9b54d6555 100644 if (tr->part_bits) if (new->devnum < 26) -diff --git a/drivers/mtd/ubi/block.c b/drivers/mtd/ubi/block.c -index 57b984dd73b4..5982070e470b 100644 --- a/drivers/mtd/ubi/block.c +++ b/drivers/mtd/ubi/block.c -@@ -428,6 +428,9 @@ int ubiblock_create(struct ubi_volume_info *vi) +@@ -428,6 +428,9 @@ int ubiblock_create(struct ubi_volume_in goto out_cleanup_disk; } gd->private_data = dev; @@ -222,8 +202,6 @@ index 57b984dd73b4..5982070e470b 100644 sprintf(gd->disk_name, "ubiblock%d_%d", dev->ubi_num, dev->vol_id); set_capacity(gd, disk_capacity); dev->gd = gd; -diff --git a/include/linux/msdos_partition.h b/include/linux/msdos_partition.h -index 2cb82db2a43c..c15b6c759aca 100644 --- a/include/linux/msdos_partition.h +++ b/include/linux/msdos_partition.h @@ -31,6 +31,7 @@ enum msdos_sys_ind { @@ -234,5 +212,3 @@ index 2cb82db2a43c..c15b6c759aca 100644 SOLARIS_X86_PARTITION = 0x82, /* also Linux swap partitions */ NEW_SOLARIS_X86_PARTITION = 0xbf, --- - diff --git a/target/linux/generic/hack-5.15/430-mtk-bmt-support.patch b/target/linux/generic/hack-5.15/430-mtk-bmt-support.patch index 48181950b7..2a83f46e0e 100644 --- a/target/linux/generic/hack-5.15/430-mtk-bmt-support.patch +++ b/target/linux/generic/hack-5.15/430-mtk-bmt-support.patch @@ -8,8 +8,6 @@ Subject: [PATCH] mtd/nand: add MediaTek NAND bad block managment table drivers/mtd/nand/Makefile | 1 + 2 files changed, 5 insertions(+) -diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig -index b40455234cbd..72ef18c59cee 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -46,6 +46,10 @@ config MTD_NAND_ECC_SW_BCH @@ -23,8 +21,6 @@ index b40455234cbd..72ef18c59cee 100644 endmenu endmenu -diff --git a/drivers/mtd/nand/Makefile b/drivers/mtd/nand/Makefile -index 1c0b46960eb1..b9d97626bb47 100644 --- a/drivers/mtd/nand/Makefile +++ b/drivers/mtd/nand/Makefile @@ -2,6 +2,7 @@ @@ -35,5 +31,3 @@ index 1c0b46960eb1..b9d97626bb47 100644 obj-y += onenand/ obj-y += raw/ --- - diff --git a/target/linux/generic/hack-5.15/600-bridge_offload.patch b/target/linux/generic/hack-5.15/600-bridge_offload.patch index 7e87d9a3fd..9d71a741b2 100644 --- a/target/linux/generic/hack-5.15/600-bridge_offload.patch +++ b/target/linux/generic/hack-5.15/600-bridge_offload.patch @@ -23,8 +23,6 @@ Subject: [PATCH] net/bridge: add bridge offload create mode 100644 net/bridge/br_offload.c create mode 100644 net/bridge/br_private_offload.h -diff --git a/include/linux/if_bridge.h b/include/linux/if_bridge.h -index 18d3b264b754..944630df0ec3 100644 --- a/include/linux/if_bridge.h +++ b/include/linux/if_bridge.h @@ -59,6 +59,7 @@ struct br_ip_list { @@ -35,8 +33,6 @@ index 18d3b264b754..944630df0ec3 100644 #define BR_DEFAULT_AGEING_TIME (300 * HZ) -diff --git a/net/bridge/Makefile b/net/bridge/Makefile -index 7fb9a021873b..0ebf3665c216 100644 --- a/net/bridge/Makefile +++ b/net/bridge/Makefile @@ -5,7 +5,7 @@ @@ -48,8 +44,6 @@ index 7fb9a021873b..0ebf3665c216 100644 br_ioctl.o br_stp.o br_stp_bpdu.o \ br_stp_if.o br_stp_timer.o br_netlink.o \ br_netlink_tunnel.o br_arp_nd_proxy.o -diff --git a/net/bridge/br.c b/net/bridge/br.c -index d3a32c6813e0..42e4d4fec604 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c @@ -18,6 +18,7 @@ @@ -71,7 +65,7 @@ index d3a32c6813e0..42e4d4fec604 100644 err = register_pernet_subsys(&br_net_ops); if (err) goto err_out1; -@@ -430,6 +435,8 @@ static int __init br_init(void) +@@ -430,6 +435,8 @@ err_out3: err_out2: unregister_pernet_subsys(&br_net_ops); err_out1: @@ -88,11 +82,9 @@ index d3a32c6813e0..42e4d4fec604 100644 br_fdb_fini(); } -diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c -index 8d6bab244c4a..d69d8e9ed7aa 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c -@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev) +@@ -524,6 +524,8 @@ void br_dev_setup(struct net_device *dev br->bridge_hello_time = br->hello_time = 2 * HZ; br->bridge_forward_delay = br->forward_delay = 15 * HZ; br->bridge_ageing_time = br->ageing_time = BR_DEFAULT_AGEING_TIME; @@ -101,8 +93,6 @@ index 8d6bab244c4a..d69d8e9ed7aa 100644 dev->max_mtu = ETH_MAX_MTU; br_netfilter_rtable_init(br); -diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c -index 46812b659710..20ea8f75d140 100644 --- a/net/bridge/br_fdb.c +++ b/net/bridge/br_fdb.c @@ -23,6 +23,7 @@ @@ -113,7 +103,7 @@ index 46812b659710..20ea8f75d140 100644 static const struct rhashtable_params br_fdb_rht_params = { .head_offset = offsetof(struct net_bridge_fdb_entry, rhnode), -@@ -518,6 +519,8 @@ static struct net_bridge_fdb_entry *fdb_create(struct net_bridge *br, +@@ -518,6 +519,8 @@ static struct net_bridge_fdb_entry *fdb_ fdb->key.vlan_id = vid; fdb->flags = flags; fdb->updated = fdb->used = jiffies; @@ -122,7 +112,7 @@ index 46812b659710..20ea8f75d140 100644 if (rhashtable_lookup_insert_fast(&br->fdb_hash_tbl, &fdb->rhnode, br_fdb_rht_params)) { -@@ -794,6 +797,8 @@ static void fdb_notify(struct net_bridge *br, +@@ -794,6 +797,8 @@ static void fdb_notify(struct net_bridge struct sk_buff *skb; int err = -ENOBUFS; @@ -131,8 +121,6 @@ index 46812b659710..20ea8f75d140 100644 if (swdev_notify) br_switchdev_fdb_notify(br, fdb, type); -diff --git a/net/bridge/br_forward.c b/net/bridge/br_forward.c -index 9fe5c888f27d..6d9025106d9d 100644 --- a/net/bridge/br_forward.c +++ b/net/bridge/br_forward.c @@ -16,6 +16,7 @@ @@ -143,7 +131,7 @@ index 9fe5c888f27d..6d9025106d9d 100644 /* Don't forward packets to originating port or forwarding disabled */ static inline int should_deliver(const struct net_bridge_port *p, -@@ -32,6 +33,8 @@ static inline int should_deliver(const struct net_bridge_port *p, +@@ -32,6 +33,8 @@ static inline int should_deliver(const s int br_dev_queue_push_xmit(struct net *net, struct sock *sk, struct sk_buff *skb) { @@ -152,8 +140,6 @@ index 9fe5c888f27d..6d9025106d9d 100644 skb_push(skb, ETH_HLEN); if (!is_skb_forwardable(skb->dev, skb)) goto drop; -diff --git a/net/bridge/br_if.c b/net/bridge/br_if.c -index 4a02f8bb278a..b1d3295b861c 100644 --- a/net/bridge/br_if.c +++ b/net/bridge/br_if.c @@ -25,6 +25,7 @@ @@ -164,7 +150,7 @@ index 4a02f8bb278a..b1d3295b861c 100644 /* * Determine initial path cost based on speed. -@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(struct net_bridge *br, +@@ -428,7 +429,7 @@ static struct net_bridge_port *new_nbp(s p->path_cost = port_cost(dev); p->priority = 0x8000 >> BR_PORT_BITS; p->port_no = index; @@ -173,7 +159,7 @@ index 4a02f8bb278a..b1d3295b861c 100644 br_init_port(p); br_set_state(p, BR_STATE_DISABLED); br_stp_port_timer_init(p); -@@ -771,6 +772,9 @@ void br_port_flags_change(struct net_bridge_port *p, unsigned long mask) +@@ -771,6 +772,9 @@ void br_port_flags_change(struct net_bri if (mask & BR_NEIGH_SUPPRESS) br_recalculate_neigh_suppress_enabled(br); @@ -183,8 +169,6 @@ index 4a02f8bb278a..b1d3295b861c 100644 } bool br_port_flag_is_set(const struct net_device *dev, unsigned long flag) -diff --git a/net/bridge/br_input.c b/net/bridge/br_input.c -index 65416af73714..b0601e6aed8c 100644 --- a/net/bridge/br_input.c +++ b/net/bridge/br_input.c @@ -22,6 +22,7 @@ @@ -195,7 +179,7 @@ index 65416af73714..b0601e6aed8c 100644 static int br_netif_receive_skb(struct net *net, struct sock *sk, struct sk_buff *skb) -@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *net, struct sock *sk, struct sk_buff *skb +@@ -171,6 +172,7 @@ int br_handle_frame_finish(struct net *n dst->used = now; br_forward(dst->dst, skb, local_rcv, false); } else { @@ -203,7 +187,7 @@ index 65416af73714..b0601e6aed8c 100644 if (!mcast_hit) br_flood(br, skb, pkt_type, local_rcv, false); else -@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_frame(struct sk_buff **pskb) +@@ -304,6 +306,9 @@ static rx_handler_result_t br_handle_fra memset(skb->cb, 0, sizeof(struct br_input_skb_cb)); p = br_port_get_rcu(skb->dev); @@ -213,9 +197,6 @@ index 65416af73714..b0601e6aed8c 100644 if (p->flags & BR_VLAN_TUNNEL) br_handle_ingress_vlan_tunnel(skb, p, nbp_vlan_group_rcu(p)); -diff --git a/net/bridge/br_offload.c b/net/bridge/br_offload.c -new file mode 100644 -index 000000000000..88173ed11093 --- /dev/null +++ b/net/bridge/br_offload.c @@ -0,0 +1,438 @@ @@ -657,8 +638,6 @@ index 000000000000..88173ed11093 +{ + kmem_cache_destroy(offload_cache); +} -diff --git a/net/bridge/br_private.h b/net/bridge/br_private.h -index bd218c2b2cd9..951ba1d993ca 100644 --- a/net/bridge/br_private.h +++ b/net/bridge/br_private.h @@ -268,7 +268,13 @@ struct net_bridge_fdb_entry { @@ -718,9 +697,6 @@ index bd218c2b2cd9..951ba1d993ca 100644 #ifdef CONFIG_NET_SWITCHDEV /* Set if TX data plane offloading is used towards at least one -diff --git a/net/bridge/br_private_offload.h b/net/bridge/br_private_offload.h -new file mode 100644 -index 000000000000..97c13af2866b --- /dev/null +++ b/net/bridge/br_private_offload.h @@ -0,0 +1,23 @@ @@ -747,8 +723,6 @@ index 000000000000..97c13af2866b +} + +#endif -diff --git a/net/bridge/br_stp.c b/net/bridge/br_stp.c -index 1d80f34a139c..b57788b53d24 100644 --- a/net/bridge/br_stp.c +++ b/net/bridge/br_stp.c @@ -12,6 +12,7 @@ @@ -759,7 +733,7 @@ index 1d80f34a139c..b57788b53d24 100644 /* since time values in bpdu are in jiffies and then scaled (1/256) * before sending, make sure that is at least one STP tick. -@@ -52,6 +53,8 @@ void br_set_state(struct net_bridge_port *p, unsigned int state) +@@ -52,6 +53,8 @@ void br_set_state(struct net_bridge_port (unsigned int) p->port_no, p->dev->name, br_port_state_names[p->state]); @@ -768,8 +742,6 @@ index 1d80f34a139c..b57788b53d24 100644 if (p->br->stp_enabled == BR_KERNEL_STP) { switch (p->state) { case BR_STATE_BLOCKING: -diff --git a/net/bridge/br_sysfs_br.c b/net/bridge/br_sysfs_br.c -index 7b0c19772111..814cbfb77d25 100644 --- a/net/bridge/br_sysfs_br.c +++ b/net/bridge/br_sysfs_br.c @@ -18,6 +18,7 @@ @@ -780,7 +752,7 @@ index 7b0c19772111..814cbfb77d25 100644 /* IMPORTANT: new bridge options must be added with netlink support only * please do not add new sysfs entries -@@ -930,6 +931,38 @@ static ssize_t vlan_stats_per_port_store(struct device *d, +@@ -930,6 +931,38 @@ static ssize_t vlan_stats_per_port_store static DEVICE_ATTR_RW(vlan_stats_per_port); #endif @@ -819,7 +791,7 @@ index 7b0c19772111..814cbfb77d25 100644 static struct attribute *bridge_attrs[] = { &dev_attr_forward_delay.attr, &dev_attr_hello_time.attr, -@@ -984,6 +1017,8 @@ static struct attribute *bridge_attrs[] = { +@@ -984,6 +1017,8 @@ static struct attribute *bridge_attrs[] &dev_attr_vlan_stats_enabled.attr, &dev_attr_vlan_stats_per_port.attr, #endif @@ -828,11 +800,9 @@ index 7b0c19772111..814cbfb77d25 100644 NULL }; -diff --git a/net/bridge/br_sysfs_if.c b/net/bridge/br_sysfs_if.c -index 9ee9c60738e2..2b44e5fb19e4 100644 --- a/net/bridge/br_sysfs_if.c +++ b/net/bridge/br_sysfs_if.c -@@ -241,6 +241,7 @@ BRPORT_ATTR_FLAG(broadcast_flood, BR_BCAST_FLOOD); +@@ -241,6 +241,7 @@ BRPORT_ATTR_FLAG(broadcast_flood, BR_BCA BRPORT_ATTR_FLAG(neigh_suppress, BR_NEIGH_SUPPRESS); BRPORT_ATTR_FLAG(isolated, BR_ISOLATED); BRPORT_ATTR_FLAG(bpdu_filter, BR_BPDU_FILTER); @@ -840,7 +810,7 @@ index 9ee9c60738e2..2b44e5fb19e4 100644 #ifdef CONFIG_BRIDGE_IGMP_SNOOPING static ssize_t show_multicast_router(struct net_bridge_port *p, char *buf) -@@ -295,6 +296,7 @@ static const struct brport_attribute *brport_attrs[] = { +@@ -295,6 +296,7 @@ static const struct brport_attribute *br &brport_attr_isolated, &brport_attr_bpdu_filter, &brport_attr_backup_port, @@ -848,8 +818,6 @@ index 9ee9c60738e2..2b44e5fb19e4 100644 NULL }; -diff --git a/net/bridge/br_vlan_tunnel.c b/net/bridge/br_vlan_tunnel.c -index 6399a8a69d07..ffc65dc4eea8 100644 --- a/net/bridge/br_vlan_tunnel.c +++ b/net/bridge/br_vlan_tunnel.c @@ -15,6 +15,7 @@ @@ -860,7 +828,7 @@ index 6399a8a69d07..ffc65dc4eea8 100644 static inline int br_vlan_tunid_cmp(struct rhashtable_compare_arg *arg, const void *ptr) -@@ -180,6 +181,7 @@ void br_handle_ingress_vlan_tunnel(struct sk_buff *skb, +@@ -180,6 +181,7 @@ void br_handle_ingress_vlan_tunnel(struc skb_dst_drop(skb); __vlan_hwaccel_put_tag(skb, p->br->vlan_proto, vlan->vid); @@ -868,7 +836,7 @@ index 6399a8a69d07..ffc65dc4eea8 100644 } int br_handle_egress_vlan_tunnel(struct sk_buff *skb, -@@ -201,6 +203,7 @@ int br_handle_egress_vlan_tunnel(struct sk_buff *skb, +@@ -201,6 +203,7 @@ int br_handle_egress_vlan_tunnel(struct if (err) return err; @@ -876,5 +844,3 @@ index 6399a8a69d07..ffc65dc4eea8 100644 tunnel_dst = rcu_dereference(vlan->tinfo.tunnel_dst); if (tunnel_dst && dst_hold_safe(&tunnel_dst->dst)) skb_dst_set(skb, &tunnel_dst->dst); --- - diff --git a/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch b/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch index 8d7919a6e4..8f2e6e0e0e 100644 --- a/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch +++ b/target/linux/generic/hack-5.15/711-net-dsa-mv88e6xxx-disable-ATU-violation.patch @@ -7,11 +7,9 @@ Subject: [PATCH] net/dsa/mv88e6xxx: disable ATU violation drivers/net/dsa/mv88e6xxx/chip.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c -index cad98ab421d7..790e1887d73b 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c -@@ -2981,6 +2981,9 @@ static int mv88e6xxx_setup_port(struct mv88e6xxx_chip *chip, int port) +@@ -2981,6 +2981,9 @@ static int mv88e6xxx_setup_port(struct m else reg = 1 << port; @@ -21,5 +19,3 @@ index cad98ab421d7..790e1887d73b 100644 err = mv88e6xxx_port_write(chip, port, MV88E6XXX_PORT_ASSOC_VECTOR, reg); if (err) --- - diff --git a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch index 256fdf5757..d7c7c20fee 100644 --- a/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch +++ b/target/linux/generic/hack-5.15/721-net-add-packet-mangeling.patch @@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau */ --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2771,6 +2771,10 @@ static inline int pskb_trim(struct sk_bu +@@ -2816,6 +2816,10 @@ static inline int pskb_trim(struct sk_bu return (len < skb->len) ? __pskb_trim(skb, len) : 0; } @@ -82,7 +82,7 @@ Signed-off-by: Felix Fietkau /** * pskb_trim_unique - remove end from a paged unique (not cloned) buffer * @skb: buffer to alter -@@ -2921,16 +2925,6 @@ static inline struct sk_buff *dev_alloc_ +@@ -2966,16 +2970,6 @@ static inline struct sk_buff *dev_alloc_ } diff --git a/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch index b71e1df06f..c315dcf8ff 100644 --- a/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch +++ b/target/linux/generic/hack-5.15/760-net-usb-r8152-add-LED-configuration-from-OF.patch @@ -22,7 +22,7 @@ Signed-off-by: David Bauer #include #include #include -@@ -6852,6 +6853,22 @@ static void rtl_tally_reset(struct r8152 +@@ -6864,6 +6865,22 @@ static void rtl_tally_reset(struct r8152 ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data); } @@ -45,7 +45,7 @@ Signed-off-by: David Bauer static void r8152b_init(struct r8152 *tp) { u32 ocp_data; -@@ -6893,6 +6910,8 @@ static void r8152b_init(struct r8152 *tp +@@ -6905,6 +6922,8 @@ static void r8152b_init(struct r8152 *tp ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL); ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN); ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data); @@ -54,7 +54,7 @@ Signed-off-by: David Bauer } static void r8153_init(struct r8152 *tp) -@@ -7033,6 +7052,8 @@ static void r8153_init(struct r8152 *tp) +@@ -7045,6 +7064,8 @@ static void r8153_init(struct r8152 *tp) tp->coalesce = COALESCE_SLOW; break; } @@ -63,7 +63,7 @@ Signed-off-by: David Bauer } static void r8153b_init(struct r8152 *tp) -@@ -7115,6 +7136,8 @@ static void r8153b_init(struct r8152 *tp +@@ -7127,6 +7148,8 @@ static void r8153b_init(struct r8152 *tp rtl_tally_reset(tp); tp->coalesce = 15000; /* 15 us */ diff --git a/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch index fcf0a412ae..2cae49bb1f 100644 --- a/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-5.15/780-usb-net-MeigLink_modem_support.patch @@ -8,11 +8,9 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support drivers/usb/serial/option.c | 7 +++++++ 2 files changed, 8 insertions(+) -diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c -index 8f1487f41085..d992985d599e 100644 --- a/drivers/net/usb/qmi_wwan.c +++ b/drivers/net/usb/qmi_wwan.c -@@ -1085,6 +1085,7 @@ static const struct usb_device_id products[] = { +@@ -1085,6 +1085,7 @@ static const struct usb_device_id produc {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0512)}, /* Quectel EG12/EM12 */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0620)}, /* Quectel EM160R-GL */ {QMI_MATCH_FF_FF_FF(0x2c7c, 0x0800)}, /* Quectel RM500Q-GL */ @@ -20,11 +18,9 @@ index 8f1487f41085..d992985d599e 100644 /* 3. Combined interface devices matching on interface number */ {QMI_FIXED_INTF(0x0408, 0xea42, 4)}, /* Yota / Megafon M100-1 */ -diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c -index de59fa919540..9f00d047f5e9 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c -@@ -243,6 +243,8 @@ static void option_instat_callback(struct urb *urb); +@@ -243,6 +243,8 @@ static void option_instat_callback(struc #define UBLOX_PRODUCT_R6XX 0x90fa /* These Yuga products use Qualcomm's vendor ID */ #define YUGA_PRODUCT_CLM920_NC5 0x9625 @@ -33,7 +29,7 @@ index de59fa919540..9f00d047f5e9 100644 #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1133,6 +1135,11 @@ static const struct usb_device_id option_ids[] = { +@@ -1133,6 +1135,11 @@ static const struct usb_device_id option { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EG95, 0xff, 0, 0) }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, @@ -45,5 +41,3 @@ index de59fa919540..9f00d047f5e9 100644 { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff), .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EP06, 0xff, 0, 0) }, --- - diff --git a/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch b/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch index 1f4d2fd394..a685c429c4 100644 --- a/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-5.15/904-debloat_dma_buf.patch @@ -63,7 +63,7 @@ Signed-off-by: Felix Fietkau +dma-shared-buffer-objs := $(dma-buf-objs-y) --- a/drivers/dma-buf/dma-buf.c +++ b/drivers/dma-buf/dma-buf.c -@@ -1506,4 +1506,5 @@ static void __exit dma_buf_deinit(void) +@@ -1513,4 +1513,5 @@ static void __exit dma_buf_deinit(void) kern_unmount(dma_buf_mnt); dma_buf_uninit_sysfs_statistics(); } diff --git a/target/linux/generic/hack-5.15/920-device_tree_cmdline.patch b/target/linux/generic/hack-5.15/920-device_tree_cmdline.patch index 0051edc25e..d1f36e716e 100644 --- a/target/linux/generic/hack-5.15/920-device_tree_cmdline.patch +++ b/target/linux/generic/hack-5.15/920-device_tree_cmdline.patch @@ -7,11 +7,9 @@ Subject: [PATCH] of/ftd: add device tree cmdline drivers/of/fdt.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c -index 59a7a9ee58ef..3b0b62b410dd 100644 --- a/drivers/of/fdt.c +++ b/drivers/of/fdt.c -@@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname, +@@ -1158,6 +1158,9 @@ int __init early_init_dt_scan_chosen(uns p = of_get_flat_dt_prop(node, "bootargs", &l); if (p != NULL && l > 0) strlcpy(data, p, min(l, COMMAND_LINE_SIZE)); @@ -21,5 +19,3 @@ index 59a7a9ee58ef..3b0b62b410dd 100644 /* * CONFIG_CMDLINE is meant to be a default in case nothing else --- - diff --git a/target/linux/generic/hack-5.15/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch b/target/linux/generic/hack-5.15/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch index 5dd0554edb..4f4d6c7509 100644 --- a/target/linux/generic/hack-5.15/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch +++ b/target/linux/generic/hack-5.15/930-Revert-Revert-Revert-driver-core-Set-fw_devlink-on-b.patch @@ -19,7 +19,7 @@ Signed-off-by: Rafał Miłecki --- a/drivers/base/core.c +++ b/drivers/base/core.c -@@ -1561,7 +1561,7 @@ static void device_links_purge(struct de +@@ -1562,7 +1562,7 @@ static void device_links_purge(struct de #define FW_DEVLINK_FLAGS_RPM (FW_DEVLINK_FLAGS_ON | \ DL_FLAG_PM_RUNTIME) diff --git a/target/linux/generic/pending-5.10/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-5.10/203-kallsyms_uncompressed.patch index 9392d7ba56..eee4a38657 100644 --- a/target/linux/generic/pending-5.10/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-5.10/203-kallsyms_uncompressed.patch @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau } --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh -@@ -186,6 +186,10 @@ kallsyms() +@@ -192,6 +192,10 @@ kallsyms() kallsymopt="${kallsymopt} --base-relative" fi diff --git a/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch b/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch index d907006fa4..eb0478e0c6 100644 --- a/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch +++ b/target/linux/generic/pending-5.10/710-bridge-add-knob-for-filtering-rx-tx-BPDU-pack.patch @@ -164,7 +164,7 @@ Signed-off-by: Felix Fietkau struct rtnl_link { rtnl_doit_func doit; -@@ -4695,7 +4695,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu +@@ -4684,7 +4684,9 @@ int ndo_dflt_bridge_getlink(struct sk_bu brport_nla_put_flag(skb, flags, mask, IFLA_BRPORT_MCAST_FLOOD, BR_MCAST_FLOOD) || brport_nla_put_flag(skb, flags, mask, diff --git a/target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch b/target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch index eefbe4b543..55388fb58a 100644 --- a/target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch +++ b/target/linux/generic/pending-5.15/101-Use-stddefs.h-instead-of-compiler.h.patch @@ -9,8 +9,6 @@ Fix an issue with kernel headers that broke perf. include/uapi/linux/swab.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) -diff --git a/include/uapi/linux/swab.h b/include/uapi/linux/swab.h -index 7272f85d6d6a..3736f2fe1541 100644 --- a/include/uapi/linux/swab.h +++ b/include/uapi/linux/swab.h @@ -3,7 +3,7 @@ @@ -22,5 +20,3 @@ index 7272f85d6d6a..3736f2fe1541 100644 #include #include --- - diff --git a/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch b/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch index ea407d6db9..4f51e524c3 100644 --- a/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch +++ b/target/linux/generic/pending-5.15/203-kallsyms_uncompressed.patch @@ -106,7 +106,7 @@ Signed-off-by: Felix Fietkau } --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh -@@ -263,6 +263,10 @@ kallsyms() +@@ -266,6 +266,10 @@ kallsyms() kallsymopt="${kallsymopt} --base-relative" fi diff --git a/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch b/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch index 63df1d070d..8b34f4f467 100644 --- a/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch +++ b/target/linux/generic/pending-5.15/400-mtd-mtdsplit-support.patch @@ -11,8 +11,6 @@ Subject: [PATCH] mtd: mtdsplit support include/linux/mtd/partitions.h | 7 ++ 5 files changed, 197 insertions(+), 25 deletions(-) -diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig -index 796a2eccbef0..f9ed93c4cf0f 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -12,6 +12,25 @@ menuconfig MTD @@ -41,11 +39,9 @@ index 796a2eccbef0..f9ed93c4cf0f 100644 config MTD_TESTS tristate "MTD tests support (DANGEROUS)" depends on m -diff --git a/drivers/mtd/Makefile b/drivers/mtd/Makefile -index 593d0593a038..b14b7fe0f597 100644 --- a/drivers/mtd/Makefile +++ b/drivers/mtd/Makefile -@@ -9,6 +9,8 @@ mtd-y := mtdcore.o mtdsuper.o mtdconcat.o mtdpart.o mtdchar.o +@@ -9,6 +9,8 @@ mtd-y := mtdcore.o mtdsuper.o mtdconc obj-y += parsers/ @@ -54,8 +50,6 @@ index 593d0593a038..b14b7fe0f597 100644 # 'Users' - code which presents functionality to userspace. obj-$(CONFIG_MTD_BLKDEVS) += mtd_blkdevs.o obj-$(CONFIG_MTD_BLOCK) += mtdblock.o -diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c -index d442fa94c872..f1ed12aae1fe 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -15,11 +15,13 @@ @@ -72,7 +66,7 @@ index d442fa94c872..f1ed12aae1fe 100644 /* * MTD methods which simply translate the effective address and pass through -@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struct mtd_info *new) +@@ -236,6 +238,146 @@ static int mtd_add_partition_attrs(struc return ret; } @@ -219,7 +213,7 @@ index d442fa94c872..f1ed12aae1fe 100644 int mtd_add_partition(struct mtd_info *parent, const char *name, long long offset, long long length) { -@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *parent, const char *name, +@@ -274,6 +416,7 @@ int mtd_add_partition(struct mtd_info *p if (ret) goto err_remove_part; @@ -227,7 +221,7 @@ index d442fa94c872..f1ed12aae1fe 100644 mtd_add_partition_attrs(child); return 0; -@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info *parent, +@@ -422,6 +565,7 @@ int add_mtd_partitions(struct mtd_info * goto err_del_partitions; } @@ -235,7 +229,7 @@ index d442fa94c872..f1ed12aae1fe 100644 mtd_add_partition_attrs(child); /* Look for subpartitions */ -@@ -438,31 +582,6 @@ int add_mtd_partitions(struct mtd_info *parent, +@@ -438,31 +582,6 @@ err_del_partitions: return ret; } @@ -267,11 +261,9 @@ index d442fa94c872..f1ed12aae1fe 100644 /* * Many partition parsers just expected the core to kfree() all their data in * one chunk. Do that by default. -diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h -index 8a2c60235ebb..b092bf6ff97d 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h -@@ -613,6 +613,24 @@ static inline void mtd_align_erase_req(struct mtd_info *mtd, +@@ -613,6 +613,24 @@ static inline void mtd_align_erase_req(s req->len += mtd->erasesize - mod; } @@ -296,7 +288,7 @@ index 8a2c60235ebb..b092bf6ff97d 100644 static inline uint32_t mtd_div_by_ws(uint64_t sz, struct mtd_info *mtd) { if (mtd->writesize_shift) -@@ -685,6 +703,13 @@ extern void __put_mtd_device(struct mtd_info *mtd); +@@ -685,6 +703,13 @@ extern void __put_mtd_device(struct mtd_ extern struct mtd_info *get_mtd_device_nm(const char *name); extern void put_mtd_device(struct mtd_info *mtd); @@ -310,8 +302,6 @@ index 8a2c60235ebb..b092bf6ff97d 100644 struct mtd_notifier { void (*add)(struct mtd_info *mtd); -diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h -index b74a539ec581..65ba0dbf961d 100644 --- a/include/linux/mtd/partitions.h +++ b/include/linux/mtd/partitions.h @@ -75,6 +75,12 @@ struct mtd_part_parser_data { @@ -335,5 +325,3 @@ index b74a539ec581..65ba0dbf961d 100644 }; /* Container for passing around a set of parsed partitions */ --- - diff --git a/target/linux/generic/pending-5.15/482-mtd-spi-nor-add-gd25q512.patch b/target/linux/generic/pending-5.15/482-mtd-spi-nor-add-gd25q512.patch index 96848e103f..7c8b686277 100644 --- a/target/linux/generic/pending-5.15/482-mtd-spi-nor-add-gd25q512.patch +++ b/target/linux/generic/pending-5.15/482-mtd-spi-nor-add-gd25q512.patch @@ -7,11 +7,9 @@ Subject: [PATCH] spi-nor/gigadevic: add gd25q512 drivers/mtd/spi-nor/gigadevice.c | 3 +++ 1 file changed, 3 insertions(+) -diff --git a/drivers/mtd/spi-nor/gigadevice.c b/drivers/mtd/spi-nor/gigadevice.c -index e52ed19d864f..d25292ec1eb9 100644 --- a/drivers/mtd/spi-nor/gigadevice.c +++ b/drivers/mtd/spi-nor/gigadevice.c -@@ -53,6 +53,9 @@ static const struct flash_info gigadevice_parts[] = { +@@ -53,6 +53,9 @@ static const struct flash_info gigadevic SPI_NOR_4B_OPCODES | SPI_NOR_HAS_LOCK | SPI_NOR_HAS_TB | SPI_NOR_TB_SR_BIT6) .fixups = &gd25q256_fixups }, @@ -21,5 +19,3 @@ index e52ed19d864f..d25292ec1eb9 100644 }; const struct spi_nor_manufacturer spi_nor_gigadevice = { --- - diff --git a/target/linux/generic/pending-5.15/484-mtd-spi-nor-add-esmt-f25l16pa.patch b/target/linux/generic/pending-5.15/484-mtd-spi-nor-add-esmt-f25l16pa.patch index d5b7259351..ab402e622a 100644 --- a/target/linux/generic/pending-5.15/484-mtd-spi-nor-add-esmt-f25l16pa.patch +++ b/target/linux/generic/pending-5.15/484-mtd-spi-nor-add-esmt-f25l16pa.patch @@ -10,8 +10,6 @@ flash. drivers/mtd/spi-nor/esmt.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/mtd/spi-nor/esmt.c b/drivers/mtd/spi-nor/esmt.c -index cfc9218c1053..d1750807f005 100644 --- a/drivers/mtd/spi-nor/esmt.c +++ b/drivers/mtd/spi-nor/esmt.c @@ -10,6 +10,8 @@ @@ -23,5 +21,3 @@ index cfc9218c1053..d1750807f005 100644 { "f25l32pa", INFO(0x8c2016, 0, 64 * 1024, 64, SECT_4K | SPI_NOR_HAS_LOCK | SPI_NOR_SWP_IS_VOLATILE) }, { "f25l32qa", INFO(0x8c4116, 0, 64 * 1024, 64, --- - diff --git a/target/linux/generic/pending-5.15/485-mtd-spi-nor-add-xmc-xm25qh128c.patch b/target/linux/generic/pending-5.15/485-mtd-spi-nor-add-xmc-xm25qh128c.patch index 2823464a60..68e373ea23 100644 --- a/target/linux/generic/pending-5.15/485-mtd-spi-nor-add-xmc-xm25qh128c.patch +++ b/target/linux/generic/pending-5.15/485-mtd-spi-nor-add-xmc-xm25qh128c.patch @@ -11,11 +11,9 @@ Datasheet available at https://www.xmcwh.com/uploads/435/XM25QH128C.pdf drivers/mtd/spi-nor/xmc.c | 2 ++ 1 file changed, 2 insertions(+) -diff --git a/drivers/mtd/spi-nor/xmc.c b/drivers/mtd/spi-nor/xmc.c -index 2c7773b68993..99ee43a654c4 100644 --- a/drivers/mtd/spi-nor/xmc.c +++ b/drivers/mtd/spi-nor/xmc.c -@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts[] = { +@@ -14,6 +14,8 @@ static const struct flash_info xmc_parts SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, { "XM25QH128A", INFO(0x207018, 0, 64 * 1024, 256, SECT_4K | SPI_NOR_DUAL_READ | SPI_NOR_QUAD_READ) }, @@ -24,5 +22,3 @@ index 2c7773b68993..99ee43a654c4 100644 }; const struct spi_nor_manufacturer spi_nor_xmc = { --- - diff --git a/target/linux/generic/pending-5.15/500-fs_cdrom_dependencies.patch b/target/linux/generic/pending-5.15/500-fs_cdrom_dependencies.patch index b46865fb55..2053c0fbe2 100644 --- a/target/linux/generic/pending-5.15/500-fs_cdrom_dependencies.patch +++ b/target/linux/generic/pending-5.15/500-fs_cdrom_dependencies.patch @@ -10,8 +10,6 @@ Subject: [PATCH] fs: add cdrom dependency fs/udf/Kconfig | 1 + 4 files changed, 4 insertions(+) -diff --git a/fs/hfs/Kconfig b/fs/hfs/Kconfig -index 129926b5142d..e0d2c647aa07 100644 --- a/fs/hfs/Kconfig +++ b/fs/hfs/Kconfig @@ -2,6 +2,7 @@ @@ -22,8 +20,6 @@ index 129926b5142d..e0d2c647aa07 100644 select NLS help If you say Y here, you will be able to mount Macintosh-formatted -diff --git a/fs/hfsplus/Kconfig b/fs/hfsplus/Kconfig -index 7d4229aecec0..648d91d1881f 100644 --- a/fs/hfsplus/Kconfig +++ b/fs/hfsplus/Kconfig @@ -2,6 +2,7 @@ @@ -34,8 +30,6 @@ index 7d4229aecec0..648d91d1881f 100644 select NLS select NLS_UTF8 help -diff --git a/fs/isofs/Kconfig b/fs/isofs/Kconfig -index 08ffd37b9bb8..f74680379207 100644 --- a/fs/isofs/Kconfig +++ b/fs/isofs/Kconfig @@ -1,6 +1,7 @@ @@ -46,8 +40,6 @@ index 08ffd37b9bb8..f74680379207 100644 help This is the standard file system used on CD-ROMs. It was previously known as "High Sierra File System" and is called "hsfs" on other -diff --git a/fs/udf/Kconfig b/fs/udf/Kconfig -index 26e1a49f3ba7..3f85a084d2b5 100644 --- a/fs/udf/Kconfig +++ b/fs/udf/Kconfig @@ -1,6 +1,7 @@ @@ -58,5 +50,3 @@ index 26e1a49f3ba7..3f85a084d2b5 100644 select CRC_ITU_T select NLS help --- - diff --git a/target/linux/generic/pending-5.15/655-increase_skb_pad.patch b/target/linux/generic/pending-5.15/655-increase_skb_pad.patch index 9d03fe5c31..f89ee0b8d2 100644 --- a/target/linux/generic/pending-5.15/655-increase_skb_pad.patch +++ b/target/linux/generic/pending-5.15/655-increase_skb_pad.patch @@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -2737,7 +2737,7 @@ static inline int pskb_network_may_pull( +@@ -2782,7 +2782,7 @@ static inline int pskb_network_may_pull( * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8) */ #ifndef NET_SKB_PAD diff --git a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch index 8b4cd10488..1910174b42 100644 --- a/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch +++ b/target/linux/generic/pending-5.15/680-NET-skip-GRO-for-foreign-MAC-addresses.patch @@ -22,7 +22,7 @@ Signed-off-by: Felix Fietkau #endif --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h -@@ -855,6 +855,7 @@ struct sk_buff { +@@ -890,6 +890,7 @@ struct sk_buff { #ifdef CONFIG_IPV6_NDISC_NODETYPE __u8 ndisc_nodetype:2; #endif @@ -32,7 +32,7 @@ Signed-off-by: Felix Fietkau __u8 inner_protocol_type:1; --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -6061,6 +6061,9 @@ static enum gro_result dev_gro_receive(s +@@ -6062,6 +6062,9 @@ static enum gro_result dev_gro_receive(s int same_flow; int grow; @@ -42,7 +42,7 @@ Signed-off-by: Felix Fietkau if (netif_elide_gro(skb->dev)) goto normal; -@@ -8075,6 +8078,48 @@ static void __netdev_adjacent_dev_unlink +@@ -8076,6 +8079,48 @@ static void __netdev_adjacent_dev_unlink &upper_dev->adj_list.lower); } @@ -91,7 +91,7 @@ Signed-off-by: Felix Fietkau static int __netdev_upper_dev_link(struct net_device *dev, struct net_device *upper_dev, bool master, void *upper_priv, void *upper_info, -@@ -8126,6 +8171,7 @@ static int __netdev_upper_dev_link(struc +@@ -8127,6 +8172,7 @@ static int __netdev_upper_dev_link(struc if (ret) return ret; @@ -99,7 +99,7 @@ Signed-off-by: Felix Fietkau ret = call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); ret = notifier_to_errno(ret); -@@ -8222,6 +8268,7 @@ static void __netdev_upper_dev_unlink(st +@@ -8223,6 +8269,7 @@ static void __netdev_upper_dev_unlink(st __netdev_adjacent_dev_unlink_neighbour(dev, upper_dev); @@ -107,7 +107,7 @@ Signed-off-by: Felix Fietkau call_netdevice_notifiers_info(NETDEV_CHANGEUPPER, &changeupper_info.info); -@@ -9041,6 +9088,7 @@ int dev_set_mac_address(struct net_devic +@@ -9042,6 +9089,7 @@ int dev_set_mac_address(struct net_devic if (err) return err; dev->addr_assign_type = NET_ADDR_SET; diff --git a/target/linux/generic/pending-5.15/683-of_net-add-mac-address-to-of-tree.patch b/target/linux/generic/pending-5.15/683-of_net-add-mac-address-to-of-tree.patch index 742d58b708..f7ef06a14a 100644 --- a/target/linux/generic/pending-5.15/683-of_net-add-mac-address-to-of-tree.patch +++ b/target/linux/generic/pending-5.15/683-of_net-add-mac-address-to-of-tree.patch @@ -15,11 +15,9 @@ property. This way, the MAC address can be accessed using procfs. net/core/of_net.c | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) -diff --git a/net/core/of_net.c b/net/core/of_net.c -index 71c38b532f72..43b28c8ddff9 100644 --- a/net/core/of_net.c +++ b/net/core/of_net.c -@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct device_node *np, u8 *addr) +@@ -95,6 +95,27 @@ static int of_get_mac_addr_nvmem(struct return 0; } @@ -47,7 +45,7 @@ index 71c38b532f72..43b28c8ddff9 100644 /** * of_get_mac_address() * @np: Caller's Device Node -@@ -175,6 +196,7 @@ int of_get_mac_address(struct device_node *np, u8 *addr) +@@ -175,6 +196,7 @@ found: addr[5] = (mac_val >> 0) & 0xff; } @@ -55,5 +53,3 @@ index 71c38b532f72..43b28c8ddff9 100644 return ret; } EXPORT_SYMBOL(of_get_mac_address); --- - diff --git a/target/linux/ipq806x/patches-5.10/108-v5.14-net-stmmac-explicitly-deassert-gmac-ahb-reset.patch b/target/linux/ipq806x/patches-5.10/108-v5.14-net-stmmac-explicitly-deassert-gmac-ahb-reset.patch index 77667b139e..84f5f95841 100644 --- a/target/linux/ipq806x/patches-5.10/108-v5.14-net-stmmac-explicitly-deassert-gmac-ahb-reset.patch +++ b/target/linux/ipq806x/patches-5.10/108-v5.14-net-stmmac-explicitly-deassert-gmac-ahb-reset.patch @@ -29,7 +29,7 @@ Signed-off-by: David S. Miller --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -5021,6 +5021,10 @@ int stmmac_dvr_probe(struct device *devi +@@ -5020,6 +5020,10 @@ int stmmac_dvr_probe(struct device *devi reset_control_reset(priv->plat->stmmac_rst); } @@ -40,7 +40,7 @@ Signed-off-by: David S. Miller /* Init MAC and get the capabilities */ ret = stmmac_hw_init(priv); if (ret) -@@ -5245,6 +5249,7 @@ int stmmac_dvr_remove(struct device *dev +@@ -5244,6 +5248,7 @@ int stmmac_dvr_remove(struct device *dev phylink_destroy(priv->phylink); if (priv->plat->stmmac_rst) reset_control_assert(priv->plat->stmmac_rst); diff --git a/target/linux/ipq806x/patches-5.15/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch b/target/linux/ipq806x/patches-5.15/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch index 673c66ae84..e0c195f1ab 100644 --- a/target/linux/ipq806x/patches-5.15/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch +++ b/target/linux/ipq806x/patches-5.15/102-mtd-rootfs-conflicts-with-OpenWrt-auto-mounting.patch @@ -10,7 +10,7 @@ Signed-off-by: John Crispin --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c -@@ -50,7 +50,11 @@ static struct mtd_info *allocate_partiti +@@ -51,7 +51,11 @@ static struct mtd_info *allocate_partiti /* allocate the partition structure */ child = kzalloc(sizeof(*child), GFP_KERNEL); diff --git a/target/linux/ramips/dts/mt7621_h3c_tx1800-plus.dts b/target/linux/ramips/dts/mt7621_h3c_tx1800-plus.dts new file mode 100644 index 0000000000..f763dd14dd --- /dev/null +++ b/target/linux/ramips/dts/mt7621_h3c_tx1800-plus.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_h3c_tx180x.dtsi" + +/ { + compatible = "h3c,tx1800-plus", "mediatek,mt7621-soc"; + model = "H3C TX1800 Plus"; +}; diff --git a/target/linux/ramips/dts/mt7621_h3c_tx1801-plus.dts b/target/linux/ramips/dts/mt7621_h3c_tx1801-plus.dts new file mode 100644 index 0000000000..4588b142c4 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_h3c_tx1801-plus.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_h3c_tx180x.dtsi" + +/ { + compatible = "h3c,tx1801-plus", "mediatek,mt7621-soc"; + model = "H3C TX1801 Plus"; +}; diff --git a/target/linux/ramips/dts/mt7621_h3c_tx1806.dts b/target/linux/ramips/dts/mt7621_h3c_tx1806.dts new file mode 100644 index 0000000000..1e9b6456ee --- /dev/null +++ b/target/linux/ramips/dts/mt7621_h3c_tx1806.dts @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621_h3c_tx180x.dtsi" + +/ { + compatible = "h3c,tx1806", "mediatek,mt7621-soc"; + model = "H3C TX1806"; +}; diff --git a/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi b/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi new file mode 100644 index 0000000000..61f2f8cc98 --- /dev/null +++ b/target/linux/ramips/dts/mt7621_h3c_tx180x.dtsi @@ -0,0 +1,165 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT + +#include "mt7621.dtsi" + +#include +#include +#include + +/ { + aliases { + led-boot = &led_status_amber; + led-failsafe = &led_status_green; + led-running = &led_status_green; + led-upgrade = &led_status_amber; + }; + + chosen { + bootargs = "console=ttyS0,115200"; + }; + + keys { + compatible = "gpio-keys"; + + reset { + label = "reset"; + gpios = <&gpio 13 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + + wps { + label = "wps"; + gpios = <&gpio 14 GPIO_ACTIVE_LOW>; + linux,code = ; + }; + }; + + leds { + compatible = "gpio-leds"; + + led_status_amber: led-0 { + label = "amber:status"; + color = ; + function = LED_FUNCTION_STATUS; + gpios = <&gpio 15 GPIO_ACTIVE_LOW>; + }; + + led_status_green: led-1 { + label = "green:status"; + color = ; + function = LED_FUNCTION_STATUS; + gpios = <&gpio 16 GPIO_ACTIVE_LOW>; + }; + }; +}; + +&gmac1 { + status = "okay"; + label = "wan"; + phy-handle = <ðphy4>; +}; + +&mdio { + ethphy4: ethernet-phy@4 { + reg = <4>; + }; +}; + +&nand { + status = "okay"; + + mediatek,nmbm; + mediatek,bmt-max-ratio = <1>; + mediatek,bmt-max-reserved-blocks = <64>; + mediatek,bmt-remap-range = <0x0000000 0x0a00000>; + + partitions { + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "u-boot"; + reg = <0x0000000 0x0080000>; + read-only; + }; + + partition@80000 { + label = "u-boot-env"; + reg = <0x0080000 0x0080000>; + }; + + partition@100000 { + label = "exp"; + reg = <0x0100000 0x0080000>; + read-only; + }; + + factory: partition@180000 { + label = "factory"; + reg = <0x0180000 0x0080000>; + read-only; + }; + + partition@200000 { + label = "firmware"; + reg = <0x0200000 0x7600000>; + + compatible = "fixed-partitions"; + #address-cells = <1>; + #size-cells = <1>; + + partition@0 { + label = "kernel"; + reg = <0x0000000 0x0800000>; + }; + + partition@800000 { + label = "ubi"; + reg = <0x0800000 0x6e00000>; + }; + }; + + /* last 8 MiB is reserved for NMBM bad block table */ + }; +}; + +&pcie { + status = "okay"; +}; + +&pcie1 { + wifi@0,0 { + compatible = "mediatek,mt76"; + reg = <0x0000 0 0 0 0>; + mediatek,mtd-eeprom = <&factory 0x0>; + mediatek,disable-radar-background; + }; +}; + +&pcie2 { + status = "disabled"; +}; + +&switch0 { + ports { + port@1 { + status = "okay"; + label = "lan1"; + }; + + port@2 { + status = "okay"; + label = "lan2"; + }; + + port@3 { + status = "okay"; + label = "lan3"; + }; + }; +}; + +&xhci { + status = "disabled"; +}; diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index d7b4026693..d96e37cb07 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -31,6 +31,12 @@ define Build/gemtek-trailer printf "%s%08X" ".GEMTEK." "$$(cksum $@ | cut -d ' ' -f1)" >> $@ endef +define Build/h3c-blank-header + dd if=/dev/zero of=$@.blank bs=160 count=1 + cat $@ >> $@.blank + mv $@.blank $@ +endef + define Build/iodata-factory $(eval fw_size=$(word 1,$(1))) $(eval fw_type=$(word 2,$(1))) @@ -753,6 +759,40 @@ define Device/gnubee_gb-pc2 endef TARGET_DEVICES += gnubee_gb-pc2 +define Device/h3c_tx180x + $(Device/dsa-migration) + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_SIZE := 8192k + IMAGE_SIZE := 120832k + UBINIZE_OPTS := -E 5 + KERNEL_LOADADDR := 0x82000000 + KERNEL_INITRAMFS := kernel-bin | relocate-kernel 0x80001000 | lzma | \ + fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb + KERNEL := $$(KERNEL_INITRAMFS) | h3c-blank-header + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + DEVICE_VENDOR := H3C + DEVICE_PACKAGES := kmod-mt7915e uboot-envtools +endef + +define Device/h3c_tx1800-plus + $(Device/h3c_tx180x) + DEVICE_MODEL := TX1800 Plus +endef +TARGET_DEVICES += h3c_tx1800-plus + +define Device/h3c_tx1801-plus + $(Device/h3c_tx180x) + DEVICE_MODEL := TX1801 Plus +endef +TARGET_DEVICES += h3c_tx1801-plus + +define Device/h3c_tx1806 + $(Device/h3c_tx180x) + DEVICE_MODEL := TX1806 +endef +TARGET_DEVICES += h3c_tx1806 + define Device/hilink_hlk-7621a-evb $(Device/dsa-migration) $(Device/uimage-lzma-loader) diff --git a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network index 320325f487..400b03133e 100644 --- a/target/linux/ramips/mt7621/base-files/etc/board.d/02_network +++ b/target/linux/ramips/mt7621/base-files/etc/board.d/02_network @@ -28,6 +28,9 @@ ramips_setup_interfaces() ;; ampedwireless,ally-r1900k|\ gehua,ghl-r-001|\ + h3c,tx1800-plus|\ + h3c,tx1801-plus|\ + h3c,tx1806|\ hiwifi,hc5962|\ netgear,wax202|\ xiaomi,mi-router-3-pro|\ @@ -158,6 +161,13 @@ ramips_setup_macs() wan_mac=$(mtd_get_mac_ascii u-boot-env wanaddr) label_mac=$wan_mac ;; + h3c,tx1800-plus|\ + h3c,tx1801-plus|\ + h3c,tx1806) + label_mac=$(mtd_get_mac_ascii u-boot-env ethaddr) + lan_mac=$(macaddr_add "$label_mac" 1) + wan_mac=$label_mac + ;; hiwifi,hc5962) lan_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ") label_mac=$lan_mac diff --git a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac index bced044234..0ace1933e3 100644 --- a/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac +++ b/target/linux/ramips/mt7621/base-files/etc/hotplug.d/ieee80211/10_fix_wifi_mac @@ -37,6 +37,13 @@ case "$board" in [ "$PHYNBR" = "1" ] && \ macaddr_add "$(mtd_get_mac_binary factory 0x4)" 1 > /sys${DEVPATH}/macaddress ;; + h3c,tx1800-plus|\ + h3c,tx1801-plus|\ + h3c,tx1806) + addr=$(macaddr_setbit $(macaddr_add $(mtd_get_mac_ascii u-boot-env ethaddr) 2) 7) + [ "$PHYNBR" = "0" ] && echo -n ${addr:0:9}'1'${addr:10:7} > /sys${DEVPATH}/macaddress + [ "$PHYNBR" = "1" ] && echo -n ${addr:0:9}'7'${addr:10:7} > /sys${DEVPATH}/macaddress + ;; hiwifi,hc5962) label_mac=$(mtd_get_mac_ascii bdinfo "Vfac_mac ") [ "$PHYNBR" = "0" ] && [ -n "$label_mac" ] && \ diff --git a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh index 8a84130ab5..9af46202ba 100755 --- a/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh +++ b/target/linux/ramips/mt7621/base-files/lib/upgrade/platform.sh @@ -60,6 +60,9 @@ platform_do_upgrade() { dlink,dir-2640-a1|\ dlink,dir-2660-a1|\ dlink,dir-853-a3|\ + h3c,tx1800-plus|\ + h3c,tx1801-plus|\ + h3c,tx1806|\ hiwifi,hc5962|\ iptime,a3004t|\ iptime,ax2004m|\ diff --git a/target/linux/ramips/patches-5.10/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch b/target/linux/ramips/patches-5.10/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch index 0d62bd8b03..a15bf62b0b 100644 --- a/target/linux/ramips/patches-5.10/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch +++ b/target/linux/ramips/patches-5.10/804-staging-mt7621-pinctrl-use-ngpios-not-num-gpios.patch @@ -1,6 +1,6 @@ --- a/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c +++ b/drivers/staging/mt7621-pinctrl/pinctrl-rt2880.c -@@ -354,7 +354,7 @@ static int rt2880_pinmux_probe(struct pl +@@ -356,7 +356,7 @@ static int rt2880_pinmux_probe(struct pl if (!of_device_is_available(np)) continue; diff --git a/target/linux/tegra/patches-5.10/100-serial8250-on-tegra-hsuart-recover-from-spurious-interrupts-due-to-tegra2-silicon-bug.patch b/target/linux/tegra/patches-5.10/100-serial8250-on-tegra-hsuart-recover-from-spurious-interrupts-due-to-tegra2-silicon-bug.patch index 08ed9d441c..8f01f73eb2 100644 --- a/target/linux/tegra/patches-5.10/100-serial8250-on-tegra-hsuart-recover-from-spurious-interrupts-due-to-tegra2-silicon-bug.patch +++ b/target/linux/tegra/patches-5.10/100-serial8250-on-tegra-hsuart-recover-from-spurious-interrupts-due-to-tegra2-silicon-bug.patch @@ -36,7 +36,7 @@ David --- a/drivers/tty/serial/8250/8250_core.c +++ b/drivers/tty/serial/8250/8250_core.c -@@ -133,6 +133,38 @@ static irqreturn_t serial8250_interrupt( +@@ -134,6 +134,38 @@ static irqreturn_t serial8250_interrupt( if (l == i->head && pass_counter++ > PASS_LIMIT) break; diff --git a/target/linux/x86/config-5.10 b/target/linux/x86/config-5.10 index 2ed31b885c..2bb2a4e341 100644 --- a/target/linux/x86/config-5.10 +++ b/target/linux/x86/config-5.10 @@ -52,6 +52,9 @@ CONFIG_CPU_FREQ_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_GOV_USERSPACE is not set CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IBPB_ENTRY=y +CONFIG_CPU_IBRS_ENTRY=y +# CONFIG_SLS is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_SUP_AMD=y @@ -62,11 +65,13 @@ CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=y CONFIG_CPU_SUP_ZHAOXIN=y +CONFIG_CPU_UNRET_ENTRY=y CONFIG_CRASH_CORE=y CONFIG_CRC16=y CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC32C=y # CONFIG_CRYPTO_CRC32_PCLMUL is not set +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 CONFIG_CRYPTO_RNG2=y # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set @@ -168,7 +173,6 @@ CONFIG_INITRAMFS_SOURCE="" CONFIG_INPUT=y CONFIG_INPUT_KEYBOARD=y CONFIG_INSTRUCTION_DECODER=y -# CONFIG_INTEL_INT0002_VGPIO is not set # CONFIG_INTEL_PCH_THERMAL is not set # CONFIG_INTEL_POWERCLAMP is not set # CONFIG_INTEL_SCU_PCI is not set @@ -293,6 +297,7 @@ CONFIG_PROC_PID_ARCH_STATUS=y CONFIG_RATIONAL=y CONFIG_RD_BZIP2=y CONFIG_RD_GZIP=y +CONFIG_RETHUNK=y CONFIG_RETPOLINE=y CONFIG_RTC_CLASS=y CONFIG_RTC_MC146818_LIB=y @@ -318,6 +323,7 @@ CONFIG_SG_POOL=y # CONFIG_SMSC_SCH311X_WDT is not set CONFIG_SPARSEMEM_STATIC=y CONFIG_SPARSE_IRQ=y +CONFIG_SPECULATION_MITIGATIONS=y CONFIG_SRCU=y # CONFIG_STATIC_CALL_SELFTEST is not set CONFIG_SYSCTL_EXCEPTION_TRACE=y diff --git a/target/linux/x86/config-5.15 b/target/linux/x86/config-5.15 index 24667e41d3..2bdfd97dcf 100644 --- a/target/linux/x86/config-5.15 +++ b/target/linux/x86/config-5.15 @@ -54,6 +54,9 @@ CONFIG_CPU_FREQ_GOV_PERFORMANCE=y # CONFIG_CPU_FREQ_GOV_POWERSAVE is not set # CONFIG_CPU_FREQ_GOV_USERSPACE is not set CONFIG_CPU_FREQ_STAT=y +CONFIG_CPU_IBPB_ENTRY=y +CONFIG_CPU_IBRS_ENTRY=y +# CONFIG_SLS is not set CONFIG_CPU_IDLE=y CONFIG_CPU_IDLE_GOV_LADDER=y CONFIG_CPU_SUP_AMD=y @@ -64,11 +67,13 @@ CONFIG_CPU_SUP_INTEL=y CONFIG_CPU_SUP_TRANSMETA_32=y CONFIG_CPU_SUP_UMC_32=y CONFIG_CPU_SUP_ZHAOXIN=y +CONFIG_CPU_UNRET_ENTRY=y CONFIG_CRASH_CORE=y CONFIG_CRC16=y CONFIG_CRYPTO_CRC32=y CONFIG_CRYPTO_CRC32C=y # CONFIG_CRYPTO_CRC32_PCLMUL is not set +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 CONFIG_CRYPTO_RNG2=y # CONFIG_CRYPTO_SERPENT_SSE2_586 is not set @@ -83,6 +88,7 @@ CONFIG_DEBUG_MISC=y # CONFIG_DEBUG_TLBFLUSH is not set CONFIG_DECOMPRESS_BZIP2=y CONFIG_DECOMPRESS_GZIP=y +CONFIG_RETHUNK=y CONFIG_DMADEVICES=y CONFIG_DMI=y CONFIG_DMIID=y @@ -322,6 +328,7 @@ CONFIG_SLS=y # CONFIG_SMSC_SCH311X_WDT is not set CONFIG_SPARSEMEM_STATIC=y CONFIG_SPARSE_IRQ=y +CONFIG_SPECULATION_MITIGATIONS=y CONFIG_SRCU=y # CONFIG_STATIC_CALL_SELFTEST is not set CONFIG_SYSCTL_EXCEPTION_TRACE=y diff --git a/tools/7z/Makefile b/tools/7z/Makefile index c94d746c64..90362e7977 100644 --- a/tools/7z/Makefile +++ b/tools/7z/Makefile @@ -1,12 +1,12 @@ include $(TOPDIR)/rules.mk PKG_NAME:=7z -PKG_VERSION:=22.00 -PKG_SOURCE_VERSION:=2200 +PKG_VERSION:=22.01 +PKG_SOURCE_VERSION:=2201 PKG_SOURCE:=$(PKG_NAME)$(PKG_SOURCE_VERSION)-src.tar.xz PKG_SOURCE_URL:=https://7-zip.org/a/ -PKG_HASH:=40969f601e86aff49aaa0ba0df5ce6fd397cf7e2683a84b591b0081e461ef675 +PKG_HASH:=393098730c70042392af808917e765945dc2437dee7aae3cfcc4966eb920fbc5 # This builds the 7zr variant which supports only 7z, so no non-LGPL code should be included PKG_LICENSE:=LGPL-2.1-or-later diff --git a/tools/libressl/Makefile b/tools/libressl/Makefile index 236a7c2c30..bf2bd4e999 100644 --- a/tools/libressl/Makefile +++ b/tools/libressl/Makefile @@ -24,11 +24,14 @@ HOST_BUILD_PARALLEL:=1 include $(INCLUDE_DIR)/host-build.mk HOSTCC := $(HOSTCC_NOCACHE) -HOST_CONFIGURE_ARGS += --enable-static --disable-shared --disable-tests + HOST_CFLAGS += $(HOST_FPIC) -ifeq ($(GNU_HOST_NAME),x86_64-linux-gnux32) -HOST_CONFIGURE_ARGS += --disable-asm -endif +HOST_CONFIGURE_ARGS += \ + --enable-static \ + --disable-shared \ + --disable-asm \ + --with-pic \ + --disable-tests $(eval $(call HostBuild)) diff --git a/tools/mtools/Makefile b/tools/mtools/Makefile index db364c9c93..74007a88d0 100644 --- a/tools/mtools/Makefile +++ b/tools/mtools/Makefile @@ -7,11 +7,11 @@ include $(TOPDIR)/rules.mk PKG_NAME:=mtools -PKG_VERSION:=4.0.39 +PKG_VERSION:=4.0.40 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE_URL:=@GNU/$(PKG_NAME) -PKG_HASH:=397f1e2b7b7a2a270eb7970fa363e445f956926ec51e8170c3869da85b0987bd +PKG_HASH:=a22fca42354011dd2293a7f51f228b46ebbd802e7740b0975912afecb79d5df4 HOST_BUILD_PARALLEL:=1