From 2343699c8c34ec1117664a38ff4fcbeb602dcd69 Mon Sep 17 00:00:00 2001 From: INAGAKI Hiroshi Date: Mon, 13 Jan 2025 19:46:10 +0900 Subject: [PATCH 01/14] tools: firmware-utils: update to Git HEAD (2024-01-14) 12c0b42 nosimg-enc: add new tool for XikeStor SKS8300 series Signed-off-by: INAGAKI Hiroshi Link: https://github.com/openwrt/openwrt/pull/17593 Signed-off-by: Sander Vanheule (cherry picked from commit db0fcc0c8dd4424631931aea5dbb7050fa88d088) Link: https://github.com/openwrt/openwrt/pull/18030 Signed-off-by: Hauke Mehrtens --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 62222b6daf..117dceb754 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2024-10-20 -PKG_SOURCE_VERSION:=4b7638925d3eac03e614e40bc30cb49f5877c46d -PKG_MIRROR_HASH:=ea0e30f2b20211e4153704019ebb3f8789269893a4af6d853a85fae7c091802c +PKG_SOURCE_DATE:=2025-01-14 +PKG_SOURCE_VERSION:=12c0b42231bee58b3cd7cbe95c33de2685484a4f +PKG_MIRROR_HASH:=50d872a5069f9f672de5ea9efcf00872bcce27ec52bbb69fff3785abcee1c77c include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From b803517f9099db9763846f2122ac4e80403444cb Mon Sep 17 00:00:00 2001 From: Robert Senderek Date: Mon, 17 Feb 2025 08:15:20 +0100 Subject: [PATCH 02/14] tools: firmware-utils: update to Git HEAD (2024-02-16) 2051fe5 mktplinkfw2: Add 16MLmtk layout 5d1446b tplink-safeloader: Add more special_id's for MR70X Signed-off-by: Robert Senderek Link: https://github.com/openwrt/openwrt/pull/17999 Signed-off-by: Hauke Mehrtens (cherry picked from commit 1437ff840b9b81f62a7cfca02b0ba17f506ea028) Link: https://github.com/openwrt/openwrt/pull/18030 Signed-off-by: Hauke Mehrtens --- tools/firmware-utils/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 117dceb754..3caaa8e437 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -11,9 +11,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/firmware-utils.git -PKG_SOURCE_DATE:=2025-01-14 -PKG_SOURCE_VERSION:=12c0b42231bee58b3cd7cbe95c33de2685484a4f -PKG_MIRROR_HASH:=50d872a5069f9f672de5ea9efcf00872bcce27ec52bbb69fff3785abcee1c77c +PKG_SOURCE_DATE:=2025-02-16 +PKG_SOURCE_VERSION:=5d1446bf57d6490573dc71f10c05e83b36d44374 +PKG_MIRROR_HASH:=e054ea416f5a596f681bba593f71dfbe8149361432d7c17f2374c60dfe227749 include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk From 0963a15e7cd4084d052e8461fc68822e42805b11 Mon Sep 17 00:00:00 2001 From: Robert Senderek Date: Fri, 14 Feb 2025 09:01:39 +0100 Subject: [PATCH 03/14] ramips: Add support for Mercusys MR1800X as alt name of MR70X Both share the same OEM firmware but differ in product_name for safeloader product_name:MR1800X,product_ver:1.0.0,special_id:45550000 Signed-off-by: Robert Senderek Link: https://github.com/openwrt/openwrt/pull/17965 (cherry picked from commit f93367227e1458fb366304d0f431f12e95d244cd) Link: https://github.com/openwrt/openwrt/pull/18031 Signed-off-by: Hauke Mehrtens --- target/linux/ramips/image/mt7621.mk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index 68fc03d998..02b09b3fe1 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -1963,6 +1963,8 @@ define Device/mercusys_mr70x-v1 $(Device/tplink-safeloader) DEVICE_VENDOR := MERCUSYS DEVICE_MODEL := MR70X + DEVICE_ALT0_VENDOR := MERCUSYS + DEVICE_ALT0_MODEL := MR1800X DEVICE_VARIANT := v1 DEVICE_PACKAGES := kmod-mt7915-firmware -uboot-envtools TPLINK_BOARD_ID := MR70X From 79ba16309029879b0678dc0525b0a56eef5e4acf Mon Sep 17 00:00:00 2001 From: Tim Harvey Date: Thu, 13 Feb 2025 10:36:09 -0800 Subject: [PATCH 04/14] imx: cortexa53: add 'gateworks,imx8m*' to sysupgrade board checks The upstream device-tree files are now using 'gateworks' instead of 'gw' for compatible. Add this pattern so that the newer boards support sysupgrade. Signed-off-by: Tim Harvey Link: https://github.com/openwrt/openwrt/pull/17964 (cherry picked from commit ee73d35fbe0f18bfd0f710008de369236a220510) Link: https://github.com/openwrt/openwrt/pull/18093 Signed-off-by: Hauke Mehrtens --- target/linux/imx/cortexa53/base-files/lib/upgrade/platform.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/target/linux/imx/cortexa53/base-files/lib/upgrade/platform.sh b/target/linux/imx/cortexa53/base-files/lib/upgrade/platform.sh index c59a69421a..f97b55f789 100755 --- a/target/linux/imx/cortexa53/base-files/lib/upgrade/platform.sh +++ b/target/linux/imx/cortexa53/base-files/lib/upgrade/platform.sh @@ -12,6 +12,7 @@ platform_check_image() { local board=$(board_name) case "$board" in + gateworks,imx8m*|\ gw,imx8m*) return 0 ;; @@ -25,6 +26,7 @@ platform_do_upgrade() { local board=$(board_name) case "$board" in + gateworks,imx8m*|\ gw,imx8m*) export_bootdevice && export_partdevice diskdev 0 || { echo "Unable to find root device." @@ -41,6 +43,7 @@ platform_copy_config() { local partdev case "$board" in + gateworks,imx8m*|\ gw,imx8m*) export_partdevice partdev 1 && { v "Storing $UPGRADE_BACKUP on /dev/$partdev..." From c51d899790441e0a37aa0996742369436550eb25 Mon Sep 17 00:00:00 2001 From: Tim Harvey Date: Thu, 13 Feb 2025 10:37:50 -0800 Subject: [PATCH 05/14] imx: cortexa53: fix sysupgrade image device support for venice Set the SUPPORTED_DEVICES Device var so that sysupgrade images are supported without a force. Signed-off-by: Tim Harvey Link: https://github.com/openwrt/openwrt/pull/17964 (cherry picked from commit 5a124ff167ed42e28dba2805793b5ddcece0eb50) Link: https://github.com/openwrt/openwrt/pull/18093 Signed-off-by: Hauke Mehrtens --- target/linux/imx/image/cortexa53.mk | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/target/linux/imx/image/cortexa53.mk b/target/linux/imx/image/cortexa53.mk index 7458162da3..ec3623e8e7 100644 --- a/target/linux/imx/image/cortexa53.mk +++ b/target/linux/imx/image/cortexa53.mk @@ -46,6 +46,21 @@ define Device/gateworks_venice FILESYSTEMS := squashfs ext4 DEVICE_VENDOR := Gateworks DEVICE_MODEL := i.MX8M Venice + SUPPORTED_DEVICES := \ + gw,imx8mm-gw71xx-0x \ + gw,imx8mm-gw72xx-0x \ + gw,imx8mp-gw72xx-2x \ + gw,imx8mm-gw73xx-0x \ + gw,imx8mp-gw73xx-2x \ + gw,imx8mm-gw7901 \ + gw,imx8mm-gw7902 \ + gw,imx8mn-gw7902 \ + gw,imx8mm-gw7903 \ + gateworks,imx8mp-gw71xx-2x \ + gateworks,imx8mp-gw74xx \ + gateworks,imx8mm-gw7904 \ + gateworks,imx8mm-gw7905-0x \ + gateworks,imx8mp-gw7905-2x BOOT_SCRIPT := gateworks_venice PARTITION_OFFSET := 16M DEVICE_DTS := $(basename $(notdir $(wildcard $(DTS_DIR)/freescale/imx8m*-venice*.dts))) From 81ef4bc44d81036d35807f032c27ffc07160323d Mon Sep 17 00:00:00 2001 From: John Audia Date: Thu, 23 Jan 2025 12:22:43 -0500 Subject: [PATCH 06/14] kernel: bump 6.6 to 6.6.74 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.74 All patches automatically rebased. Build system: x86/64 Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/17708 (cherry picked from commit e9fad02c101d7d7f45fd6e5eef8a80b848718a44) Link: https://github.com/openwrt/openwrt/pull/17987 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 ++-- ...rm-v3d-Suppress-all-but-the-first-MMU-error.patch | 6 +++--- ...ew-debugfs-end-points-to-query-GPU-usage-st.patch | 6 +++--- ...m-v3d-fix-up-register-addresses-for-V3D-7.x.patch | 12 ++++++------ 4 files changed, 14 insertions(+), 14 deletions(-) diff --git a/include/kernel-6.6 b/include/kernel-6.6 index aa0a345b29..277669c390 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .73 -LINUX_KERNEL_HASH-6.6.73 = d2028db190c201650898be8db1c705e9fe73ab44fc04290b4f7af63514122490 +LINUX_VERSION-6.6 = .74 +LINUX_KERNEL_HASH-6.6.74 = f15e2b1a8bab0eba494b07858a5abc88d8f788e25f6fe4a572a77840bbd5494d diff --git a/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch b/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch index 31c7840e14..eeb65bbd40 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/gpu/drm/v3d/v3d_irq.c +++ b/drivers/gpu/drm/v3d/v3d_irq.c -@@ -177,6 +177,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -181,6 +181,7 @@ v3d_hub_irq(int irq, void *arg) "GMP", }; const char *client = "?"; @@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL)); -@@ -186,6 +187,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -190,6 +191,7 @@ v3d_hub_irq(int irq, void *arg) client = v3d41_axi_ids[axi_id]; } @@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell dev_err(v3d->drm.dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n", client, axi_id, (long long)vio_addr, ((intsts & V3D_HUB_INT_MMU_WRV) ? -@@ -194,6 +196,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -198,6 +200,7 @@ v3d_hub_irq(int irq, void *arg) ", pte invalid" : ""), ((intsts & V3D_HUB_INT_MMU_CAP) ? ", cap exceeded" : "")); diff --git a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch index aef90564b8..01e267fd48 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch @@ -258,7 +258,7 @@ Signed-off-by: Jose Maria Casanova Crespo trace_v3d_bcl_irq(&v3d->drm, fence->seqno); dma_fence_signal(&fence->base); -@@ -109,6 +111,7 @@ v3d_irq(int irq, void *arg) +@@ -110,6 +112,7 @@ v3d_irq(int irq, void *arg) if (intsts & V3D_INT_FRDONE) { struct v3d_fence *fence = to_v3d_fence(v3d->render_job->base.irq_fence); @@ -266,7 +266,7 @@ Signed-off-by: Jose Maria Casanova Crespo trace_v3d_rcl_irq(&v3d->drm, fence->seqno); dma_fence_signal(&fence->base); -@@ -118,6 +121,7 @@ v3d_irq(int irq, void *arg) +@@ -120,6 +123,7 @@ v3d_irq(int irq, void *arg) if (intsts & V3D_INT_CSDDONE) { struct v3d_fence *fence = to_v3d_fence(v3d->csd_job->base.irq_fence); @@ -274,7 +274,7 @@ Signed-off-by: Jose Maria Casanova Crespo trace_v3d_csd_irq(&v3d->drm, fence->seqno); dma_fence_signal(&fence->base); -@@ -154,6 +158,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -157,6 +161,7 @@ v3d_hub_irq(int irq, void *arg) if (intsts & V3D_HUB_INT_TFUC) { struct v3d_fence *fence = to_v3d_fence(v3d->tfu_job->base.irq_fence); diff --git a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch index 1466d2aadc..560c2f627f 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch @@ -295,7 +295,7 @@ v2: fix kernel panic with debug-fs interface to list registers static irqreturn_t v3d_hub_irq(int irq, void *arg); -@@ -118,7 +119,8 @@ v3d_irq(int irq, void *arg) +@@ -120,7 +121,8 @@ v3d_irq(int irq, void *arg) status = IRQ_HANDLED; } @@ -305,7 +305,7 @@ v2: fix kernel panic with debug-fs interface to list registers struct v3d_fence *fence = to_v3d_fence(v3d->csd_job->base.irq_fence); v3d->gpu_queue_stats[V3D_CSD].last_exec_end = local_clock(); -@@ -131,7 +133,7 @@ v3d_irq(int irq, void *arg) +@@ -134,7 +136,7 @@ v3d_irq(int irq, void *arg) /* We shouldn't be triggering these if we have GMP in * always-allowed mode. */ @@ -314,7 +314,7 @@ v2: fix kernel panic with debug-fs interface to list registers dev_err(v3d->drm.dev, "GMP violation\n"); /* V3D 4.2 wires the hub and core IRQs together, so if we & -@@ -205,6 +207,11 @@ v3d_hub_irq(int irq, void *arg) +@@ -209,6 +211,11 @@ v3d_hub_irq(int irq, void *arg) status = IRQ_HANDLED; } @@ -326,7 +326,7 @@ v2: fix kernel panic with debug-fs interface to list registers return status; } -@@ -219,8 +226,8 @@ v3d_irq_init(struct v3d_dev *v3d) +@@ -223,8 +230,8 @@ v3d_irq_init(struct v3d_dev *v3d) * for us. */ for (core = 0; core < v3d->cores; core++) @@ -337,7 +337,7 @@ v2: fix kernel panic with debug-fs interface to list registers irq1 = platform_get_irq_optional(v3d_to_pdev(v3d), 1); if (irq1 == -EPROBE_DEFER) -@@ -264,12 +271,12 @@ v3d_irq_enable(struct v3d_dev *v3d) +@@ -268,12 +275,12 @@ v3d_irq_enable(struct v3d_dev *v3d) /* Enable our set of interrupts, masking out any others. */ for (core = 0; core < v3d->cores; core++) { @@ -354,7 +354,7 @@ v2: fix kernel panic with debug-fs interface to list registers } void -@@ -284,8 +291,8 @@ v3d_irq_disable(struct v3d_dev *v3d) +@@ -288,8 +295,8 @@ v3d_irq_disable(struct v3d_dev *v3d) /* Clear any pending interrupts we might have left. */ for (core = 0; core < v3d->cores; core++) From b71fafbb7070ee514d25c70339c6d4672e26d81e Mon Sep 17 00:00:00 2001 From: John Audia Date: Sun, 9 Feb 2025 10:10:31 -0500 Subject: [PATCH 07/14] kernel: bump 6.6 to 6.6.75 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.75 All patches automatically rebased. Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/17822 (cherry picked from commit 9790417109bb9ae0649f40016173e8622703b186) Link: https://github.com/openwrt/openwrt/pull/17987 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 ++-- ...-for-all-the-downstream-rpi-sound-card-dr.patch | 4 ++-- ...-device-quirks-for-Freeway-Airmouse-T3-an.patch | 2 +- ...-v3d-Suppress-all-but-the-first-MMU-error.patch | 6 +++--- ...-debugfs-end-points-to-query-GPU-usage-st.patch | 14 +++++++------- ...v3d-fix-up-register-addresses-for-V3D-7.x.patch | 12 ++++++------ ...jecting-with-source-address-failed-policy.patch | 14 +++++++------- .../generic/pending-6.6/834-ledtrig-libata.patch | 6 +++--- 8 files changed, 31 insertions(+), 31 deletions(-) diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 277669c390..4586ce50c3 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .74 -LINUX_KERNEL_HASH-6.6.74 = f15e2b1a8bab0eba494b07858a5abc88d8f788e25f6fe4a572a77840bbd5494d +LINUX_VERSION-6.6 = .75 +LINUX_KERNEL_HASH-6.6.75 = f7dfb1fa9716ba139d0b4c8161535816d400dea21d5943f513448429b1790290 diff --git a/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch b/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch index fe0e2275f1..7808827ee8 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch @@ -14927,7 +14927,7 @@ Signed-off-by: Phil Elwell config SND_SOC_TFA989X tristate "NXP/Goodix TFA989X (TFA1) amplifiers" depends on I2C -@@ -2404,4 +2422,8 @@ config SND_SOC_LPASS_TX_MACRO +@@ -2405,4 +2423,8 @@ config SND_SOC_LPASS_TX_MACRO select SND_SOC_LPASS_MACRO_COMMON tristate "Qualcomm TX Macro in LPASS(Low Power Audio SubSystem)" @@ -17583,7 +17583,7 @@ Signed-off-by: Phil Elwell * For devices with more than one control interface, we assume the --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -2249,6 +2249,8 @@ static const struct usb_audio_quirk_flag +@@ -2251,6 +2251,8 @@ static const struct usb_audio_quirk_flag QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */ QUIRK_FLAG_ALIGN_TRANSFER), diff --git a/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch b/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch index a65d198d21..afdb5aca08 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0169-hid-usb-Add-device-quirks-for-Freeway-Airmouse-T3-an.patch @@ -33,7 +33,7 @@ Signed-off-by: Jonathan Bell #define USB_VENDOR_ID_BELKIN 0x050d #define USB_DEVICE_ID_FLIP_KVM 0x3201 -@@ -1406,6 +1409,9 @@ +@@ -1405,6 +1408,9 @@ #define USB_VENDOR_ID_XIAOMI 0x2717 #define USB_DEVICE_ID_MI_SILENT_MOUSE 0x5014 diff --git a/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch b/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch index eeb65bbd40..d41fab9d94 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0183-drm-v3d-Suppress-all-but-the-first-MMU-error.patch @@ -13,7 +13,7 @@ Signed-off-by: Phil Elwell --- a/drivers/gpu/drm/v3d/v3d_irq.c +++ b/drivers/gpu/drm/v3d/v3d_irq.c -@@ -181,6 +181,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -189,6 +189,7 @@ v3d_hub_irq(int irq, void *arg) "GMP", }; const char *client = "?"; @@ -21,7 +21,7 @@ Signed-off-by: Phil Elwell V3D_WRITE(V3D_MMU_CTL, V3D_READ(V3D_MMU_CTL)); -@@ -190,6 +191,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -198,6 +199,7 @@ v3d_hub_irq(int irq, void *arg) client = v3d41_axi_ids[axi_id]; } @@ -29,7 +29,7 @@ Signed-off-by: Phil Elwell dev_err(v3d->drm.dev, "MMU error from client %s (%d) at 0x%llx%s%s%s\n", client, axi_id, (long long)vio_addr, ((intsts & V3D_HUB_INT_MMU_WRV) ? -@@ -198,6 +200,7 @@ v3d_hub_irq(int irq, void *arg) +@@ -206,6 +208,7 @@ v3d_hub_irq(int irq, void *arg) ", pte invalid" : ""), ((intsts & V3D_HUB_INT_MMU_CAP) ? ", cap exceeded" : "")); diff --git a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch index 01e267fd48..6e546e6754 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0464-drm-v3d-New-debugfs-end-points-to-query-GPU-usage-st.patch @@ -257,31 +257,31 @@ Signed-off-by: Jose Maria Casanova Crespo + v3d->gpu_queue_stats[V3D_BIN].last_exec_end = local_clock(); trace_v3d_bcl_irq(&v3d->drm, fence->seqno); - dma_fence_signal(&fence->base); -@@ -110,6 +112,7 @@ v3d_irq(int irq, void *arg) + +@@ -112,6 +114,7 @@ v3d_irq(int irq, void *arg) if (intsts & V3D_INT_FRDONE) { struct v3d_fence *fence = to_v3d_fence(v3d->render_job->base.irq_fence); + v3d->gpu_queue_stats[V3D_RENDER].last_exec_end = local_clock(); trace_v3d_rcl_irq(&v3d->drm, fence->seqno); - dma_fence_signal(&fence->base); -@@ -120,6 +123,7 @@ v3d_irq(int irq, void *arg) + +@@ -124,6 +127,7 @@ v3d_irq(int irq, void *arg) if (intsts & V3D_INT_CSDDONE) { struct v3d_fence *fence = to_v3d_fence(v3d->csd_job->base.irq_fence); + v3d->gpu_queue_stats[V3D_CSD].last_exec_end = local_clock(); trace_v3d_csd_irq(&v3d->drm, fence->seqno); - dma_fence_signal(&fence->base); -@@ -157,6 +161,7 @@ v3d_hub_irq(int irq, void *arg) + +@@ -163,6 +167,7 @@ v3d_hub_irq(int irq, void *arg) if (intsts & V3D_HUB_INT_TFUC) { struct v3d_fence *fence = to_v3d_fence(v3d->tfu_job->base.irq_fence); + v3d->gpu_queue_stats[V3D_TFU].last_exec_end = local_clock(); trace_v3d_tfu_irq(&v3d->drm, fence->seqno); - dma_fence_signal(&fence->base); + --- a/drivers/gpu/drm/v3d/v3d_sched.c +++ b/drivers/gpu/drm/v3d/v3d_sched.c @@ -19,6 +19,7 @@ diff --git a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch index 560c2f627f..ca8a34e8e1 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0555-drm-v3d-fix-up-register-addresses-for-V3D-7.x.patch @@ -295,7 +295,7 @@ v2: fix kernel panic with debug-fs interface to list registers static irqreturn_t v3d_hub_irq(int irq, void *arg); -@@ -120,7 +121,8 @@ v3d_irq(int irq, void *arg) +@@ -124,7 +125,8 @@ v3d_irq(int irq, void *arg) status = IRQ_HANDLED; } @@ -305,7 +305,7 @@ v2: fix kernel panic with debug-fs interface to list registers struct v3d_fence *fence = to_v3d_fence(v3d->csd_job->base.irq_fence); v3d->gpu_queue_stats[V3D_CSD].last_exec_end = local_clock(); -@@ -134,7 +136,7 @@ v3d_irq(int irq, void *arg) +@@ -140,7 +142,7 @@ v3d_irq(int irq, void *arg) /* We shouldn't be triggering these if we have GMP in * always-allowed mode. */ @@ -314,7 +314,7 @@ v2: fix kernel panic with debug-fs interface to list registers dev_err(v3d->drm.dev, "GMP violation\n"); /* V3D 4.2 wires the hub and core IRQs together, so if we & -@@ -209,6 +211,11 @@ v3d_hub_irq(int irq, void *arg) +@@ -217,6 +219,11 @@ v3d_hub_irq(int irq, void *arg) status = IRQ_HANDLED; } @@ -326,7 +326,7 @@ v2: fix kernel panic with debug-fs interface to list registers return status; } -@@ -223,8 +230,8 @@ v3d_irq_init(struct v3d_dev *v3d) +@@ -231,8 +238,8 @@ v3d_irq_init(struct v3d_dev *v3d) * for us. */ for (core = 0; core < v3d->cores; core++) @@ -337,7 +337,7 @@ v2: fix kernel panic with debug-fs interface to list registers irq1 = platform_get_irq_optional(v3d_to_pdev(v3d), 1); if (irq1 == -EPROBE_DEFER) -@@ -268,12 +275,12 @@ v3d_irq_enable(struct v3d_dev *v3d) +@@ -276,12 +283,12 @@ v3d_irq_enable(struct v3d_dev *v3d) /* Enable our set of interrupts, masking out any others. */ for (core = 0; core < v3d->cores; core++) { @@ -354,7 +354,7 @@ v2: fix kernel panic with debug-fs interface to list registers } void -@@ -288,8 +295,8 @@ v3d_irq_disable(struct v3d_dev *v3d) +@@ -296,8 +303,8 @@ v3d_irq_disable(struct v3d_dev *v3d) /* Clear any pending interrupts we might have left. */ for (core = 0; core < v3d->cores; core++) diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index 9cf9117d09..e239d20409 100644 --- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6284,6 +6315,8 @@ static int ip6_route_dev_notify(struct n +@@ -6299,6 +6330,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6295,6 +6328,7 @@ static int ip6_route_dev_notify(struct n +@@ -6310,6 +6343,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6495,6 +6529,8 @@ static int __net_init ip6_route_net_init +@@ -6510,6 +6544,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6505,11 +6541,21 @@ static int __net_init ip6_route_net_init +@@ -6520,11 +6556,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6536,6 +6582,8 @@ out: +@@ -6551,6 +6597,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6555,6 +6603,7 @@ static void __net_exit ip6_route_net_exi +@@ -6570,6 +6618,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6638,6 +6687,9 @@ void __init ip6_route_init_special_entri +@@ -6653,6 +6702,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-6.6/834-ledtrig-libata.patch b/target/linux/generic/pending-6.6/834-ledtrig-libata.patch index 672d0d54cf..75fe4dca90 100644 --- a/target/linux/generic/pending-6.6/834-ledtrig-libata.patch +++ b/target/linux/generic/pending-6.6/834-ledtrig-libata.patch @@ -73,7 +73,7 @@ Signed-off-by: Daniel Golle /* clear exclusive status */ if (unlikely(qc->flags & ATA_QCFLAG_CLEAR_EXCL && -@@ -5494,6 +5508,9 @@ struct ata_port *ata_port_alloc(struct a +@@ -5502,6 +5516,9 @@ struct ata_port *ata_port_alloc(struct a ap->stats.unhandled_irq = 1; ap->stats.idle_irq = 1; #endif @@ -83,7 +83,7 @@ Signed-off-by: Daniel Golle ata_sff_port_init(ap); return ap; -@@ -5507,6 +5524,12 @@ void ata_port_free(struct ata_port *ap) +@@ -5515,6 +5532,12 @@ void ata_port_free(struct ata_port *ap) kfree(ap->pmp_link); kfree(ap->slave_link); kfree(ap->ncq_sense_buf); @@ -96,7 +96,7 @@ Signed-off-by: Daniel Golle kfree(ap); } EXPORT_SYMBOL_GPL(ata_port_free); -@@ -5929,7 +5952,23 @@ int ata_host_register(struct ata_host *h +@@ -5937,7 +5960,23 @@ int ata_host_register(struct ata_host *h host->ports[i]->print_id = atomic_inc_return(&ata_print_id); host->ports[i]->local_port_no = i + 1; } From 667b131ad1073b2213154954da9b2920372c4d72 Mon Sep 17 00:00:00 2001 From: John Audia Date: Sun, 9 Feb 2025 07:49:50 -0500 Subject: [PATCH 08/14] kernel: bump 6.6 to 6.6.76 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.76 Manually rebased: bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch Removed upstreamed: bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch[1] bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch[2] bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch[3] ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch[4] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=11c7649c9ec3dcaf0a7760551ad30747d9e02d81 2, 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=5e6e723675e54ced5200bcc367e2526badc4070c 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.76&id=d0edcd0d18d700d76c61c091a24568b8b8c3b387 Build system: x86/64 Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/17822 (cherry picked from commit 84e370f16ca044896e6529d683067c17b565e6fa) Link: https://github.com/openwrt/openwrt/pull/17987 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 +-- .../105-uart-add-en7523-support.patch | 2 +- ...kip-reset-control-for-syscon-devices.patch | 8 ++--- .../900-unaligned_access_hacks.patch | 6 ++-- ...ci-add-quirk-for-host-controllers-th.patch | 4 +-- ...all-the-downstream-rpi-sound-card-dr.patch | 2 +- ...und-for-bogus-SET_DEQ_PENDING-endpoi.patch | 2 +- ...53x-Add-ti-tca9554-compatible-string.patch | 2 +- ...-quirks-add-link-TRB-quirk-for-VL805.patch | 2 +- ...5-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch | 6 ++-- ...mstb-Allow-to-build-for-ARCH_BCM2835.patch | 12 +++---- ...wc3-Set-DMA-and-coherent-masks-early.patch | 16 ++++----- ...rcmstb-Use-dynamic-GPIO-base-numbers.patch | 14 ++++---- ...-add-FS-LS-bus-instance-parkmode-dis.patch | 2 +- ...d-support-for-setting-NAK-enhancemen.patch | 2 +- ...-prevent-a-theoretical-race-on-non-c.patch | 2 +- ...c-ov9282-Correct-the-exposure-offset.patch | 31 ----------------- ...-announce-support-for-SER_RS485_RTS_.patch | 2 +- ...-frame-size-to-support-just-MTU-1500.patch | 33 ------------------- ...-frame-size-to-support-just-MTU-1500.patch | 33 ------------------- ...nand-Support-write-protection-settin.patch | 2 +- ...-to-use-SMP-threads-for-backlog-NAPI.patch | 8 ++--- ...-net-Make-USO-depend-on-CSUM-offload.patch | 6 ++-- ...64-if-device-if-driver-is-configured.patch | 2 +- ...-create-a-dummy-net_device-allocator.patch | 6 ++-- ...et-free_netdev-exit-earlier-if-dummy.patch | 2 +- .../hack-6.6/773-bgmac-add-srab-switch.patch | 4 +-- ...ow_offload-handle-netdevice-events-f.patch | 2 +- ...les-ignore-EOPNOTSUPP-on-flowtable-d.patch | 2 +- ...les-fix-bidirectional-offload-regres.patch | 6 ++-- ...0211_ptr-even-with-no-CFG82111-suppo.patch | 2 +- ...e-old-opp-to-config_clks-on-_set_opp.patch | 8 ++--- ...-max-gen-first-for-IMX8MM-and-IMX8MP.patch | 20 ++++++----- .../patches-6.6/410-bt-mtk-serial-fix.patch | 2 +- ...s-add-mmc-related-clocks-for-SoCs-MT.patch | 8 ++--- ...ove-duplicated-xtal-clock-for-Ralink.patch | 28 ---------------- .../810-uvc-add-iPassion-iP2970-support.patch | 2 +- ...c3-add-optional-PHY-interface-clocks.patch | 2 +- ...t-8250-Add-dw-auto-flow-ctrl-support.patch | 2 +- ...ove-performance-usb-using-lowmem-for.patch | 2 +- 40 files changed, 89 insertions(+), 212 deletions(-) delete mode 100644 target/linux/bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch delete mode 100644 target/linux/bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch delete mode 100644 target/linux/bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch delete mode 100644 target/linux/ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 4586ce50c3..0dcd32546d 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .75 -LINUX_KERNEL_HASH-6.6.75 = f7dfb1fa9716ba139d0b4c8161535816d400dea21d5943f513448429b1790290 +LINUX_VERSION-6.6 = .76 +LINUX_KERNEL_HASH-6.6.76 = 81168b15f0c64034a2ab553ae37a5a38b79c3fe10f69faccc9f374ced4eb13a0 diff --git a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch index 38611b907c..80b6550be3 100644 --- a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch +++ b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch @@ -122,7 +122,7 @@ }; /* Uart divisor latch read */ -@@ -2880,6 +2888,12 @@ serial8250_do_set_termios(struct uart_po +@@ -2881,6 +2889,12 @@ serial8250_do_set_termios(struct uart_po serial8250_set_divisor(port, baud, quot, frac); diff --git a/target/linux/ath79/patches-6.6/820-mfd-syscon-support-skip-reset-control-for-syscon-devices.patch b/target/linux/ath79/patches-6.6/820-mfd-syscon-support-skip-reset-control-for-syscon-devices.patch index c73c8443b9..3bdc2faf3f 100644 --- a/target/linux/ath79/patches-6.6/820-mfd-syscon-support-skip-reset-control-for-syscon-devices.patch +++ b/target/linux/ath79/patches-6.6/820-mfd-syscon-support-skip-reset-control-for-syscon-devices.patch @@ -16,16 +16,16 @@ Signed-off-by: Shiji Yang --- a/drivers/mfd/syscon.c +++ b/drivers/mfd/syscon.c -@@ -52,7 +52,7 @@ static struct syscon *of_syscon_register +@@ -53,7 +53,7 @@ static struct syscon *of_syscon_register int ret; struct regmap_config syscon_config = syscon_regmap_config; struct resource res; - struct reset_control *reset; + struct reset_control *reset = NULL; - syscon = kzalloc(sizeof(*syscon), GFP_KERNEL); - if (!syscon) -@@ -134,7 +134,8 @@ static struct syscon *of_syscon_register + WARN_ON(!mutex_is_locked(&syscon_list_lock)); + +@@ -133,7 +133,8 @@ static struct syscon *of_syscon_register goto err_attach_clk; } diff --git a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch index 969cde5ce2..51f4f542d8 100644 --- a/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch +++ b/target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch @@ -350,7 +350,7 @@ SVN-Revision: 35130 list_for_each_entry(p, head, list) { --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c -@@ -622,48 +622,53 @@ static void tcp_options_write(struct tcp +@@ -625,48 +625,53 @@ static void tcp_options_write(struct tcp u16 options = opts->options; /* mungable copy */ if (unlikely(OPTION_MD5 & options)) { @@ -427,7 +427,7 @@ SVN-Revision: 35130 } if (unlikely(opts->num_sack_blocks)) { -@@ -671,16 +676,17 @@ static void tcp_options_write(struct tcp +@@ -674,16 +679,17 @@ static void tcp_options_write(struct tcp tp->duplicate_sack : tp->selective_acks; int this_sack; @@ -451,7 +451,7 @@ SVN-Revision: 35130 } tp->rx_opt.dsack = 0; -@@ -693,13 +699,14 @@ static void tcp_options_write(struct tcp +@@ -696,13 +702,14 @@ static void tcp_options_write(struct tcp if (foc->exp) { len = TCPOLEN_EXP_FASTOPEN_BASE + foc->len; diff --git a/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch b/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch index 7dc38f0611..3898e05aae 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0061-Revert-Revert-xhci-add-quirk-for-host-controllers-th.patch @@ -28,7 +28,7 @@ We don't agree with upstream revert so undo it. pdev->device == PCI_DEVICE_ID_ASMEDIA_1042_XHCI) { --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -634,8 +634,11 @@ static int xhci_move_dequeue_past_td(str +@@ -635,8 +635,11 @@ static int xhci_move_dequeue_past_td(str struct xhci_ring *ep_ring; struct xhci_command *cmd; struct xhci_segment *new_seg; @@ -40,7 +40,7 @@ We don't agree with upstream revert so undo it. dma_addr_t addr; u64 hw_dequeue; bool cycle_found = false; -@@ -673,7 +676,27 @@ static int xhci_move_dequeue_past_td(str +@@ -674,7 +677,27 @@ static int xhci_move_dequeue_past_td(str hw_dequeue = xhci_get_hw_deq(xhci, dev, ep_index, stream_id); new_seg = ep_ring->deq_seg; new_deq = ep_ring->dequeue; diff --git a/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch b/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch index 7808827ee8..1d2f006258 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0106-Add-support-for-all-the-downstream-rpi-sound-card-dr.patch @@ -17583,7 +17583,7 @@ Signed-off-by: Phil Elwell * For devices with more than one control interface, we assume the --- a/sound/usb/quirks.c +++ b/sound/usb/quirks.c -@@ -2251,6 +2251,8 @@ static const struct usb_audio_quirk_flag +@@ -2253,6 +2253,8 @@ static const struct usb_audio_quirk_flag QUIRK_FLAG_ALIGN_TRANSFER), DEVICE_FLG(0x534d, 0x2109, /* MacroSilicon MS2109 */ QUIRK_FLAG_ALIGN_TRANSFER), diff --git a/target/linux/bcm27xx/patches-6.6/950-0162-usb-xhci-workaround-for-bogus-SET_DEQ_PENDING-endpoi.patch b/target/linux/bcm27xx/patches-6.6/950-0162-usb-xhci-workaround-for-bogus-SET_DEQ_PENDING-endpoi.patch index bae9286365..9d22d74510 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0162-usb-xhci-workaround-for-bogus-SET_DEQ_PENDING-endpoi.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0162-usb-xhci-workaround-for-bogus-SET_DEQ_PENDING-endpoi.patch @@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -739,9 +739,9 @@ deq_found: +@@ -740,9 +740,9 @@ deq_found: } if ((ep->ep_state & SET_DEQ_PENDING)) { diff --git a/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch b/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch index aa11729b71..be8e134cf6 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch @@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c -@@ -1347,6 +1347,7 @@ static const struct of_device_id pca953x +@@ -1330,6 +1330,7 @@ static const struct of_device_id pca953x { .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), }, { .compatible = "ti,tca9538", .data = OF_953X( 8, PCA_INT), }, { .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), }, diff --git a/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch index 5547943880..2b267c7792 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0482-xhci-quirks-add-link-TRB-quirk-for-VL805.patch @@ -34,7 +34,7 @@ Signed-off-by: Jonathan Bell if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -729,6 +729,15 @@ static int xhci_move_dequeue_past_td(str +@@ -730,6 +730,15 @@ static int xhci_move_dequeue_past_td(str } while (!cycle_found || !td_last_trb_found); deq_found: diff --git a/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch b/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch index 26abb99fe6..adf25d9495 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0485-usb-xhci-add-XHCI_VLI_HUB_TT_QUIRK.patch @@ -75,7 +75,7 @@ Signed-off-by: Jonathan Bell if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA && --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3714,6 +3714,48 @@ static int xhci_align_td(struct xhci_hcd +@@ -3715,6 +3715,48 @@ static int xhci_align_td(struct xhci_hcd return 1; } @@ -124,7 +124,7 @@ Signed-off-by: Jonathan Bell /* This is very similar to what ehci-q.c qtd_fill() does */ int xhci_queue_bulk_tx(struct xhci_hcd *xhci, gfp_t mem_flags, struct urb *urb, int slot_id, unsigned int ep_index) -@@ -3870,6 +3912,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3871,6 +3913,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * } check_trb_math(urb, enqd_len); @@ -133,7 +133,7 @@ Signed-off-by: Jonathan Bell giveback_first_trb(xhci, slot_id, ep_index, urb->stream_id, start_cycle, start_trb); return 0; -@@ -4019,6 +4063,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * +@@ -4020,6 +4064,8 @@ int xhci_queue_ctrl_tx(struct xhci_hcd * /* Event on completion */ field | TRB_IOC | TRB_TYPE(TRB_STATUS) | ep_ring->cycle_state); diff --git a/target/linux/bcm27xx/patches-6.6/950-0509-gpio_brcmstb-Allow-to-build-for-ARCH_BCM2835.patch b/target/linux/bcm27xx/patches-6.6/950-0509-gpio_brcmstb-Allow-to-build-for-ARCH_BCM2835.patch index a6a976257b..cef1bf42a1 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0509-gpio_brcmstb-Allow-to-build-for-ARCH_BCM2835.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0509-gpio_brcmstb-Allow-to-build-for-ARCH_BCM2835.patch @@ -53,16 +53,16 @@ Signed-off-by: Phil Elwell help --- a/drivers/gpio/gpio-brcmstb.c +++ b/drivers/gpio/gpio-brcmstb.c -@@ -639,6 +639,8 @@ static int brcmstb_gpio_probe(struct pla +@@ -637,6 +637,8 @@ static int brcmstb_gpio_probe(struct pla #if defined(CONFIG_MIPS) && defined(__BIG_ENDIAN) flags = BGPIOF_BIG_ENDIAN_BYTE_ORDER; #endif + if (of_property_read_bool(np, "brcm,gpio-direct")) + flags |= BGPIOF_REG_DIRECT; - of_property_for_each_u32(np, "brcm,gpio-bank-widths", prop, p, - bank_width) { -@@ -688,7 +690,9 @@ static int brcmstb_gpio_probe(struct pla + of_property_for_each_u32(np, "brcm,gpio-bank-widths", bank_width) { + struct brcmstb_gpio_bank *bank; +@@ -685,7 +687,9 @@ static int brcmstb_gpio_probe(struct pla } gc->owner = THIS_MODULE; @@ -73,7 +73,7 @@ Signed-off-by: Phil Elwell if (!gc->label) { err = -ENOMEM; goto fail; -@@ -697,7 +701,7 @@ static int brcmstb_gpio_probe(struct pla +@@ -694,7 +698,7 @@ static int brcmstb_gpio_probe(struct pla gc->of_gpio_n_cells = 2; gc->of_xlate = brcmstb_gpio_of_xlate; /* not all ngpio lines are valid, will use bank width later */ @@ -82,7 +82,7 @@ Signed-off-by: Phil Elwell gc->offset = bank->id * MAX_GPIO_PER_BANK; if (priv->parent_irq > 0) gc->to_irq = brcmstb_gpio_to_irq; -@@ -706,8 +710,10 @@ static int brcmstb_gpio_probe(struct pla +@@ -703,8 +707,10 @@ static int brcmstb_gpio_probe(struct pla * Mask all interrupts by default, since wakeup interrupts may * be retained from S5 cold boot */ diff --git a/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch b/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch index db3b6cd828..8a469986f0 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0519-usb-dwc3-Set-DMA-and-coherent-masks-early.patch @@ -276,10 +276,10 @@ Signed-off-by: Jonathan Bell u8 tx_max_burst_prd = 0; u8 tx_fifo_resize_max_num; + u8 axi_pipe_limit; - const char *usb_psy_name; - int ret; -@@ -1527,6 +1566,9 @@ static void dwc3_get_properties(struct d + /* default to highest possible threshold */ + lpm_nyet_threshold = 0xf; +@@ -1525,6 +1564,9 @@ static void dwc3_get_properties(struct d */ tx_fifo_resize_max_num = 6; @@ -289,7 +289,7 @@ Signed-off-by: Jonathan Bell dwc->maximum_speed = usb_get_maximum_speed(dev); dwc->max_ssp_rate = usb_get_maximum_ssp_rate(dev); dwc->dr_mode = usb_get_dr_mode(dev); -@@ -1648,6 +1690,9 @@ static void dwc3_get_properties(struct d +@@ -1639,6 +1681,9 @@ static void dwc3_get_properties(struct d dwc->dis_split_quirk = device_property_read_bool(dev, "snps,dis-split-quirk"); @@ -299,7 +299,7 @@ Signed-off-by: Jonathan Bell dwc->lpm_nyet_threshold = lpm_nyet_threshold; dwc->tx_de_emphasis = tx_de_emphasis; -@@ -1665,6 +1710,8 @@ static void dwc3_get_properties(struct d +@@ -1656,6 +1701,8 @@ static void dwc3_get_properties(struct d dwc->tx_thr_num_pkt_prd = tx_thr_num_pkt_prd; dwc->tx_max_burst_prd = tx_max_burst_prd; @@ -308,9 +308,9 @@ Signed-off-by: Jonathan Bell dwc->imod_interval = 0; dwc->tx_fifo_resize_max_num = tx_fifo_resize_max_num; -@@ -1940,6 +1987,12 @@ static int dwc3_probe(struct platform_de - - dwc3_get_properties(dwc); +@@ -1952,6 +1999,12 @@ static int dwc3_probe(struct platform_de + if (IS_ERR(dwc->usb_psy)) + return dev_err_probe(dev, PTR_ERR(dwc->usb_psy), "couldn't get usb power supply\n"); + if (!dwc->sysdev_is_parent) { + ret = dma_set_mask_and_coherent(dwc->sysdev, DMA_BIT_MASK(64)); diff --git a/target/linux/bcm27xx/patches-6.6/950-0661-gpio-brcmstb-Use-dynamic-GPIO-base-numbers.patch b/target/linux/bcm27xx/patches-6.6/950-0661-gpio-brcmstb-Use-dynamic-GPIO-base-numbers.patch index 1f0907f399..2886d9427f 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0661-gpio-brcmstb-Use-dynamic-GPIO-base-numbers.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0661-gpio-brcmstb-Use-dynamic-GPIO-base-numbers.patch @@ -61,8 +61,8 @@ Fixes: 3b0213d56eb7 ("gpio: Add GPIO support for Broadcom STB SoCs") if (offset >= gc->ngpio || offset < 0) return -EINVAL; -@@ -598,8 +598,8 @@ static int brcmstb_gpio_probe(struct pla - const __be32 *p; +@@ -596,8 +596,8 @@ static int brcmstb_gpio_probe(struct pla + struct resource *res; u32 bank_width; int num_banks = 0; + int num_gpios = 0; @@ -71,7 +71,7 @@ Fixes: 3b0213d56eb7 ("gpio: Add GPIO support for Broadcom STB SoCs") unsigned long flags = 0; bool need_wakeup_event = false; -@@ -613,7 +613,6 @@ static int brcmstb_gpio_probe(struct pla +@@ -611,7 +611,6 @@ static int brcmstb_gpio_probe(struct pla if (IS_ERR(reg_base)) return PTR_ERR(reg_base); @@ -79,7 +79,7 @@ Fixes: 3b0213d56eb7 ("gpio: Add GPIO support for Broadcom STB SoCs") priv->reg_base = reg_base; priv->pdev = pdev; -@@ -655,7 +654,7 @@ static int brcmstb_gpio_probe(struct pla +@@ -652,7 +651,7 @@ static int brcmstb_gpio_probe(struct pla dev_dbg(dev, "Width 0 found: Empty bank @ %d\n", num_banks); num_banks++; @@ -88,7 +88,7 @@ Fixes: 3b0213d56eb7 ("gpio: Add GPIO support for Broadcom STB SoCs") continue; } -@@ -697,7 +696,7 @@ static int brcmstb_gpio_probe(struct pla +@@ -694,7 +693,7 @@ static int brcmstb_gpio_probe(struct pla err = -ENOMEM; goto fail; } @@ -97,7 +97,7 @@ Fixes: 3b0213d56eb7 ("gpio: Add GPIO support for Broadcom STB SoCs") gc->of_gpio_n_cells = 2; gc->of_xlate = brcmstb_gpio_of_xlate; /* not all ngpio lines are valid, will use bank width later */ -@@ -721,7 +720,7 @@ static int brcmstb_gpio_probe(struct pla +@@ -718,7 +717,7 @@ static int brcmstb_gpio_probe(struct pla bank->id); goto fail; } @@ -106,7 +106,7 @@ Fixes: 3b0213d56eb7 ("gpio: Add GPIO support for Broadcom STB SoCs") dev_dbg(dev, "bank=%d, base=%d, ngpio=%d, width=%d\n", bank->id, gc->base, gc->ngpio, bank->width); -@@ -732,7 +731,7 @@ static int brcmstb_gpio_probe(struct pla +@@ -729,7 +728,7 @@ static int brcmstb_gpio_probe(struct pla num_banks++; } diff --git a/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch b/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch index 0441512add..abd631b6f7 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0853-drivers-usb-dwc3-add-FS-LS-bus-instance-parkmode-dis.patch @@ -26,7 +26,7 @@ Signed-off-by: Jonathan Bell if (DWC3_VER_IS_WITHIN(DWC3, 290A, ANY) && (dwc->maximum_speed == USB_SPEED_HIGH || dwc->maximum_speed == USB_SPEED_FULL)) -@@ -1670,6 +1673,8 @@ static void dwc3_get_properties(struct d +@@ -1661,6 +1664,8 @@ static void dwc3_get_properties(struct d "snps,parkmode-disable-ss-quirk"); dwc->parkmode_disable_hs_quirk = device_property_read_bool(dev, "snps,parkmode-disable-hs-quirk"); diff --git a/target/linux/bcm27xx/patches-6.6/950-1359-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch b/target/linux/bcm27xx/patches-6.6/950-1359-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch index 8995f6f9dc..0ed02a82cf 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1359-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1359-usb-dwc3-core-add-support-for-setting-NAK-enhancemen.patch @@ -35,7 +35,7 @@ Signed-off-by: Jonathan Bell if (dwc->parkmode_disable_ss_quirk) reg |= DWC3_GUCTL1_PARKMODE_DISABLE_SS; -@@ -1669,6 +1675,10 @@ static void dwc3_get_properties(struct d +@@ -1660,6 +1666,10 @@ static void dwc3_get_properties(struct d "snps,resume-hs-terminations"); dwc->ulpi_ext_vbus_drv = device_property_read_bool(dev, "snps,ulpi-ext-vbus-drv"); diff --git a/target/linux/bcm27xx/patches-6.6/950-1361-drivers-usb-xhci-prevent-a-theoretical-race-on-non-c.patch b/target/linux/bcm27xx/patches-6.6/950-1361-drivers-usb-xhci-prevent-a-theoretical-race-on-non-c.patch index c2f37a0fc1..50819fc7f2 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1361-drivers-usb-xhci-prevent-a-theoretical-race-on-non-c.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1361-drivers-usb-xhci-prevent-a-theoretical-race-on-non-c.patch @@ -28,7 +28,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -506,6 +506,19 @@ void xhci_ring_ep_doorbell(struct xhci_h +@@ -507,6 +507,19 @@ void xhci_ring_ep_doorbell(struct xhci_h trace_xhci_ring_ep_doorbell(slot_id, DB_VALUE(ep_index, stream_id)); diff --git a/target/linux/bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch b/target/linux/bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch deleted file mode 100644 index f673f547dd..0000000000 --- a/target/linux/bcm27xx/patches-6.6/950-1446-media-i2c-ov9282-Correct-the-exposure-offset.patch +++ /dev/null @@ -1,31 +0,0 @@ -From e23afbf2c7aae9264322eee8e5c72ca1887606df Mon Sep 17 00:00:00 2001 -From: Dave Stevenson -Date: Mon, 9 Dec 2024 10:43:18 +0000 -Subject: [PATCH] media: i2c: ov9282: Correct the exposure offset - -The datasheet lists that "Maximum exposure time is frame -length -25 row periods, where frame length is set by -registers {0x380E, 0x380F}". -However this driver had OV9282_EXPOSURE_OFFSET set to 12 -which allowed that restriction to be violated, and would -result in very under-exposed images. - -Correct the offset. - -Fixes: 14ea315bbeb7 ("media: i2c: Add ov9282 camera sensor driver") -Signed-off-by: Dave Stevenson ---- - drivers/media/i2c/ov9282.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/media/i2c/ov9282.c -+++ b/drivers/media/i2c/ov9282.c -@@ -40,7 +40,7 @@ - /* Exposure control */ - #define OV9282_REG_EXPOSURE 0x3500 - #define OV9282_EXPOSURE_MIN 1 --#define OV9282_EXPOSURE_OFFSET 12 -+#define OV9282_EXPOSURE_OFFSET 25 - #define OV9282_EXPOSURE_STEP 1 - #define OV9282_EXPOSURE_DEFAULT 0x0282 - diff --git a/target/linux/bcm27xx/patches-6.6/950-1464-serial-sc16is7xx-announce-support-for-SER_RS485_RTS_.patch b/target/linux/bcm27xx/patches-6.6/950-1464-serial-sc16is7xx-announce-support-for-SER_RS485_RTS_.patch index f78402d0c5..2f52823afc 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1464-serial-sc16is7xx-announce-support-for-SER_RS485_RTS_.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1464-serial-sc16is7xx-announce-support-for-SER_RS485_RTS_.patch @@ -31,7 +31,7 @@ Signed-off-by: Greg Kroah-Hartman --- a/drivers/tty/serial/sc16is7xx.c +++ b/drivers/tty/serial/sc16is7xx.c -@@ -1457,7 +1457,7 @@ static int sc16is7xx_setup_mctrl_ports(s +@@ -1480,7 +1480,7 @@ static int sc16is7xx_setup_mctrl_ports(s } static const struct serial_rs485 sc16is7xx_rs485_supported = { diff --git a/target/linux/bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch b/target/linux/bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch deleted file mode 100644 index 3a2f4b06ed..0000000000 --- a/target/linux/bcm47xx/patches-6.6/701-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Fri, 10 Jun 2022 13:10:47 +0200 -Subject: [PATCH] bgmac: reduce max frame size to support just MTU 1500 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -bgmac allocates new replacement buffer before handling each received -frame. Allocating & DMA-preparing 9724 B each time consumes a lot of CPU -time. Ideally bgmac should just respect currently set MTU but it isn't -the case right now. For now just revert back to the old limited frame -size. - -This change bumps NAT masquarade speed by ~95%. - -Ref: 8c7da63978f1 ("bgmac: configure MTU and add support for frames beyond 8192 byte size") -Signed-off-by: Rafał Miłecki ---- - drivers/net/ethernet/broadcom/bgmac.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/drivers/net/ethernet/broadcom/bgmac.h -+++ b/drivers/net/ethernet/broadcom/bgmac.h -@@ -328,8 +328,7 @@ - #define BGMAC_RX_FRAME_OFFSET 30 /* There are 2 unused bytes between header and real data */ - #define BGMAC_RX_BUF_OFFSET (NET_SKB_PAD + NET_IP_ALIGN - \ - BGMAC_RX_FRAME_OFFSET) --/* Jumbo frame size with FCS */ --#define BGMAC_RX_MAX_FRAME_SIZE 9724 -+#define BGMAC_RX_MAX_FRAME_SIZE 1536 - #define BGMAC_RX_BUF_SIZE (BGMAC_RX_FRAME_OFFSET + BGMAC_RX_MAX_FRAME_SIZE) - #define BGMAC_RX_ALLOC_SIZE (SKB_DATA_ALIGN(BGMAC_RX_BUF_SIZE + BGMAC_RX_BUF_OFFSET) + \ - SKB_DATA_ALIGN(sizeof(struct skb_shared_info))) diff --git a/target/linux/bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch b/target/linux/bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch deleted file mode 100644 index 3a2f4b06ed..0000000000 --- a/target/linux/bcm53xx/patches-6.6/700-bgmac-reduce-max-frame-size-to-support-just-MTU-1500.patch +++ /dev/null @@ -1,33 +0,0 @@ -From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= -Date: Fri, 10 Jun 2022 13:10:47 +0200 -Subject: [PATCH] bgmac: reduce max frame size to support just MTU 1500 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -bgmac allocates new replacement buffer before handling each received -frame. Allocating & DMA-preparing 9724 B each time consumes a lot of CPU -time. Ideally bgmac should just respect currently set MTU but it isn't -the case right now. For now just revert back to the old limited frame -size. - -This change bumps NAT masquarade speed by ~95%. - -Ref: 8c7da63978f1 ("bgmac: configure MTU and add support for frames beyond 8192 byte size") -Signed-off-by: Rafał Miłecki ---- - drivers/net/ethernet/broadcom/bgmac.h | 3 +-- - 1 file changed, 1 insertion(+), 2 deletions(-) - ---- a/drivers/net/ethernet/broadcom/bgmac.h -+++ b/drivers/net/ethernet/broadcom/bgmac.h -@@ -328,8 +328,7 @@ - #define BGMAC_RX_FRAME_OFFSET 30 /* There are 2 unused bytes between header and real data */ - #define BGMAC_RX_BUF_OFFSET (NET_SKB_PAD + NET_IP_ALIGN - \ - BGMAC_RX_FRAME_OFFSET) --/* Jumbo frame size with FCS */ --#define BGMAC_RX_MAX_FRAME_SIZE 9724 -+#define BGMAC_RX_MAX_FRAME_SIZE 1536 - #define BGMAC_RX_BUF_SIZE (BGMAC_RX_FRAME_OFFSET + BGMAC_RX_MAX_FRAME_SIZE) - #define BGMAC_RX_ALLOC_SIZE (SKB_DATA_ALIGN(BGMAC_RX_BUF_SIZE + BGMAC_RX_BUF_OFFSET) + \ - SKB_DATA_ALIGN(sizeof(struct skb_shared_info))) diff --git a/target/linux/generic/backport-6.6/400-v6.9-mtd-rawnand-brcmnand-Support-write-protection-settin.patch b/target/linux/generic/backport-6.6/400-v6.9-mtd-rawnand-brcmnand-Support-write-protection-settin.patch index 257624164a..a7186208b2 100644 --- a/target/linux/generic/backport-6.6/400-v6.9-mtd-rawnand-brcmnand-Support-write-protection-settin.patch +++ b/target/linux/generic/backport-6.6/400-v6.9-mtd-rawnand-brcmnand-Support-write-protection-settin.patch @@ -23,7 +23,7 @@ Link: https://lore.kernel.org/linux-mtd/20240223034758.13753-14-william.zhang@br --- a/drivers/mtd/nand/raw/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/raw/brcmnand/brcmnand.c -@@ -3189,6 +3189,10 @@ int brcmnand_probe(struct platform_devic +@@ -3194,6 +3194,10 @@ int brcmnand_probe(struct platform_devic /* Disable XOR addressing */ brcmnand_rmw_reg(ctrl, BRCMNAND_CS_XOR, 0xff, 0, 0); diff --git a/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch b/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch index b3729e8b6c..3de258f953 100644 --- a/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch +++ b/target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch @@ -250,7 +250,7 @@ Signed-off-by: Paolo Abeni return 0; } -@@ -11299,7 +11340,7 @@ static int dev_cpu_dead(unsigned int old +@@ -11303,7 +11344,7 @@ static int dev_cpu_dead(unsigned int old list_del_init(&napi->poll_list); if (napi->poll == process_backlog) @@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni else ____napi_schedule(sd, napi); } -@@ -11307,12 +11348,14 @@ static int dev_cpu_dead(unsigned int old +@@ -11311,12 +11352,14 @@ static int dev_cpu_dead(unsigned int old raise_softirq_irqoff(NET_TX_SOFTIRQ); local_irq_enable(); @@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni /* Process offline CPU's input_pkt_queue */ while ((skb = __skb_dequeue(&oldsd->process_queue))) { -@@ -11575,6 +11618,38 @@ static struct pernet_operations __net_in +@@ -11579,6 +11622,38 @@ static struct pernet_operations __net_in * */ @@ -317,7 +317,7 @@ Signed-off-by: Paolo Abeni /* * This is called single threaded during boot, so no need * to take the rtnl semaphore. -@@ -11625,7 +11700,10 @@ static int __init net_dev_init(void) +@@ -11629,7 +11704,10 @@ static int __init net_dev_init(void) init_gro_hash(&sd->backlog); sd->backlog.poll = process_backlog; sd->backlog.weight = weight_p; diff --git a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch index 6b5272d583..6cd162ff1c 100644 --- a/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch +++ b/target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch @@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -9761,6 +9761,15 @@ static void netdev_sync_lower_features(s +@@ -9765,6 +9765,15 @@ static void netdev_sync_lower_features(s } } @@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski static netdev_features_t netdev_fix_features(struct net_device *dev, netdev_features_t features) { -@@ -9842,15 +9851,9 @@ static netdev_features_t netdev_fix_feat +@@ -9846,15 +9855,9 @@ static netdev_features_t netdev_fix_feat features &= ~NETIF_F_LRO; } @@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski } if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) { -@@ -9858,6 +9861,11 @@ static netdev_features_t netdev_fix_feat +@@ -9862,6 +9865,11 @@ static netdev_features_t netdev_fix_feat features &= ~NETIF_F_HW_TLS_RX; } diff --git a/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch b/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch index 8f2c26d654..21ba0acc5b 100644 --- a/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch +++ b/target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch @@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10668,6 +10668,8 @@ struct rtnl_link_stats64 *dev_get_stats( +@@ -10672,6 +10672,8 @@ struct rtnl_link_stats64 *dev_get_stats( ops->ndo_get_stats64(dev, storage); } else if (ops->ndo_get_stats) { netdev_stats_to_stats64(storage, ops->ndo_get_stats(dev)); diff --git a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch index c8b4ccc300..c6718c8e22 100644 --- a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch +++ b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch @@ -49,7 +49,7 @@ Signed-off-by: David S. Miller unsigned char name_assign_type, --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10355,25 +10355,12 @@ err_free_name: +@@ -10359,25 +10359,12 @@ err_free_name: } EXPORT_SYMBOL(register_netdevice); @@ -79,7 +79,7 @@ Signed-off-by: David S. Miller /* make sure we BUG if trying to hit standard * register/unregister code path */ -@@ -10393,12 +10380,32 @@ int init_dummy_netdev(struct net_device +@@ -10397,12 +10384,32 @@ int init_dummy_netdev(struct net_device * because users of this 'device' dont need to change * its refcount. */ @@ -113,7 +113,7 @@ Signed-off-by: David S. Miller /** * register_netdev - register a network device * @dev: device to register -@@ -10992,6 +10999,19 @@ void free_netdev(struct net_device *dev) +@@ -10996,6 +11003,19 @@ void free_netdev(struct net_device *dev) EXPORT_SYMBOL(free_netdev); /** diff --git a/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch b/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch index 5f7210812f..b3a592f078 100644 --- a/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch +++ b/target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch @@ -23,7 +23,7 @@ Signed-off-by: David S. Miller --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10985,7 +10985,8 @@ void free_netdev(struct net_device *dev) +@@ -10989,7 +10989,8 @@ void free_netdev(struct net_device *dev) dev->xdp_bulkq = NULL; /* Compatibility with error handling in drivers */ diff --git a/target/linux/generic/hack-6.6/773-bgmac-add-srab-switch.patch b/target/linux/generic/hack-6.6/773-bgmac-add-srab-switch.patch index 633cacd1e7..40634f9ed0 100644 --- a/target/linux/generic/hack-6.6/773-bgmac-add-srab-switch.patch +++ b/target/linux/generic/hack-6.6/773-bgmac-add-srab-switch.patch @@ -78,7 +78,7 @@ Signed-off-by: Hauke Mehrtens netif_napi_del(&bgmac->napi); --- a/drivers/net/ethernet/broadcom/bgmac.h +++ b/drivers/net/ethernet/broadcom/bgmac.h -@@ -388,6 +388,7 @@ +@@ -387,6 +387,7 @@ #define BGMAC_FEAT_CC4_IF_SW_TYPE_RGMII BIT(18) #define BGMAC_FEAT_CC7_IF_TYPE_RGMII BIT(19) #define BGMAC_FEAT_IDM_MASK BIT(20) @@ -86,7 +86,7 @@ Signed-off-by: Hauke Mehrtens struct bgmac_slot_info { union { -@@ -495,6 +496,9 @@ struct bgmac { +@@ -494,6 +495,9 @@ struct bgmac { void (*cmn_maskset32)(struct bgmac *bgmac, u16 offset, u32 mask, u32 set); int (*phy_connect)(struct bgmac *bgmac); diff --git a/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch b/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch index 750ca29287..c69be593f9 100644 --- a/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch +++ b/target/linux/generic/pending-6.6/700-netfilter-nft_flow_offload-handle-netdevice-events-f.patch @@ -59,7 +59,7 @@ Signed-off-by: Pablo Neira Ayuso } --- a/net/netfilter/nft_flow_offload.c +++ b/net/netfilter/nft_flow_offload.c -@@ -480,47 +480,14 @@ static struct nft_expr_type nft_flow_off +@@ -486,47 +486,14 @@ static struct nft_expr_type nft_flow_off .owner = THIS_MODULE, }; diff --git a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch index 6cb52d00a2..373b3e87ba 100644 --- a/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch +++ b/target/linux/generic/pending-6.6/701-netfilter-nf_tables-ignore-EOPNOTSUPP-on-flowtable-d.patch @@ -18,7 +18,7 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nf_tables_api.c +++ b/net/netfilter/nf_tables_api.c -@@ -8425,7 +8425,7 @@ static int nft_register_flowtable_net_ho +@@ -8470,7 +8470,7 @@ static int nft_register_flowtable_net_ho err = flowtable->data.type->setup(&flowtable->data, hook->ops.dev, FLOW_BLOCK_BIND); diff --git a/target/linux/generic/pending-6.6/704-netfilter-nf_tables-fix-bidirectional-offload-regres.patch b/target/linux/generic/pending-6.6/704-netfilter-nf_tables-fix-bidirectional-offload-regres.patch index d1d6fa3fe1..a538c3333e 100644 --- a/target/linux/generic/pending-6.6/704-netfilter-nf_tables-fix-bidirectional-offload-regres.patch +++ b/target/linux/generic/pending-6.6/704-netfilter-nf_tables-fix-bidirectional-offload-regres.patch @@ -14,9 +14,9 @@ Signed-off-by: Felix Fietkau --- a/net/netfilter/nft_flow_offload.c +++ b/net/netfilter/nft_flow_offload.c -@@ -361,6 +361,7 @@ static void nft_flow_offload_eval(const - ct->proto.tcp.seen[1].flags |= IP_CT_TCP_FLAG_BE_LIBERAL; - } +@@ -367,6 +367,7 @@ static void nft_flow_offload_eval(const + if (tcph) + flow_offload_ct_tcp(ct); + __set_bit(NF_FLOW_HW_BIDIRECTIONAL, &flow->flags); ret = flow_offload_add(flowtable, flow); diff --git a/target/linux/generic/pending-6.6/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch b/target/linux/generic/pending-6.6/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch index 1f07c0f62c..8679ffb13f 100644 --- a/target/linux/generic/pending-6.6/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch +++ b/target/linux/generic/pending-6.6/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch @@ -19,7 +19,7 @@ Signed-off-by: Christian Marangi +++ b/include/linux/netdevice.h @@ -2243,7 +2243,7 @@ struct net_device { #if IS_ENABLED(CONFIG_AX25) - void *ax25_ptr; + struct ax25_dev __rcu *ax25_ptr; #endif -#if IS_ENABLED(CONFIG_CFG80211) +#if IS_ENABLED(CONFIG_CFG80211_HEADERS) diff --git a/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch b/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch index 7f67091478..3da2aed0df 100644 --- a/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch +++ b/target/linux/generic/pending-6.6/802-OPP-Provide-old-opp-to-config_clks-on-_set_opp.patch @@ -33,7 +33,7 @@ Signed-off-by: Christian Marangi return 0; --- a/drivers/opp/core.c +++ b/drivers/opp/core.c -@@ -902,7 +902,8 @@ static int _set_opp_voltage(struct devic +@@ -925,7 +925,8 @@ static int _set_opp_voltage(struct devic static int _opp_config_clk_single(struct device *dev, struct opp_table *opp_table, @@ -43,7 +43,7 @@ Signed-off-by: Christian Marangi { unsigned long *target = data; unsigned long freq; -@@ -934,8 +935,8 @@ _opp_config_clk_single(struct device *de +@@ -957,8 +958,8 @@ _opp_config_clk_single(struct device *de * the order in which they are present in the array while scaling up. */ int dev_pm_opp_config_clks_simple(struct device *dev, @@ -54,7 +54,7 @@ Signed-off-by: Christian Marangi { int ret, i; -@@ -1217,7 +1218,7 @@ static int _set_opp(struct device *dev, +@@ -1240,7 +1241,7 @@ static int _set_opp(struct device *dev, } if (opp_table->config_clks) { @@ -63,7 +63,7 @@ Signed-off-by: Christian Marangi if (ret) return ret; } -@@ -1292,7 +1293,7 @@ int dev_pm_opp_set_rate(struct device *d +@@ -1315,7 +1316,7 @@ int dev_pm_opp_set_rate(struct device *d * equivalent to a clk_set_rate() */ if (!_get_opp_count(opp_table)) { diff --git a/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch b/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch index 002c204462..95069c2c43 100644 --- a/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch +++ b/target/linux/imx/patches-6.6/600-PCI-imx6-Start-link-at-max-gen-first-for-IMX8MM-and-IMX8MP.patch @@ -30,9 +30,9 @@ Signed-off-by: Tim Harvey #define IMX6_PCIE_FLAG_SUPPORTS_SUSPEND BIT(2) +#define IMX6_PCIE_FLAG_GEN1_LAST BIT(3) - struct imx6_pcie_drvdata { - enum imx6_pcie_variants variant; -@@ -876,26 +877,28 @@ static int imx6_pcie_start_link(struct d + #define IMX6_PCIE_MAX_CLKS 6 + +@@ -836,26 +837,28 @@ static int imx6_pcie_start_link(struct d u32 tmp; int ret; @@ -76,7 +76,7 @@ Signed-off-by: Tim Harvey /* Allow faster modes after the link is up */ dw_pcie_dbi_ro_wr_en(pci); tmp = dw_pcie_readl_dbi(pci, offset + PCI_EXP_LNKCAP); -@@ -929,18 +932,14 @@ static int imx6_pcie_start_link(struct d +@@ -889,18 +892,14 @@ static int imx6_pcie_start_link(struct d goto err_reset_phy; } } @@ -100,20 +100,22 @@ Signed-off-by: Tim Harvey return 0; err_reset_phy: -@@ -1505,12 +1504,14 @@ static const struct imx6_pcie_drvdata dr +@@ -1456,14 +1455,16 @@ static const struct imx6_pcie_drvdata dr }, [IMX8MM] = { .variant = IMX8MM, - .flags = IMX6_PCIE_FLAG_SUPPORTS_SUSPEND, + .flags = IMX6_PCIE_FLAG_SUPPORTS_SUSPEND | -+ IMX6_PCIE_FLAG_GEN1_LAST, ++ IMX6_PCIE_FLAG_GEN1_LAST, .gpr = "fsl,imx8mm-iomuxc-gpr", + .clk_names = imx8mm_clks, + .clks_cnt = ARRAY_SIZE(imx8mm_clks), }, [IMX8MP] = { .variant = IMX8MP, - .flags = IMX6_PCIE_FLAG_SUPPORTS_SUSPEND, + .flags = IMX6_PCIE_FLAG_SUPPORTS_SUSPEND | -+ IMX6_PCIE_FLAG_GEN1_LAST, ++ IMX6_PCIE_FLAG_GEN1_LAST, .gpr = "fsl,imx8mp-iomuxc-gpr", - }, - [IMX8MQ_EP] = { + .clk_names = imx8mm_clks, + .clks_cnt = ARRAY_SIZE(imx8mm_clks), diff --git a/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch index 53e92a6dd3..206dad7f23 100644 --- a/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2774,6 +2774,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2775,6 +2775,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0; diff --git a/target/linux/ramips/patches-6.6/002-03-v6.13-clk-ralink-mtmips-add-mmc-related-clocks-for-SoCs-MT.patch b/target/linux/ramips/patches-6.6/002-03-v6.13-clk-ralink-mtmips-add-mmc-related-clocks-for-SoCs-MT.patch index b90a19b7ca..076cda246e 100644 --- a/target/linux/ramips/patches-6.6/002-03-v6.13-clk-ralink-mtmips-add-mmc-related-clocks-for-SoCs-MT.patch +++ b/target/linux/ramips/patches-6.6/002-03-v6.13-clk-ralink-mtmips-add-mmc-related-clocks-for-SoCs-MT.patch @@ -42,7 +42,7 @@ Signed-off-by: Stephen Boyd { CLK_PERIPH("10300000.wmac", "xtal") } }; -@@ -272,8 +274,13 @@ static struct mtmips_clk_fixed rt3352_fi +@@ -271,8 +273,13 @@ static struct mtmips_clk_fixed rt3352_fi CLK_FIXED("periph", "xtal", 40000000) }; @@ -57,7 +57,7 @@ Signed-off-by: Stephen Boyd CLK_FIXED("periph", "xtal", 40000000) }; -@@ -328,6 +335,15 @@ static struct mtmips_clk_factor rt305x_f +@@ -327,6 +334,15 @@ static struct mtmips_clk_factor rt305x_f CLK_FACTOR("bus", "cpu", 1, 3) }; @@ -73,7 +73,7 @@ Signed-off-by: Stephen Boyd static int mtmips_register_factor_clocks(struct clk_hw_onecell_data *clk_data, struct mtmips_clk_priv *priv) { -@@ -811,10 +827,10 @@ static const struct mtmips_clk_data rt53 +@@ -810,10 +826,10 @@ static const struct mtmips_clk_data rt53 static const struct mtmips_clk_data mt7620_clk_data = { .clk_base = mt7620_clks_base, .num_clk_base = ARRAY_SIZE(mt7620_clks_base), @@ -88,7 +88,7 @@ Signed-off-by: Stephen Boyd .clk_periph = mt7620_pherip_clks, .num_clk_periph = ARRAY_SIZE(mt7620_pherip_clks), }; -@@ -824,8 +840,8 @@ static const struct mtmips_clk_data mt76 +@@ -823,8 +839,8 @@ static const struct mtmips_clk_data mt76 .num_clk_base = ARRAY_SIZE(mt76x8_clks_base), .clk_fixed = mt76x8_fixed_clocks, .num_clk_fixed = ARRAY_SIZE(mt76x8_fixed_clocks), diff --git a/target/linux/ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch b/target/linux/ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch deleted file mode 100644 index 71a32a0bc1..0000000000 --- a/target/linux/ramips/patches-6.6/003-v6.14-clk-ralink-mtmips-remove-duplicated-xtal-clock-for-Ralink.patch +++ /dev/null @@ -1,28 +0,0 @@ -From 830d8062d25581cf0beaa334486eea06834044da Mon Sep 17 00:00:00 2001 -From: Sergio Paracuellos -Date: Wed, 8 Jan 2025 10:36:36 +0100 -Subject: [PATCH] clk: ralink: mtmips: remove duplicated 'xtal' clock for - Ralink SoC RT3883 - -Ralink SoC RT3883 has already 'xtal' defined as a base clock so there is no -need to redefine it again in fixed clocks section. Hence, remove the duplicate -one from there. - -Fixes: d34db686a3d7 ("clk: ralink: mtmips: fix clocks probe order in oldest ralink SoCs") -Signed-off-by: Sergio Paracuellos -Link: https://lore.kernel.org/r/20250108093636.265033-1-sergio.paracuellos@gmail.com -Signed-off-by: Stephen Boyd ---- - drivers/clk/ralink/clk-mtmips.c | 1 - - 1 file changed, 1 deletion(-) - ---- a/drivers/clk/ralink/clk-mtmips.c -+++ b/drivers/clk/ralink/clk-mtmips.c -@@ -266,7 +266,6 @@ err_clk_unreg: - } - - static struct mtmips_clk_fixed rt3883_fixed_clocks[] = { -- CLK_FIXED("xtal", NULL, 40000000), - CLK_FIXED("periph", "xtal", 40000000) - }; - diff --git a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch index a01911b1f4..b545667ce3 100644 --- a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch @@ -42,7 +42,7 @@ Signed-off-by: John Crispin break; } -@@ -273,6 +274,7 @@ int uvc_status_init(struct uvc_device *d +@@ -274,6 +275,7 @@ int uvc_status_init(struct uvc_device *d } pipe = usb_rcvintpipe(dev->udev, ep->desc.bEndpointAddress); diff --git a/target/linux/rockchip/patches-6.6/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch b/target/linux/rockchip/patches-6.6/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch index 30e8a98fd7..26fedf0a65 100644 --- a/target/linux/rockchip/patches-6.6/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch +++ b/target/linux/rockchip/patches-6.6/034-v6.7-usb-dwc3-add-optional-PHY-interface-clocks.patch @@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman clk_disable_unprepare(dwc->susp_clk); clk_disable_unprepare(dwc->ref_clk); clk_disable_unprepare(dwc->bus_clk); -@@ -1884,6 +1898,20 @@ static int dwc3_get_clocks(struct dwc3 * +@@ -1875,6 +1889,20 @@ static int dwc3_get_clocks(struct dwc3 * } } diff --git a/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch b/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch index 617d72f11f..ec6130b7ce 100644 --- a/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch +++ b/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch @@ -67,7 +67,7 @@ Signed-off-by: Minda Chen } /* -@@ -2813,7 +2826,6 @@ serial8250_do_set_termios(struct uart_po +@@ -2814,7 +2827,6 @@ serial8250_do_set_termios(struct uart_po if (termios->c_cflag & CRTSCTS) up->mcr |= UART_MCR_AFE; } diff --git a/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch b/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch index 4c1dfabd9e..7c5c522f91 100644 --- a/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch +++ b/target/linux/starfive/patches-6.6/0109-usb-xhci-To-improve-performance-usb-using-lowmem-for.patch @@ -160,7 +160,7 @@ Signed-off-by: minda.chen } --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c -@@ -3707,7 +3707,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * +@@ -3708,7 +3708,8 @@ int xhci_queue_bulk_tx(struct xhci_hcd * full_len = urb->transfer_buffer_length; /* If we have scatter/gather list, we use it. */ From 9ec355a921e3a09918dc304dd0cb9d2b2fe69104 Mon Sep 17 00:00:00 2001 From: John Audia Date: Tue, 11 Feb 2025 14:42:45 -0500 Subject: [PATCH 09/14] kernel: bump 6.6 to 6.6.77 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.77 No patches automatically rebased/checksum update only Build system: x86/64 Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/17822 (cherry picked from commit 16924e55f0c5c0b06cbec46d04c6113b8f7a5975) Link: https://github.com/openwrt/openwrt/pull/17987 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 0dcd32546d..3f07a92fc4 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .76 -LINUX_KERNEL_HASH-6.6.76 = 81168b15f0c64034a2ab553ae37a5a38b79c3fe10f69faccc9f374ced4eb13a0 +LINUX_VERSION-6.6 = .77 +LINUX_KERNEL_HASH-6.6.77 = 081089dfcf125aef67aa940ebb995ff789b646129f5d4b2365e1d5685b29a84e From b9c6aeb62837ca5b5d9f8d92bac39687c0f060e9 Mon Sep 17 00:00:00 2001 From: John Audia Date: Mon, 17 Feb 2025 05:12:48 -0500 Subject: [PATCH 10/14] kernel: bump 6.6 to 6.6.78 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.78 Removed upstreamed: bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch[1] mediatek/patches-6.6/256-clk-mediatek-mt2701-vdec-fix-conversion-to-mtk_clk_s.patch[2] mediatek/patches-6.6/257-clk-mediatek-mt2701-aud-fix-conversion-to-mtk_clk_si.patch[3] mediatek/patches-6.6/258-clk-mediatek-mt2701-bdp-add-missing-dummy-clk.patch[4] mediatek/patches-6.6/259-clk-mediatek-mt2701-mm-add-missing-dummy-clk.patch[5] mediatek/patches-6.6/260-clk-mediatek-mt2701-img-add-missing-dummy-clk.patch[6] All other patches automatically rebased. 1. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=25abffee5ceb6691ecd4f089be2bb28842e2d2fd 2. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=b6c5237ab7af82c9f1d8d772dbf309bb4aadfdbb 3. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=20210b5c775d2d96f706591c64bc2ad975c37eaf 4. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=a1fa3dda6bf0b7ecd95fa8f9125e5486b699a81f 5. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=fc60e9357f15372698da373ee76de8f52d22aac2 6. https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.78&id=6f4868e6b2887b55531bc8e0a4106ef0150e6326 Build system: x86/64 Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/18000 Signed-off-by: Robert Marko (cherry picked from commit 57b0304ce93b9e84701de3091c9f272e6b14e6fa) Link: https://github.com/openwrt/openwrt/pull/17987 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 +-- ...53x-Add-ti-tca9554-compatible-string.patch | 2 +- ...mx296-Add-standby-delay-during-probe.patch | 26 ------------------- ...ok-up-preferred-fbdev-node-number-fr.patch | 4 +-- ...ange-query-for-FB-designation-from-d.patch | 2 +- ...-drm-Add-DRM_MODE_TV_MODE_MONOCHROME.patch | 4 +-- ...d-initialise-an-orientation-field-to.patch | 2 +- ...top-property-to-true-for-writeback-a.patch | 2 +- ...-number-of-overlay-planes-from-16-to.patch | 2 +- .../patches-6.6/791-tg3-no-pci-sleep.patch | 2 +- ...rk-layouts-to-become-regular-devices.patch | 2 +- ...1-nvmem-imx-ocotp-ele-support-i.MX95.patch | 6 ++--- .../hack-6.6/904-debloat_dma_buf.patch | 2 +- ...Fix-DMA-allocations-on-57766-devices.patch | 2 +- ...msm-use-sdhci_set_clock-instead-of-s.patch | 2 +- ...m-comment-unused-sdhci_msm_set_clock.patch | 2 +- .../810-uvc-add-iPassion-iP2970-support.patch | 8 +++--- 17 files changed, 24 insertions(+), 50 deletions(-) delete mode 100644 target/linux/bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch diff --git a/include/kernel-6.6 b/include/kernel-6.6 index 3f07a92fc4..a22eb0f6f9 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .77 -LINUX_KERNEL_HASH-6.6.77 = 081089dfcf125aef67aa940ebb995ff789b646129f5d4b2365e1d5685b29a84e +LINUX_VERSION-6.6 = .78 +LINUX_KERNEL_HASH-6.6.78 = 5aa39a9bd555133ad741058f9908a277e6b36bb928481e747d885b50aaaa93ed diff --git a/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch b/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch index be8e134cf6..e0de6fe1cb 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0416-gpio-pca953x-Add-ti-tca9554-compatible-string.patch @@ -10,7 +10,7 @@ Signed-off-by: Phil Elwell --- a/drivers/gpio/gpio-pca953x.c +++ b/drivers/gpio/gpio-pca953x.c -@@ -1330,6 +1330,7 @@ static const struct of_device_id pca953x +@@ -1311,6 +1311,7 @@ static const struct of_device_id pca953x { .compatible = "ti,tca6424", .data = OF_953X(24, PCA_INT), }, { .compatible = "ti,tca9538", .data = OF_953X( 8, PCA_INT), }, { .compatible = "ti,tca9539", .data = OF_953X(16, PCA_INT), }, diff --git a/target/linux/bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch b/target/linux/bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch deleted file mode 100644 index 786ba7656c..0000000000 --- a/target/linux/bcm27xx/patches-6.6/950-0487-drivers-media-imx296-Add-standby-delay-during-probe.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 7713ce38e6a26425ace3a57b3d03ba0125c16f89 Mon Sep 17 00:00:00 2001 -From: Naushir Patuck -Date: Fri, 28 Jul 2023 12:00:40 +0100 -Subject: [PATCH 0487/1085] drivers: media: imx296: Add standby delay during - probe - -Add a 2-5ms delay when coming out of standby and before reading the -sensor info register durning probe, as instructed by the datasheet. This -standby delay is already present when the sensor starts streaming. - -Signed-off-by: Naushir Patuck ---- - drivers/media/i2c/imx296.c | 2 ++ - 1 file changed, 2 insertions(+) - ---- a/drivers/media/i2c/imx296.c -+++ b/drivers/media/i2c/imx296.c -@@ -940,6 +940,8 @@ static int imx296_identify_model(struct - return ret; - } - -+ usleep_range(2000, 5000); -+ - ret = imx296_read(sensor, IMX296_SENSOR_INFO); - if (ret < 0) { - dev_err(sensor->dev, "failed to read sensor information (%d)\n", diff --git a/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch b/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch index f94efc25b2..0b2b28b7f1 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0679-drm-fb-helper-Look-up-preferred-fbdev-node-number-fr.patch @@ -15,7 +15,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c -@@ -1851,7 +1851,7 @@ __drm_fb_helper_initial_config_and_unloc +@@ -1853,7 +1853,7 @@ __drm_fb_helper_initial_config_and_unloc struct drm_device *dev = fb_helper->dev; struct fb_info *info; unsigned int width, height; @@ -24,7 +24,7 @@ Signed-off-by: Dave Stevenson width = dev->mode_config.max_width; height = dev->mode_config.max_height; -@@ -1879,6 +1879,15 @@ __drm_fb_helper_initial_config_and_unloc +@@ -1881,6 +1881,15 @@ __drm_fb_helper_initial_config_and_unloc * register the fbdev emulation instance in kernel_fb_helper_list. */ mutex_unlock(&fb_helper->lock); diff --git a/target/linux/bcm27xx/patches-6.6/950-0684-drm-fb_helper-Change-query-for-FB-designation-from-d.patch b/target/linux/bcm27xx/patches-6.6/950-0684-drm-fb_helper-Change-query-for-FB-designation-from-d.patch index 60cabdffc3..a63bd11af4 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0684-drm-fb_helper-Change-query-for-FB-designation-from-d.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0684-drm-fb_helper-Change-query-for-FB-designation-from-d.patch @@ -12,7 +12,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/drm_fb_helper.c +++ b/drivers/gpu/drm/drm_fb_helper.c -@@ -1879,11 +1879,11 @@ __drm_fb_helper_initial_config_and_unloc +@@ -1881,11 +1881,11 @@ __drm_fb_helper_initial_config_and_unloc * register the fbdev emulation instance in kernel_fb_helper_list. */ mutex_unlock(&fb_helper->lock); diff --git a/target/linux/bcm27xx/patches-6.6/950-0923-drm-Add-DRM_MODE_TV_MODE_MONOCHROME.patch b/target/linux/bcm27xx/patches-6.6/950-0923-drm-Add-DRM_MODE_TV_MODE_MONOCHROME.patch index 485196b15a..c4a5537a8c 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0923-drm-Add-DRM_MODE_TV_MODE_MONOCHROME.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0923-drm-Add-DRM_MODE_TV_MODE_MONOCHROME.patch @@ -21,7 +21,7 @@ Signed-off-by: Nick Hollinghurst --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c -@@ -1049,6 +1049,7 @@ static const struct drm_prop_enum_list d +@@ -1050,6 +1050,7 @@ static const struct drm_prop_enum_list d { DRM_MODE_TV_MODE_PAL_M, "PAL-M" }, { DRM_MODE_TV_MODE_PAL_N, "PAL-N" }, { DRM_MODE_TV_MODE_SECAM, "SECAM" }, @@ -29,7 +29,7 @@ Signed-off-by: Nick Hollinghurst }; DRM_ENUM_NAME_FN(drm_get_tv_mode_name, drm_tv_mode_enum_list) -@@ -1735,6 +1736,12 @@ EXPORT_SYMBOL(drm_connector_attach_dp_su +@@ -1736,6 +1737,12 @@ EXPORT_SYMBOL(drm_connector_attach_dp_su * TV Mode is CCIR System B (aka 625-lines) together with * the SECAM Color Encoding. * diff --git a/target/linux/bcm27xx/patches-6.6/950-1051-drm-panel-Add-and-initialise-an-orientation-field-to.patch b/target/linux/bcm27xx/patches-6.6/950-1051-drm-panel-Add-and-initialise-an-orientation-field-to.patch index 694e2a0082..6d745f6e9d 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1051-drm-panel-Add-and-initialise-an-orientation-field-to.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1051-drm-panel-Add-and-initialise-an-orientation-field-to.patch @@ -22,7 +22,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c -@@ -2697,10 +2697,15 @@ int drm_connector_set_orientation_from_p +@@ -2698,10 +2698,15 @@ int drm_connector_set_orientation_from_p { enum drm_panel_orientation orientation; diff --git a/target/linux/bcm27xx/patches-6.6/950-1365-drm-Set-non-desktop-property-to-true-for-writeback-a.patch b/target/linux/bcm27xx/patches-6.6/950-1365-drm-Set-non-desktop-property-to-true-for-writeback-a.patch index e8f52cbc43..a1ac849e3e 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1365-drm-Set-non-desktop-property-to-true-for-writeback-a.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1365-drm-Set-non-desktop-property-to-true-for-writeback-a.patch @@ -18,7 +18,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c -@@ -361,7 +361,8 @@ static int __drm_connector_init(struct d +@@ -362,7 +362,8 @@ static int __drm_connector_init(struct d drm_object_attach_property(&connector->base, config->non_desktop_property, diff --git a/target/linux/bcm27xx/patches-6.6/950-1367-drm-vc4-Increase-number-of-overlay-planes-from-16-to.patch b/target/linux/bcm27xx/patches-6.6/950-1367-drm-vc4-Increase-number-of-overlay-planes-from-16-to.patch index 6eae6fc2ac..564d7abeb6 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1367-drm-vc4-Increase-number-of-overlay-planes-from-16-to.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1367-drm-vc4-Increase-number-of-overlay-planes-from-16-to.patch @@ -20,7 +20,7 @@ Signed-off-by: Dave Stevenson --- a/drivers/gpu/drm/drm_connector.c +++ b/drivers/gpu/drm/drm_connector.c -@@ -362,7 +362,7 @@ static int __drm_connector_init(struct d +@@ -363,7 +363,7 @@ static int __drm_connector_init(struct d drm_object_attach_property(&connector->base, config->non_desktop_property, (connector_type != DRM_MODE_CONNECTOR_VIRTUAL && diff --git a/target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch b/target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch index 76e979ad58..0777873701 100644 --- a/target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch +++ b/target/linux/bcm47xx/patches-6.6/791-tg3-no-pci-sleep.patch @@ -5,7 +5,7 @@ when a switch driver is in use. --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -4269,7 +4269,8 @@ static int tg3_power_down_prepare(struct +@@ -4270,7 +4270,8 @@ static int tg3_power_down_prepare(struct static void tg3_power_down(struct tg3 *tp) { pci_wake_from_d3(tp->pdev, tg3_flag(tp, WOL_ENABLE)); diff --git a/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch b/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch index c846c485e0..220a968136 100644 --- a/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch +++ b/target/linux/generic/backport-6.6/819-v6.8-0005-nvmem-core-Rework-layouts-to-become-regular-devices.patch @@ -330,7 +330,7 @@ Signed-off-by: Greg Kroah-Hartman } EXPORT_SYMBOL_GPL(nvmem_cell_put); -@@ -2116,11 +2057,22 @@ EXPORT_SYMBOL_GPL(nvmem_dev_size); +@@ -2118,11 +2059,22 @@ EXPORT_SYMBOL_GPL(nvmem_dev_size); static int __init nvmem_init(void) { diff --git a/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch b/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch index c19931b3fa..b96134e315 100644 --- a/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch +++ b/target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch @@ -28,7 +28,7 @@ Signed-off-by: Greg Kroah-Hartman FUSE_INVALID = -1 }; -@@ -93,7 +94,10 @@ static int imx_ocotp_reg_read(void *cont +@@ -95,7 +96,10 @@ static int imx_ocotp_reg_read(void *cont continue; } @@ -39,8 +39,8 @@ Signed-off-by: Greg Kroah-Hartman + *buf++ = readl_relaxed(reg + (i << 2)); } - memcpy(val, (u8 *)p, bytes); -@@ -155,8 +159,30 @@ static const struct ocotp_devtype_data i + memcpy(val, ((u8 *)p) + skipbytes, bytes); +@@ -157,8 +161,30 @@ static const struct ocotp_devtype_data i }, }; diff --git a/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch b/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch index 355bd0d70c..3ca98788ab 100644 --- a/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-6.6/904-debloat_dma_buf.patch @@ -73,7 +73,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -4483,6 +4483,7 @@ int wake_up_state(struct task_struct *p, +@@ -4485,6 +4485,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } diff --git a/target/linux/generic/pending-6.6/791-tg3-Fix-DMA-allocations-on-57766-devices.patch b/target/linux/generic/pending-6.6/791-tg3-Fix-DMA-allocations-on-57766-devices.patch index a90d77c9f0..9d219d13e5 100644 --- a/target/linux/generic/pending-6.6/791-tg3-Fix-DMA-allocations-on-57766-devices.patch +++ b/target/linux/generic/pending-6.6/791-tg3-Fix-DMA-allocations-on-57766-devices.patch @@ -17,7 +17,7 @@ Signed-off-by: Pavan Chebbi --- a/drivers/net/ethernet/broadcom/tg3.c +++ b/drivers/net/ethernet/broadcom/tg3.c -@@ -17731,8 +17731,10 @@ static int tg3_init_one(struct pci_dev * +@@ -17732,8 +17732,10 @@ static int tg3_init_one(struct pci_dev * } else persist_dma_mask = dma_mask = DMA_BIT_MASK(64); diff --git a/target/linux/ipq40xx/patches-6.6/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch b/target/linux/ipq40xx/patches-6.6/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch index 1c156d4398..76c36db38f 100644 --- a/target/linux/ipq40xx/patches-6.6/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch +++ b/target/linux/ipq40xx/patches-6.6/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch @@ -13,7 +13,7 @@ Signed-off-by: Robert Marko --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c -@@ -2320,7 +2320,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat +@@ -2369,7 +2369,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat static const struct sdhci_ops sdhci_msm_ops = { .reset = sdhci_and_cqhci_reset, diff --git a/target/linux/ipq40xx/patches-6.6/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch b/target/linux/ipq40xx/patches-6.6/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch index cfbb643974..a90b0aaf9b 100644 --- a/target/linux/ipq40xx/patches-6.6/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch +++ b/target/linux/ipq40xx/patches-6.6/401-mmc-sdhci-msm-comment-unused-sdhci_msm_set_clock.patch @@ -13,7 +13,7 @@ Signed-off-by: Christian Marangi --- a/drivers/mmc/host/sdhci-msm.c +++ b/drivers/mmc/host/sdhci-msm.c -@@ -1755,49 +1755,49 @@ static unsigned int sdhci_msm_get_min_cl +@@ -1804,49 +1804,49 @@ static unsigned int sdhci_msm_get_min_cl return SDHCI_MSM_MIN_CLOCK; } diff --git a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch index b545667ce3..dc4f2ecd9a 100644 --- a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -3271,6 +3271,18 @@ static const struct usb_device_id uvc_id +@@ -3269,6 +3269,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, @@ -64,7 +64,7 @@ Signed-off-by: John Crispin #include -@@ -1275,9 +1280,149 @@ static void uvc_video_decode_data(struct +@@ -1296,9 +1301,149 @@ static void uvc_video_decode_data(struct uvc_urb->async_operations++; } @@ -214,7 +214,7 @@ Signed-off-by: John Crispin /* Mark the buffer as done if the EOF marker is set. */ if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n"); -@@ -1859,6 +2004,8 @@ static int uvc_init_video_isoc(struct uv +@@ -1880,6 +2025,8 @@ static int uvc_init_video_isoc(struct uv if (npackets == 0) return -ENOMEM; @@ -234,7 +234,7 @@ Signed-off-by: John Crispin /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 -@@ -585,6 +587,7 @@ struct uvc_device { +@@ -586,6 +588,7 @@ struct uvc_device { struct input_dev *input; char input_phys[64]; From 22943245a5154ea64aed4b850181ab1297917704 Mon Sep 17 00:00:00 2001 From: John Audia Date: Fri, 21 Feb 2025 09:14:57 -0500 Subject: [PATCH 11/14] kernel: bump 6.6 to 6.6.79 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.79 Manually rebased: ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch All other patches automatically rebased. Build system: x86/64 Build-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Run-tested: bcm27xx/bcm2712, filogic/glinet_gl-mt6000, filogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3, x86/64 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/18066 Signed-off-by: Nick Hainke (cherry picked from commit d664d7466958d3c70e1be9258280d39825ba9ba8) Link: https://github.com/openwrt/openwrt/pull/17987 Signed-off-by: Hauke Mehrtens --- include/kernel-6.6 | 4 ++-- .../105-uart-add-en7523-support.patch | 2 +- ...roup-Disable-cgroup-memory-by-default.patch | 8 ++++---- .../950-0087-Add-dwc_otg-driver.patch | 2 +- ...el-command-line-to-disable-memory-cgr.patch | 8 ++++---- ...e-kernel-command-line-to-disable-memo.patch | 2 +- ...cklog-NAPI-to-clean-up-the-defer_list.patch | 2 +- ...t-create-a-dummy-net_device-allocator.patch | 2 +- .../780-usb-net-MeigLink_modem_support.patch | 4 ++-- ...ing-with-source-address-failed-policy.patch | 18 +++++++++--------- .../811-pci_disable_usb_common_quirks.patch | 2 +- .../patches-6.6/410-bt-mtk-serial-fix.patch | 2 +- .../810-uvc-add-iPassion-iP2970-support.patch | 18 +++++++++--------- ...itialize-pad-delay-and-drive-strength.patch | 8 ++++---- ...rt-8250-Add-dw-auto-flow-ctrl-support.patch | 2 +- 15 files changed, 42 insertions(+), 42 deletions(-) diff --git a/include/kernel-6.6 b/include/kernel-6.6 index a22eb0f6f9..2e70a47f1d 100644 --- a/include/kernel-6.6 +++ b/include/kernel-6.6 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.6 = .78 -LINUX_KERNEL_HASH-6.6.78 = 5aa39a9bd555133ad741058f9908a277e6b36bb928481e747d885b50aaaa93ed +LINUX_VERSION-6.6 = .79 +LINUX_KERNEL_HASH-6.6.79 = 07a6f904470da1a099aa1683e3025a999dd82f2438f78b006b80c6ae2e9dfe8d diff --git a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch index 80b6550be3..80723bd5af 100644 --- a/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch +++ b/target/linux/airoha/patches-6.6/105-uart-add-en7523-support.patch @@ -122,7 +122,7 @@ }; /* Uart divisor latch read */ -@@ -2881,6 +2889,12 @@ serial8250_do_set_termios(struct uart_po +@@ -2889,6 +2897,12 @@ serial8250_do_set_termios(struct uart_po serial8250_set_divisor(port, baud, quot, frac); diff --git a/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch b/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch index 5f2d80b697..5600e85734 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0065-cgroup-Disable-cgroup-memory-by-default.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0065-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 -@@ -6063,6 +6063,9 @@ int __init cgroup_init_early(void) +@@ -6059,6 +6059,9 @@ int __init cgroup_init_early(void) return 0; } @@ -27,7 +27,7 @@ Signed-off-by: Phil Elwell /** * cgroup_init - cgroup initialization * -@@ -6096,6 +6099,12 @@ int __init cgroup_init(void) +@@ -6092,6 +6095,12 @@ int __init cgroup_init(void) cgroup_unlock(); @@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6736,6 +6745,10 @@ static int __init cgroup_disable(char *s +@@ -6740,6 +6749,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); -@@ -6754,6 +6767,31 @@ static int __init cgroup_disable(char *s +@@ -6758,6 +6771,31 @@ static int __init cgroup_disable(char *s } __setup("cgroup_disable=", cgroup_disable); diff --git a/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch b/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch index 3da9f4230b..82e969138e 100644 --- a/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch +++ b/target/linux/bcm27xx/patches-6.6/950-0087-Add-dwc_otg-driver.patch @@ -1189,7 +1189,7 @@ Signed-off-by: Alexander Winkowski } --- a/drivers/usb/core/hub.c +++ b/drivers/usb/core/hub.c -@@ -5712,7 +5712,7 @@ static void port_event(struct usb_hub *h +@@ -5722,7 +5722,7 @@ static void port_event(struct usb_hub *h port_dev->over_current_count++; port_over_current_notify(port_dev); diff --git a/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch b/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch index 61dec89382..b1ceaad71d 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1349-cgroup-Use-kernel-command-line-to-disable-memory-cgr.patch @@ -148,7 +148,7 @@ Signed-off-by: Maíra Canal --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -6063,9 +6063,6 @@ int __init cgroup_init_early(void) +@@ -6059,9 +6059,6 @@ int __init cgroup_init_early(void) return 0; } @@ -158,7 +158,7 @@ Signed-off-by: Maíra Canal /** * cgroup_init - cgroup initialization * -@@ -6099,12 +6096,6 @@ int __init cgroup_init(void) +@@ -6095,12 +6092,6 @@ int __init cgroup_init(void) cgroup_unlock(); @@ -171,7 +171,7 @@ Signed-off-by: Maíra Canal for_each_subsys(ss, ssid) { if (ss->early_init) { struct cgroup_subsys_state *css = -@@ -6745,10 +6736,6 @@ static int __init cgroup_disable(char *s +@@ -6749,10 +6740,6 @@ static int __init cgroup_disable(char *s strcmp(token, ss->legacy_name)) continue; @@ -182,7 +182,7 @@ Signed-off-by: Maíra Canal static_branch_disable(cgroup_subsys_enabled_key[i]); pr_info("Disabling %s control group subsystem\n", ss->name); -@@ -6782,7 +6769,7 @@ static int __init cgroup_enable(char *st +@@ -6786,7 +6773,7 @@ static int __init cgroup_enable(char *st strcmp(token, ss->legacy_name)) continue; diff --git a/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch b/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch index 8c4a1c3a3e..b3a73945f6 100644 --- a/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch +++ b/target/linux/bcm27xx/patches-6.6/950-1445-fixup-cgroup-Use-kernel-command-line-to-disable-memo.patch @@ -14,7 +14,7 @@ Signed-off-by: Phil Elwell --- a/kernel/cgroup/cgroup.c +++ b/kernel/cgroup/cgroup.c -@@ -6769,11 +6769,19 @@ static int __init cgroup_enable(char *st +@@ -6773,11 +6773,19 @@ static int __init cgroup_enable(char *st strcmp(token, ss->legacy_name)) continue; diff --git a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch index 82b83552d3..9af345002a 100644 --- a/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch +++ b/target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch @@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -3300,6 +3300,7 @@ static inline void dev_xmit_recursion_de +@@ -3306,6 +3306,7 @@ static inline void dev_xmit_recursion_de __this_cpu_dec(softnet_data.xmit.recursion); } diff --git a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch index c6718c8e22..8b562a0f61 100644 --- a/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch +++ b/target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch @@ -37,7 +37,7 @@ Signed-off-by: David S. Miller --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h -@@ -4561,6 +4561,9 @@ static inline void netif_addr_unlock_bh( +@@ -4567,6 +4567,9 @@ static inline void netif_addr_unlock_bh( void ether_setup(struct net_device *dev); diff --git a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch index 222633058a..bbd73b1e60 100644 --- a/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch +++ b/target/linux/generic/hack-6.6/780-usb-net-MeigLink_modem_support.patch @@ -44,7 +44,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support #define QUECTEL_VENDOR_ID 0x2c7c /* These Quectel products use Quectel's vendor ID */ -@@ -1162,6 +1167,11 @@ static const struct usb_device_id option +@@ -1153,6 +1158,11 @@ static const struct usb_device_id option { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */ { USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */ .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) }, @@ -56,7 +56,7 @@ Subject: [PATCH] net/usb/qmi_wwan: add MeigLink modem support /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), -@@ -1203,6 +1213,11 @@ static const struct usb_device_id option +@@ -1194,6 +1204,11 @@ static const struct usb_device_id option .driver_info = ZLP }, { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96), .driver_info = RSVD(4) }, diff --git a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch index e239d20409..9b76c82a6f 100644 --- a/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch +++ b/target/linux/generic/pending-6.6/670-ipv6-allow-rejecting-with-source-address-failed-policy.patch @@ -157,7 +157,7 @@ Signed-off-by: Jonas Gorski case RTN_THROW: case RTN_UNREACHABLE: default: -@@ -4546,6 +4565,17 @@ static int ip6_pkt_prohibit_out(struct n +@@ -4551,6 +4570,17 @@ static int ip6_pkt_prohibit_out(struct n return ip6_pkt_drop(skb, ICMPV6_ADM_PROHIBITED, IPSTATS_MIB_OUTNOROUTES); } @@ -175,7 +175,7 @@ Signed-off-by: Jonas Gorski /* * Allocate a dst for local (unicast / anycast) address. */ -@@ -5037,7 +5067,8 @@ static int rtm_to_fib6_config(struct sk_ +@@ -5042,7 +5072,8 @@ static int rtm_to_fib6_config(struct sk_ if (rtm->rtm_type == RTN_UNREACHABLE || rtm->rtm_type == RTN_BLACKHOLE || rtm->rtm_type == RTN_PROHIBIT || @@ -185,7 +185,7 @@ Signed-off-by: Jonas Gorski cfg->fc_flags |= RTF_REJECT; if (rtm->rtm_type == RTN_LOCAL) -@@ -6299,6 +6330,8 @@ static int ip6_route_dev_notify(struct n +@@ -6304,6 +6335,8 @@ static int ip6_route_dev_notify(struct n #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.ip6_prohibit_entry->dst.dev = dev; net->ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(dev); @@ -194,7 +194,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.dev = dev; net->ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(dev); #endif -@@ -6310,6 +6343,7 @@ static int ip6_route_dev_notify(struct n +@@ -6315,6 +6348,7 @@ static int ip6_route_dev_notify(struct n in6_dev_put_clear(&net->ipv6.ip6_null_entry->rt6i_idev); #ifdef CONFIG_IPV6_MULTIPLE_TABLES in6_dev_put_clear(&net->ipv6.ip6_prohibit_entry->rt6i_idev); @@ -202,7 +202,7 @@ Signed-off-by: Jonas Gorski in6_dev_put_clear(&net->ipv6.ip6_blk_hole_entry->rt6i_idev); #endif } -@@ -6510,6 +6544,8 @@ static int __net_init ip6_route_net_init +@@ -6515,6 +6549,8 @@ static int __net_init ip6_route_net_init #ifdef CONFIG_IPV6_MULTIPLE_TABLES net->ipv6.fib6_has_custom_rules = false; @@ -211,7 +211,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_prohibit_entry = kmemdup(&ip6_prohibit_entry_template, sizeof(*net->ipv6.ip6_prohibit_entry), GFP_KERNEL); -@@ -6520,11 +6556,21 @@ static int __net_init ip6_route_net_init +@@ -6525,11 +6561,21 @@ static int __net_init ip6_route_net_init ip6_template_metrics, true); INIT_LIST_HEAD(&net->ipv6.ip6_prohibit_entry->dst.rt_uncached); @@ -234,7 +234,7 @@ Signed-off-by: Jonas Gorski net->ipv6.ip6_blk_hole_entry->dst.ops = &net->ipv6.ip6_dst_ops; dst_init_metrics(&net->ipv6.ip6_blk_hole_entry->dst, ip6_template_metrics, true); -@@ -6551,6 +6597,8 @@ out: +@@ -6556,6 +6602,8 @@ out: return ret; #ifdef CONFIG_IPV6_MULTIPLE_TABLES @@ -243,7 +243,7 @@ Signed-off-by: Jonas Gorski out_ip6_prohibit_entry: kfree(net->ipv6.ip6_prohibit_entry); out_ip6_null_entry: -@@ -6570,6 +6618,7 @@ static void __net_exit ip6_route_net_exi +@@ -6575,6 +6623,7 @@ static void __net_exit ip6_route_net_exi kfree(net->ipv6.ip6_null_entry); #ifdef CONFIG_IPV6_MULTIPLE_TABLES kfree(net->ipv6.ip6_prohibit_entry); @@ -251,7 +251,7 @@ Signed-off-by: Jonas Gorski kfree(net->ipv6.ip6_blk_hole_entry); #endif dst_entries_destroy(&net->ipv6.ip6_dst_ops); -@@ -6653,6 +6702,9 @@ void __init ip6_route_init_special_entri +@@ -6658,6 +6707,9 @@ void __init ip6_route_init_special_entri init_net.ipv6.ip6_prohibit_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); init_net.ipv6.ip6_blk_hole_entry->dst.dev = init_net.loopback_dev; init_net.ipv6.ip6_blk_hole_entry->rt6i_idev = in6_dev_get(init_net.loopback_dev); diff --git a/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch b/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch index e91d1ef6b2..7ac5347031 100644 --- a/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch +++ b/target/linux/generic/pending-6.6/811-pci_disable_usb_common_quirks.patch @@ -48,7 +48,7 @@ Signed-off-by: Felix Fietkau static inline int io_type_enabled(struct pci_dev *pdev, unsigned int mask) { u16 cmd; -@@ -1283,3 +1298,4 @@ static void quirk_usb_early_handoff(stru +@@ -1292,3 +1307,4 @@ static void quirk_usb_early_handoff(stru } DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, PCI_CLASS_SERIAL_USB, 8, quirk_usb_early_handoff); diff --git a/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch index 206dad7f23..1a67286e61 100644 --- a/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch +++ b/target/linux/mediatek/patches-6.6/410-bt-mtk-serial-fix.patch @@ -19,7 +19,7 @@ }, [PORT_NPCM] = { .name = "Nuvoton 16550", -@@ -2775,6 +2775,11 @@ serial8250_do_set_termios(struct uart_po +@@ -2783,6 +2783,11 @@ serial8250_do_set_termios(struct uart_po unsigned long flags; unsigned int baud, quot, frac = 0; diff --git a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch index dc4f2ecd9a..56b638aa36 100644 --- a/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch +++ b/target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch @@ -13,7 +13,7 @@ Signed-off-by: John Crispin --- a/drivers/media/usb/uvc/uvc_driver.c +++ b/drivers/media/usb/uvc/uvc_driver.c -@@ -3269,6 +3269,18 @@ static const struct usb_device_id uvc_id +@@ -3287,6 +3287,18 @@ static const struct usb_device_id uvc_id .bInterfaceSubClass = 1, .bInterfaceProtocol = 0, .driver_info = UVC_INFO_META(V4L2_META_FMT_D4XX) }, @@ -62,9 +62,9 @@ Signed-off-by: John Crispin +#include +#include + #include #include - -@@ -1296,9 +1301,149 @@ static void uvc_video_decode_data(struct +@@ -1321,9 +1326,149 @@ static void uvc_video_decode_data(struct uvc_urb->async_operations++; } @@ -214,7 +214,7 @@ Signed-off-by: John Crispin /* Mark the buffer as done if the EOF marker is set. */ if (data[1] & UVC_STREAM_EOF && buf->bytesused != 0) { uvc_dbg(stream->dev, FRAME, "Frame complete (EOF found)\n"); -@@ -1880,6 +2025,8 @@ static int uvc_init_video_isoc(struct uv +@@ -1905,6 +2050,8 @@ static int uvc_init_video_isoc(struct uv if (npackets == 0) return -ENOMEM; @@ -225,16 +225,16 @@ Signed-off-by: John Crispin for_each_uvc_urb(uvc_urb, stream) { --- a/drivers/media/usb/uvc/uvcvideo.h +++ b/drivers/media/usb/uvc/uvcvideo.h -@@ -76,6 +76,8 @@ - #define UVC_QUIRK_NO_RESET_RESUME 0x00004000 +@@ -77,6 +77,8 @@ #define UVC_QUIRK_DISABLE_AUTOSUSPEND 0x00008000 #define UVC_QUIRK_INVALID_DEVICE_SOF 0x00010000 -+#define UVC_QUIRK_MOTION 0x00020000 -+#define UVC_QUIRK_SINGLE_ISO 0x00040000 + #define UVC_QUIRK_MJPEG_NO_EOF 0x00020000 ++#define UVC_QUIRK_MOTION 0x00040000 ++#define UVC_QUIRK_SINGLE_ISO 0x00080000 /* Format flags */ #define UVC_FMT_FLAG_COMPRESSED 0x00000001 -@@ -586,6 +588,7 @@ struct uvc_device { +@@ -587,6 +589,7 @@ struct uvc_device { struct input_dev *input; char input_phys[64]; diff --git a/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch b/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch index c3d13932ef..7fd7b3af43 100644 --- a/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch +++ b/target/linux/ramips/patches-6.6/831-mmc-mtk-sd-initialize-pad-delay-and-drive-strength.patch @@ -22,7 +22,7 @@ Signed-off-by: Shiji Yang #define PAD_DS_TUNE 0x188 #define PAD_CMD_TUNE 0x18c #define EMMC51_CFG0 0x204 -@@ -400,6 +404,7 @@ struct mtk_mmc_compatible { +@@ -402,6 +406,7 @@ struct mtk_mmc_compatible { bool enhance_rx; bool support_64g; bool use_internal_cd; @@ -30,7 +30,7 @@ Signed-off-by: Shiji Yang }; struct msdc_tune_para { -@@ -537,6 +542,7 @@ static const struct mtk_mmc_compatible m +@@ -539,6 +544,7 @@ static const struct mtk_mmc_compatible m .stop_clk_fix = false, .enhance_rx = false, .use_internal_cd = true, @@ -38,7 +38,7 @@ Signed-off-by: Shiji Yang }; static const struct mtk_mmc_compatible mt7622_compat = { -@@ -1729,9 +1735,11 @@ static void msdc_init_hw(struct msdc_hos +@@ -1731,9 +1737,11 @@ static void msdc_init_hw(struct msdc_hos } writel(0, host->base + MSDC_IOCON); sdr_set_field(host->base + MSDC_IOCON, MSDC_IOCON_DDLSEL, 0); @@ -53,7 +53,7 @@ Signed-off-by: Shiji Yang sdr_set_bits(host->base + EMMC50_CFG0, EMMC50_CFG_CFCSTS_SEL); if (host->dev_comp->stop_clk_fix) { -@@ -1795,6 +1803,18 @@ static void msdc_init_hw(struct msdc_hos +@@ -1797,6 +1805,18 @@ static void msdc_init_hw(struct msdc_hos MSDC_PAD_TUNE_RXDLYSEL); } diff --git a/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch b/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch index ec6130b7ce..4fd92a46dc 100644 --- a/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch +++ b/target/linux/starfive/patches-6.6/0066-uart-8250-Add-dw-auto-flow-ctrl-support.patch @@ -67,7 +67,7 @@ Signed-off-by: Minda Chen } /* -@@ -2814,7 +2827,6 @@ serial8250_do_set_termios(struct uart_po +@@ -2822,7 +2835,6 @@ serial8250_do_set_termios(struct uart_po if (termios->c_cflag & CRTSCTS) up->mcr |= UART_MCR_AFE; } From 652fe915dee521a3d3b2aee4cd6efd8f0a3ff1f7 Mon Sep 17 00:00:00 2001 From: Mieczyslaw Nalewaj Date: Tue, 18 Feb 2025 10:18:41 +0100 Subject: [PATCH 12/14] ramips: improve MT7621S core detection The proposed detection method was based on reading the LAUNCH_FREADY core flag. However, this method only works before the cores are launched. For this reason, the core number detection method has been changed to a simpler one. For mt6721s the 17th revision bit is zero, hence we know that it is this chip, so the number of cores is 1. Fixes: https://github.com/openwrt/openwrt/issues/17764 Tested-by: Enrico Mioso Tested-by: Simon Etzlstorfer Tested-by: Mauri Sandberg Co-authored-by: Shiji Yang Signed-off-by: Mieczyslaw Nalewaj Link: https://github.com/openwrt/openwrt/pull/17834 (cherry picked from commit bb84c256e701a21a97443ffe9dd1d510bd6c1c40) Link: https://github.com/openwrt/openwrt/pull/18015 Signed-off-by: Hauke Mehrtens --- ...ort-for-buggy-MT7621S-core-detection.patch | 50 +++++++------------ 1 file changed, 19 insertions(+), 31 deletions(-) diff --git a/target/linux/ramips/patches-6.6/320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch b/target/linux/ramips/patches-6.6/320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch index ef54835f89..50329953cf 100644 --- a/target/linux/ramips/patches-6.6/320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch +++ b/target/linux/ramips/patches-6.6/320-MIPS-add-support-for-buggy-MT7621S-core-detection.patch @@ -26,8 +26,18 @@ Suggested-by: Felix Fietkau Signed-off-by: Ilya Lipnitskiy Signed-off-by: Thomas Bogendoerfer --- - arch/mips/include/asm/mips-cps.h | 23 ++++++++++++++++++++++- - 1 file changed, 22 insertions(+), 1 deletion(-) + +The proposed detection method was based on reading the LAUNCH_FREADY core flag. +However, this method only works before the cores are launched. +For this reason, the core number detection method has been changed to a simpler one. +For mt6721s the 17th revision bit is zero, hence we know that it is this chip, +so the number of cores is 1. + +Co-authored-by: Shiji Yang +Signed-off-by: Mieczyslaw Nalewaj +--- + arch/mips/include/asm/mips-cps.h | 5 +++++ + 1 file changed, 5 insertions(+) --- a/arch/mips/include/asm/mips-cps.h +++ b/arch/mips/include/asm/mips-cps.h @@ -35,41 +45,19 @@ Signed-off-by: Thomas Bogendoerfer #include #include -+#include ++#include + extern unsigned long __cps_access_bad_size(void) __compiletime_error("Bad size for CPS accessor"); -@@ -162,12 +164,31 @@ static inline uint64_t mips_cps_cluster_ - */ - static inline unsigned int mips_cps_numcores(unsigned int cluster) - { -+ unsigned int ncores; -+ +@@ -165,6 +167,10 @@ static inline unsigned int mips_cps_numc if (!mips_cm_present()) return 0; ++ if (IS_ENABLED(CONFIG_SOC_MT7621) && ++ !FIELD_GET(0x20000, __raw_readl(MT7621_SYSC_BASE + SYSC_REG_CHIP_REV))) ++ return 1; ++ /* Add one before masking to handle 0xff indicating no cores */ -- return FIELD_GET(CM_GCR_CONFIG_PCORES, -+ ncores = FIELD_GET(CM_GCR_CONFIG_PCORES, + return FIELD_GET(CM_GCR_CONFIG_PCORES, mips_cps_cluster_config(cluster) + 1); -+ -+ if (IS_ENABLED(CONFIG_SOC_MT7621)) { -+ struct cpulaunch *launch; -+ -+ /* -+ * Ralink MT7621S SoC is single core, but the GCR_CONFIG method -+ * always reports 2 cores. Check the second core's LAUNCH_FREADY -+ * flag to detect if the second core is missing. This method -+ * only works before the core has been started. -+ */ -+ launch = (struct cpulaunch *)CKSEG0ADDR(CPULAUNCH); -+ launch += 2; /* MT7621 has 2 VPEs per core */ -+ if (!(launch->flags & LAUNCH_FREADY)) -+ ncores = 1; -+ } -+ -+ return ncores; - } - - /** From 88ac2caceb8f408d3263e0b7d46c8c542bcc1d4d Mon Sep 17 00:00:00 2001 From: Rudy Andram Date: Wed, 12 Feb 2025 19:28:49 +0000 Subject: [PATCH 13/14] wireless-regdb: Update to version 2025.02.20 b43aeb5 wireless-regdb: assert and correct maximum bandwidth within frequency difference 68588bf wireless-regdb: Update regulatory info for Syria (SY) for 2020 0dda57e wireless-regdb: Update regulatory info for Moldova (MD) on 6GHz for 2022 b19ab0b wireless-regdb: Update regulatory info for Azerbaijan (AZ) on 6GHz for 2024 f67f40d wireless-regdb: Update regulatory info for Oman (OM) bd70876 wireless-regdb: Update regulatory rules for Armenia (AM) on 2.4 and 5 GHz 6c7cbcc wireless-regdb: Permit 320 MHz bandwidth in 6 GHz band in ETSI/CEPT f9f6b30 wireless-regdb: Update regulatory rules for Austria (AT) 39b47ea wireless-regdb: Update regulatory info for Cayman Islands (KY) for 2024 3dd7ceb wireless-regdb: allow NO-INDOOR flag in db.txt 4d754a1 wireless-regdb: Update regulatory rules for Iran (IR) on both 2.4 and 5Ghz for 2021 8c8308a wireless-regdb: Update frequency range with NO-INDOOR for Oman (OM) c2f11e2 wireless-regdb: update regulatory database based on preceding changes Signed-off-by: Rudy Andram Link: https://github.com/openwrt/openwrt/pull/17957 Signed-off-by: Hauke Mehrtens (cherry picked from commit da2cc98458f46745de95e88b6066620fbd02b190) --- package/firmware/wireless-regdb/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/firmware/wireless-regdb/Makefile b/package/firmware/wireless-regdb/Makefile index 7d4cf63c47..7055b12bfa 100644 --- a/package/firmware/wireless-regdb/Makefile +++ b/package/firmware/wireless-regdb/Makefile @@ -1,14 +1,14 @@ include $(TOPDIR)/rules.mk PKG_NAME:=wireless-regdb -PKG_VERSION:=2024.10.07 +PKG_VERSION:=2025.02.20 PKG_RELEASE:=1 PKG_LICENSE:=ISC PKG_LICENSE_FILES:=LICENSE PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz PKG_SOURCE_URL:=@KERNEL/software/network/wireless-regdb/ -PKG_HASH:=f76f2bd79a653e9f9dd50548d99d03a4a4eb157da056dfd5892f403ec28fb3d5 +PKG_HASH:=57f8e7721cf5a880c13ae0c202edbb21092a060d45f9e9c59bcd2a8272bfa456 PKG_MAINTAINER:=Felix Fietkau From 3abbc154546042af5efe6d299e3e40133dfb3d7f Mon Sep 17 00:00:00 2001 From: John Audia Date: Wed, 12 Feb 2025 08:56:47 -0500 Subject: [PATCH 14/14] openssl: update to 3.0.16 Changes between 3.0.15 and 3.0.16 [11 Feb 2025] CVE-2024-13176[1] - Fixed timing side-channel in ECDSA signature computation. There is a timing signal of around 300 nanoseconds when the top word of the inverted ECDSA nonce value is zero. This can happen with significant probability only for some of the supported elliptic curves. In particular the NIST P-521 curve is affected. To be able to measure this leak, the attacker process must either be located in the same physical computer or must have a very fast network connection with low latency. CVE-2024-9143[2] - Fixed possible OOB memory access with invalid low-level GF(2^m) elliptic curve parameters. Use of the low-level GF(2^m) elliptic curve APIs with untrusted explicit values for the field polynomial can lead to out-of-bounds memory reads or writes. Applications working with "exotic" explicit binary (GF(2^m)) curve parameters, that make it possible to represent invalid field polynomials with a zero constant term, via the above or similar APIs, may terminate abruptly as a result of reading or writing outside of array bounds. Remote code execution cannot easily be ruled out. 1. https://www.openssl.org/news/vulnerabilities.html#CVE-2024-13176 2. https://www.openssl.org/news/vulnerabilities.html#CVE-2024-9143 Build system: x86/64 Build-tested: bcm27xx/bcm2712 Run-tested: bcm27xx/bcm2712 Signed-off-by: John Audia Link: https://github.com/openwrt/openwrt/pull/17947 Signed-off-by: Robert Marko (cherry picked from commit b4e6fd7b76440076eeff3a0789d40acbb5363ecf) --- package/libs/openssl/Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 959424ce12..4829670f86 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -8,7 +8,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=openssl -PKG_VERSION:=3.0.15 +PKG_VERSION:=3.0.16 PKG_RELEASE:=1 PKG_BUILD_FLAGS:=no-mips16 gc-sections no-lto @@ -21,7 +21,7 @@ PKG_SOURCE_URL:= \ https://www.openssl.org/source/old/$(PKG_BASE)/ \ https://github.com/openssl/openssl/releases/download/$(PKG_NAME)-$(PKG_VERSION)/ -PKG_HASH:=23c666d0edf20f14249b3d8f0368acaee9ab585b09e1de82107c66e1f3ec9533 +PKG_HASH:=57e03c50feab5d31b152af2b764f10379aecd8ee92f16c985983ce4a99f7ef86 PKG_LICENSE:=Apache-2.0 PKG_LICENSE_FILES:=LICENSE