From cb1b65602712a090539de29aefa38eb194c185d4 Mon Sep 17 00:00:00 2001 From: Shiji Yang Date: Fri, 20 Jun 2025 00:01:11 +0800 Subject: [PATCH] kernel: bump 6.12 to 6.12.34 Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.34 Remove upstreamed patches: generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch [1] generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch [2] generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch [3] generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch [4] generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch [5] generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch [6] Manually rebased patches: bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch [7] [1] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=408ca1d1803b223d615f9021055f9ccb4f4863ea [2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2a98786e258718ff93ef6d6bd26a9a39076e0cb7 [3] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=6d1c93a5c6b0ae87bb7001d8d6fdef3b3be9c6c6 [4] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=1aa31695bf0dc1ee3e6c559c14db7fd05b6bb102 [5] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=b2fc08d276797e529cacad6fa9d704a7367090b5 [6] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=2c32fc56c05aa69439fdfd5e0b25f57e2a158627 [7] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.12.34&id=aba86d49e5ac3700295ab8c417436abacc19cc32 Signed-off-by: Shiji Yang Link: https://github.com/openwrt/openwrt/pull/19184 Signed-off-by: Hauke Mehrtens --- ...fault-mouse-polling-interval-to-60Hz.patch | 4 +- ...-Add-a-timing-for-the-Raspberry-Pi-7.patch | 16 ++--- ...a-introduce-a-customisable-threshold.patch | 2 +- ...ci_sync-Add-fallback-bd-address-prop.patch | 4 +- .../950-0344-sdhci-Add-SD-Express-hook.patch | 2 +- ...f-dwcmshc-define-sdio-timeout-clocks.patch | 16 ++--- ...0379-drivers-iommu-Add-BCM2712-IOMMU.patch | 2 +- ...th-hci_sync-Fix-crash-on-NULL-parent.patch | 2 +- ...-an-RP1-firmware-interface-over-mbox.patch | 2 +- ...op-drm-parameter-for-vc4_find_crtc_f.patch | 20 +++---- ...c4-tests-Return-the-allocated-output.patch | 2 +- ...of-dwcmshc-define-sdio-timeout-clock.patch | 2 +- ....16-spi-bcm63xx-spi-fix-shared-reset.patch | 32 ---------- ...6-spi-bcm63xx-hsspi-fix-shared-reset.patch | 32 ---------- ...cm_sf2-implement-.support_eee-method.patch | 6 +- ...sa-b53-mdio-add-support-for-BCM53101.patch | 4 +- ...sa-b53-implement-setting-ageing-time.patch | 4 +- ...dsa-b53-do-not-enable-EEE-on-bcm63xx.patch | 4 +- ...do-not-enable-RGMII-delay-on-bcm63xx.patch | 49 --------------- ...ot-configure-bcm63xx-s-IMP-port-inte.patch | 8 +-- ...-allow-RGMII-for-bcm63xx-RGMII-ports.patch | 36 ----------- ...53-do-not-touch-DLL_IQQD-on-bcm53115.patch | 59 ------------------- ...brcm-legacy-fix-pskb_may_pull-length.patch | 31 ---------- ...-net-dsa-b53-support-legacy-FCS-tags.patch | 2 +- ...-net-dsa-b53-detect-BCM5325-variants.patch | 4 +- ...event-DIS_LEARNING-access-on-BCM5325.patch | 2 +- ...rt-active-high-property-for-PHY-LEDs.patch | 4 +- ...y-to-free-deferred-skbs-while-waitin.patch | 4 +- .../hack-6.12/904-debloat_dma_buf.patch | 2 +- target/linux/generic/kernel-6.12 | 4 +- ...detach-callback-to-struct-phy_driver.patch | 8 +-- ...-negotiation-of-in-band-capabilities.patch | 6 +- ...nclude-linux-add-phy-ops-for-rtl838x.patch | 2 +- .../1011-net-stmmac-use-GFP_DMA32.patch | 4 +- 34 files changed, 71 insertions(+), 310 deletions(-) delete mode 100644 target/linux/generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch delete mode 100644 target/linux/generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch delete mode 100644 target/linux/generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch delete mode 100644 target/linux/generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch delete mode 100644 target/linux/generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch delete mode 100644 target/linux/generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch diff --git a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch index 877c706d0ae..875dfdeca6b 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0087-hid-Reduce-default-mouse-polling-interval-to-60Hz.patch @@ -25,7 +25,7 @@ Signed-off-by: Jonathan Bell module_param_named(mousepoll, hid_mousepoll_interval, uint, 0644); MODULE_PARM_DESC(mousepoll, "Polling interval of mice"); -@@ -1114,7 +1114,9 @@ static int usbhid_start(struct hid_devic +@@ -1117,7 +1117,9 @@ static int usbhid_start(struct hid_devic */ switch (hid->collection->usage) { case HID_GD_MOUSE: @@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell interval = hid_mousepoll_interval; break; case HID_GD_JOYSTICK: -@@ -1126,6 +1128,7 @@ static int usbhid_start(struct hid_devic +@@ -1129,6 +1131,7 @@ static int usbhid_start(struct hid_devic interval = hid_kbpoll_interval; break; } diff --git a/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch b/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch index 442344653aa..7145016cc43 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0231-drm-panel-simple-Add-a-timing-for-the-Raspberry-Pi-7.patch @@ -315,7 +315,7 @@ Signed-off-by: Dave Stevenson ddc = of_parse_phandle(dev->of_node, "ddc-i2c-bus", 0); if (ddc) { panel->ddc = of_find_i2c_adapter_by_node(ddc); -@@ -2262,6 +2243,32 @@ static const struct panel_desc friendlya +@@ -2263,6 +2244,32 @@ static const struct panel_desc friendlya }, }; @@ -348,7 +348,7 @@ Signed-off-by: Dave Stevenson static const struct drm_display_mode giantplus_gpg482739qs5_mode = { .clock = 9000, .hdisplay = 480, -@@ -2442,6 +2449,38 @@ static const struct panel_desc innolux_a +@@ -2443,6 +2450,38 @@ static const struct panel_desc innolux_a .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE, }; @@ -387,7 +387,7 @@ Signed-off-by: Dave Stevenson static const struct drm_display_mode innolux_at070tn92_mode = { .clock = 33333, .hdisplay = 800, -@@ -3855,6 +3894,31 @@ static const struct panel_desc rocktech_ +@@ -3856,6 +3895,31 @@ static const struct panel_desc rocktech_ .connector_type = DRM_MODE_CONNECTOR_DPI, }; @@ -419,7 +419,7 @@ Signed-off-by: Dave Stevenson static const struct display_timing rocktech_rk070er9427_timing = { .pixelclock = { 26400000, 33300000, 46800000 }, .hactive = { 800, 800, 800 }, -@@ -4799,6 +4863,9 @@ static const struct of_device_id platfor +@@ -4800,6 +4864,9 @@ static const struct of_device_id platfor .compatible = "friendlyarm,hd702e", .data = &friendlyarm_hd702e, }, { @@ -429,7 +429,7 @@ Signed-off-by: Dave Stevenson .compatible = "giantplus,gpg482739qs5", .data = &giantplus_gpg482739qs5 }, { -@@ -4820,6 +4887,9 @@ static const struct of_device_id platfor +@@ -4821,6 +4888,9 @@ static const struct of_device_id platfor .compatible = "innolux,at043tn24", .data = &innolux_at043tn24, }, { @@ -439,7 +439,7 @@ Signed-off-by: Dave Stevenson .compatible = "innolux,at070tn92", .data = &innolux_at070tn92, }, { -@@ -4979,6 +5049,9 @@ static const struct of_device_id platfor +@@ -4980,6 +5050,9 @@ static const struct of_device_id platfor .compatible = "rocktech,rk043fn48h", .data = &rocktech_rk043fn48h, }, { @@ -449,7 +449,7 @@ Signed-off-by: Dave Stevenson .compatible = "rocktech,rk070er9427", .data = &rocktech_rk070er9427, }, { -@@ -5335,6 +5408,9 @@ static const struct panel_desc_dsi osd10 +@@ -5336,6 +5409,9 @@ static const struct panel_desc_dsi osd10 .lanes = 4, }; @@ -459,7 +459,7 @@ Signed-off-by: Dave Stevenson static const struct of_device_id dsi_of_match[] = { { .compatible = "auo,b080uan01", -@@ -5358,20 +5434,137 @@ static const struct of_device_id dsi_of_ +@@ -5359,20 +5435,137 @@ static const struct of_device_id dsi_of_ .compatible = "osddisplays,osd101t2045-53ts", .data = &osd101t2045_53ts }, { diff --git a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch index f9ef8c30671..2c1cb09a6dc 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0277-mm-page_alloc-cma-introduce-a-customisable-threshold.patch @@ -48,7 +48,7 @@ Signed-off-by: David Plowman #ifdef CONFIG_HUGETLB_PAGE_SIZE_VARIABLE unsigned int pageblock_order __read_mostly; #endif -@@ -2269,12 +2290,13 @@ __rmqueue(struct zone *zone, unsigned in +@@ -2265,12 +2286,13 @@ __rmqueue(struct zone *zone, unsigned in if (IS_ENABLED(CONFIG_CMA)) { /* * Balance movable allocations between regular and CMA areas by diff --git a/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch b/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch index b68669964d5..731e4c71dfa 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0322-Bluetooth-hci_sync-Add-fallback-bd-address-prop.patch @@ -20,7 +20,7 @@ Signed-off-by: Phil Elwell --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c -@@ -4866,6 +4866,7 @@ static const struct { +@@ -4877,6 +4877,7 @@ static const struct { */ static int hci_dev_setup_sync(struct hci_dev *hdev) { @@ -28,7 +28,7 @@ Signed-off-by: Phil Elwell int ret = 0; bool invalid_bdaddr; size_t i; -@@ -4894,7 +4895,8 @@ static int hci_dev_setup_sync(struct hci +@@ -4905,7 +4906,8 @@ static int hci_dev_setup_sync(struct hci test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks); if (!ret) { if (test_bit(HCI_QUIRK_USE_BDADDR_PROPERTY, &hdev->quirks) && diff --git a/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch b/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch index 7b843a0c09f..287f01ecc37 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0344-sdhci-Add-SD-Express-hook.patch @@ -12,7 +12,7 @@ sdhci: remove PYA0_INTR_BUG quirk. Add quirks to disable some of the higher SDR --- a/drivers/mmc/host/sdhci-of-dwcmshc.c +++ b/drivers/mmc/host/sdhci-of-dwcmshc.c -@@ -1212,7 +1212,11 @@ static const struct dwcmshc_pltfm_data s +@@ -1236,7 +1236,11 @@ static const struct dwcmshc_pltfm_data s .quirks = SDHCI_QUIRK_CAP_CLOCK_BASE_BROKEN | SDHCI_QUIRK_BROKEN_TIMEOUT_VAL, .quirks2 = SDHCI_QUIRK2_PRESET_VALUE_BROKEN | diff --git a/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch b/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch index 2ef84630cac..9cf0c1ad16b 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0358-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clocks.patch @@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell --- a/drivers/mmc/host/sdhci-of-dwcmshc.c +++ b/drivers/mmc/host/sdhci-of-dwcmshc.c -@@ -220,6 +220,7 @@ struct rk35xx_priv { +@@ -221,6 +221,7 @@ struct rk35xx_priv { struct dwcmshc_priv { struct clk *bus_clk; @@ -30,7 +30,7 @@ Signed-off-by: Jonathan Bell int vendor_specific_area1; /* P_VENDOR_SPECIFIC_AREA1 reg */ int vendor_specific_area2; /* P_VENDOR_SPECIFIC_AREA2 reg */ -@@ -288,6 +289,17 @@ static void dwcmshc_adma_write_desc(stru +@@ -289,6 +290,17 @@ static void dwcmshc_adma_write_desc(stru sdhci_adma_write_desc(host, desc, addr, len, cmd); } @@ -48,7 +48,7 @@ Signed-off-by: Jonathan Bell static unsigned int dwcmshc_get_max_clock(struct sdhci_host *host) { struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); -@@ -1114,10 +1126,11 @@ static int sg2042_init(struct device *de +@@ -1138,10 +1150,11 @@ static int sg2042_init(struct device *de } static const struct sdhci_ops sdhci_dwcmshc_ops = { @@ -61,7 +61,7 @@ Signed-off-by: Jonathan Bell .reset = sdhci_reset, .adma_write_desc = dwcmshc_adma_write_desc, .irq = dwcmshc_cqe_irq_handler, -@@ -1190,8 +1203,10 @@ static const struct sdhci_ops sdhci_dwcm +@@ -1214,8 +1227,10 @@ static const struct sdhci_ops sdhci_dwcm static const struct dwcmshc_pltfm_data sdhci_dwcmshc_pdata = { .pdata = { .ops = &sdhci_dwcmshc_ops, @@ -74,7 +74,7 @@ Signed-off-by: Jonathan Bell }, }; -@@ -1206,6 +1221,15 @@ static const struct dwcmshc_pltfm_data s +@@ -1230,6 +1245,15 @@ static const struct dwcmshc_pltfm_data s }; #endif @@ -90,7 +90,7 @@ Signed-off-by: Jonathan Bell static const struct dwcmshc_pltfm_data sdhci_dwcmshc_rk35xx_pdata = { .pdata = { .ops = &sdhci_dwcmshc_rk35xx_ops, -@@ -1317,6 +1341,10 @@ dsbl_cqe_caps: +@@ -1353,6 +1377,10 @@ dsbl_cqe_caps: static const struct of_device_id sdhci_dwcmshc_dt_ids[] = { { @@ -101,7 +101,7 @@ Signed-off-by: Jonathan Bell .compatible = "rockchip,rk3588-dwcmshc", .data = &sdhci_dwcmshc_rk35xx_pdata, }, -@@ -1405,13 +1433,32 @@ static int dwcmshc_probe(struct platform +@@ -1445,13 +1473,32 @@ static int dwcmshc_probe(struct platform priv->bus_clk = devm_clk_get(dev, "bus"); if (!IS_ERR(priv->bus_clk)) clk_prepare_enable(priv->bus_clk); @@ -134,7 +134,7 @@ Signed-off-by: Jonathan Bell priv->vendor_specific_area1 = sdhci_readl(host, DWCMSHC_P_VENDOR_AREA1) & DWCMSHC_AREA1_MASK; -@@ -1471,6 +1518,7 @@ err_rpm: +@@ -1511,6 +1558,7 @@ err_rpm: pm_runtime_put_noidle(dev); err_clk: clk_disable_unprepare(pltfm_host->clk); diff --git a/target/linux/bcm27xx/patches-6.12/950-0379-drivers-iommu-Add-BCM2712-IOMMU.patch b/target/linux/bcm27xx/patches-6.12/950-0379-drivers-iommu-Add-BCM2712-IOMMU.patch index d91c71213a7..be3102acdcd 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0379-drivers-iommu-Add-BCM2712-IOMMU.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0379-drivers-iommu-Add-BCM2712-IOMMU.patch @@ -55,7 +55,7 @@ Signed-off-by: Ratchanan Srirattanamet --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig -@@ -519,4 +519,11 @@ config SPRD_IOMMU +@@ -518,4 +518,11 @@ config SPRD_IOMMU Say Y here if you want to use the multimedia devices listed above. diff --git a/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch b/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch index 8ec9b4e5ee9..f77140b7ba0 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0502-Bluetooth-hci_sync-Fix-crash-on-NULL-parent.patch @@ -15,7 +15,7 @@ Signed-off-by: Phil Elwell --- a/net/bluetooth/hci_sync.c +++ b/net/bluetooth/hci_sync.c -@@ -4866,7 +4866,8 @@ static const struct { +@@ -4877,7 +4877,8 @@ static const struct { */ static int hci_dev_setup_sync(struct hci_dev *hdev) { diff --git a/target/linux/bcm27xx/patches-6.12/950-0539-firmware-Add-an-RP1-firmware-interface-over-mbox.patch b/target/linux/bcm27xx/patches-6.12/950-0539-firmware-Add-an-RP1-firmware-interface-over-mbox.patch index 8d67f8e3d6a..501036fde95 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0539-firmware-Add-an-RP1-firmware-interface-over-mbox.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0539-firmware-Add-an-RP1-firmware-interface-over-mbox.patch @@ -18,7 +18,7 @@ Signed-off-by: Phil Elwell --- a/drivers/firmware/Kconfig +++ b/drivers/firmware/Kconfig -@@ -120,6 +120,15 @@ config RASPBERRYPI_FIRMWARE +@@ -119,6 +119,15 @@ config RASPBERRYPI_FIRMWARE This option enables support for communicating with the firmware on the Raspberry Pi. diff --git a/target/linux/bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch b/target/linux/bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch index bf8eb892b78..ad53d18f6b8 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0665-drm-vc4-tests-Drop-drm-parameter-for-vc4_find_crtc_f.patch @@ -32,24 +32,24 @@ Signed-off-by: Maxime Ripard KUNIT_ASSERT_EQ(test, hweight32(encoder->possible_crtcs), 1); --- a/drivers/gpu/drm/vc4/tests/vc4_mock_output.c +++ b/drivers/gpu/drm/vc4/tests/vc4_mock_output.c -@@ -77,7 +77,7 @@ int vc4_mock_atomic_add_output(struct ku - encoder = vc4_find_encoder_by_type(drm, type); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, encoder); +@@ -78,7 +78,7 @@ int vc4_mock_atomic_add_output(struct ku + if (!encoder) + return -ENODEV; - crtc = vc4_find_crtc_for_encoder(test, drm, encoder); + crtc = vc4_find_crtc_for_encoder(test, encoder); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc); + if (!crtc) + return -ENODEV; - output = encoder_to_vc4_dummy_output(encoder); -@@ -115,7 +115,7 @@ int vc4_mock_atomic_del_output(struct ku - encoder = vc4_find_encoder_by_type(drm, type); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, encoder); +@@ -122,7 +122,7 @@ int vc4_mock_atomic_del_output(struct ku + if (!encoder) + return -ENODEV; - crtc = vc4_find_crtc_for_encoder(test, drm, encoder); + crtc = vc4_find_crtc_for_encoder(test, encoder); - KUNIT_ASSERT_NOT_ERR_OR_NULL(test, crtc); + if (!crtc) + return -ENODEV; - crtc_state = drm_atomic_get_crtc_state(state, crtc); --- a/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c +++ b/drivers/gpu/drm/vc4/tests/vc4_test_pv_muxing.c @@ -131,7 +131,7 @@ get_vc4_crtc_state_for_encoder(struct ku diff --git a/target/linux/bcm27xx/patches-6.12/950-0666-drm-vc4-tests-Return-the-allocated-output.patch b/target/linux/bcm27xx/patches-6.12/950-0666-drm-vc4-tests-Return-the-allocated-output.patch index 3afd4d1f604..f0651bdad65 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0666-drm-vc4-tests-Return-the-allocated-output.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0666-drm-vc4-tests-Return-the-allocated-output.patch @@ -49,7 +49,7 @@ Signed-off-by: Maxime Ripard { struct drm_device *drm = state->dev; struct drm_connector_state *conn_state; -@@ -96,7 +97,7 @@ int vc4_mock_atomic_add_output(struct ku +@@ -102,7 +103,7 @@ int vc4_mock_atomic_add_output(struct ku crtc_state->active = true; diff --git a/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch b/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch index 263b6a7cfb9..809ab256f4b 100644 --- a/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch +++ b/target/linux/bcm27xx/patches-6.12/950-0947-fixup-mmc-sdhci-of-dwcmshc-define-sdio-timeout-clock.patch @@ -19,7 +19,7 @@ Signed-off-by: Phil Elwell --- a/drivers/mmc/host/sdhci-of-dwcmshc.c +++ b/drivers/mmc/host/sdhci-of-dwcmshc.c -@@ -1221,13 +1221,15 @@ static const struct dwcmshc_pltfm_data s +@@ -1245,13 +1245,15 @@ static const struct dwcmshc_pltfm_data s }; #endif diff --git a/target/linux/generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch b/target/linux/generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch deleted file mode 100644 index e886350d26d..00000000000 --- a/target/linux/generic/backport-6.12/421-01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 5ad20e3d8cfe3b2e42bbddc7e0ebaa74479bb589 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Thu, 29 May 2025 15:09:14 +0200 -Subject: [PATCH] spi: bcm63xx-spi: fix shared reset -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Some bmips SoCs (bcm6362, bcm63268) share the same SPI reset for both SPI -and HSSPI controllers, so reset shouldn't be exclusive. - -Fixes: 38807adeaf1e ("spi: bcm63xx-spi: add reset support") -Reported-by: Jonas Gorski -Signed-off-by: Álvaro Fernández Rojas -Reviewed-by: Florian Fainelli -Link: https://patch.msgid.link/20250529130915.2519590-2-noltari@gmail.com -Signed-off-by: Mark Brown ---- - drivers/spi/spi-bcm63xx.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/spi/spi-bcm63xx.c -+++ b/drivers/spi/spi-bcm63xx.c -@@ -523,7 +523,7 @@ static int bcm63xx_spi_probe(struct plat - return PTR_ERR(clk); - } - -- reset = devm_reset_control_get_optional_exclusive(dev, NULL); -+ reset = devm_reset_control_get_optional_shared(dev, NULL); - if (IS_ERR(reset)) - return PTR_ERR(reset); - diff --git a/target/linux/generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch b/target/linux/generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch deleted file mode 100644 index 3c30269d079..00000000000 --- a/target/linux/generic/backport-6.12/421-02-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3d6d84c8f2f66d3fd6a43a1e2ce8e6b54c573960 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Thu, 29 May 2025 15:09:15 +0200 -Subject: [PATCH] spi: bcm63xx-hsspi: fix shared reset -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -Some bmips SoCs (bcm6362, bcm63268) share the same SPI reset for both SPI -and HSSPI controllers, so reset shouldn't be exclusive. - -Fixes: 0eeadddbf09a ("spi: bcm63xx-hsspi: add reset support") -Reported-by: Jonas Gorski -Signed-off-by: Álvaro Fernández Rojas -Reviewed-by: Florian Fainelli -Link: https://patch.msgid.link/20250529130915.2519590-3-noltari@gmail.com -Signed-off-by: Mark Brown ---- - drivers/spi/spi-bcm63xx-hsspi.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/drivers/spi/spi-bcm63xx-hsspi.c -+++ b/drivers/spi/spi-bcm63xx-hsspi.c -@@ -745,7 +745,7 @@ static int bcm63xx_hsspi_probe(struct pl - if (IS_ERR(clk)) - return PTR_ERR(clk); - -- reset = devm_reset_control_get_optional_exclusive(dev, NULL); -+ reset = devm_reset_control_get_optional_shared(dev, NULL); - if (IS_ERR(reset)) - return PTR_ERR(reset); - diff --git a/target/linux/generic/backport-6.12/610-02-v6.14-net-dsa-b53-bcm_sf2-implement-.support_eee-method.patch b/target/linux/generic/backport-6.12/610-02-v6.14-net-dsa-b53-bcm_sf2-implement-.support_eee-method.patch index ca0f61013ca..4e9512c548e 100644 --- a/target/linux/generic/backport-6.12/610-02-v6.14-net-dsa-b53-bcm_sf2-implement-.support_eee-method.patch +++ b/target/linux/generic/backport-6.12/610-02-v6.14-net-dsa-b53-bcm_sf2-implement-.support_eee-method.patch @@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -2358,13 +2358,16 @@ int b53_eee_init(struct dsa_switch *ds, +@@ -2343,13 +2343,16 @@ int b53_eee_init(struct dsa_switch *ds, } EXPORT_SYMBOL(b53_eee_init); @@ -39,7 +39,7 @@ Signed-off-by: Jakub Kicinski return 0; } EXPORT_SYMBOL(b53_get_mac_eee); -@@ -2374,9 +2377,6 @@ int b53_set_mac_eee(struct dsa_switch *d +@@ -2359,9 +2362,6 @@ int b53_set_mac_eee(struct dsa_switch *d struct b53_device *dev = ds->priv; struct ethtool_keee *p = &dev->ports[port].eee; @@ -49,7 +49,7 @@ Signed-off-by: Jakub Kicinski p->eee_enabled = e->eee_enabled; b53_eee_enable_set(ds, port, e->eee_enabled); -@@ -2433,6 +2433,7 @@ static const struct dsa_switch_ops b53_s +@@ -2418,6 +2418,7 @@ static const struct dsa_switch_ops b53_s .port_setup = b53_setup_port, .port_enable = b53_enable_port, .port_disable = b53_disable_port, diff --git a/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch b/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch index 900117af5e1..deff0fe4d2e 100644 --- a/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch +++ b/target/linux/generic/backport-6.12/610-03-v6.15-net-dsa-b53-mdio-add-support-for-BCM53101.patch @@ -18,7 +18,7 @@ Signed-off-by: Jakub Kicinski --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -2552,6 +2552,19 @@ static const struct b53_chip_data b53_sw +@@ -2537,6 +2537,19 @@ static const struct b53_chip_data b53_sw .jumbo_size_reg = B53_JUMBO_MAX_SIZE, }, { @@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski .chip_id = BCM53115_DEVICE_ID, .dev_name = "BCM53115", .vlans = 4096, -@@ -2932,6 +2945,7 @@ int b53_switch_detect(struct b53_device +@@ -2917,6 +2930,7 @@ int b53_switch_detect(struct b53_device return ret; switch (id32) { diff --git a/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch b/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch index 75b5b040fdb..a0b428e4d40 100644 --- a/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch +++ b/target/linux/generic/backport-6.12/610-04-v6.16-net-dsa-b53-implement-setting-ageing-time.patch @@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski ret = b53_reset_switch(dev); if (ret) { dev_err(ds->dev, "failed to reset switch\n"); -@@ -2412,6 +2417,28 @@ static int b53_get_max_mtu(struct dsa_sw +@@ -2397,6 +2402,28 @@ static int b53_get_max_mtu(struct dsa_sw return B53_MAX_MTU; } @@ -69,7 +69,7 @@ Signed-off-by: Jakub Kicinski static const struct phylink_mac_ops b53_phylink_mac_ops = { .mac_select_pcs = b53_phylink_mac_select_pcs, .mac_config = b53_phylink_mac_config, -@@ -2436,6 +2463,7 @@ static const struct dsa_switch_ops b53_s +@@ -2421,6 +2448,7 @@ static const struct dsa_switch_ops b53_s .support_eee = b53_support_eee, .get_mac_eee = b53_get_mac_eee, .set_mac_eee = b53_set_mac_eee, diff --git a/target/linux/generic/backport-6.12/610-05-v6.16-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch b/target/linux/generic/backport-6.12/610-05-v6.16-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch index 9a53b709afb..d1735c41002 100644 --- a/target/linux/generic/backport-6.12/610-05-v6.16-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch +++ b/target/linux/generic/backport-6.12/610-05-v6.16-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch @@ -26,7 +26,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -2353,6 +2353,9 @@ int b53_eee_init(struct dsa_switch *ds, +@@ -2338,6 +2338,9 @@ int b53_eee_init(struct dsa_switch *ds, { int ret; @@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni ret = phy_init_eee(phy, false); if (ret) return 0; -@@ -2367,7 +2370,7 @@ bool b53_support_eee(struct dsa_switch * +@@ -2352,7 +2355,7 @@ bool b53_support_eee(struct dsa_switch * { struct b53_device *dev = ds->priv; diff --git a/target/linux/generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch b/target/linux/generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch deleted file mode 100644 index 6f15ea3cdc8..00000000000 --- a/target/linux/generic/backport-6.12/610-06-v6.16-net-dsa-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch +++ /dev/null @@ -1,49 +0,0 @@ -From 4af523551d876ab8b8057d1e5303a860fd736fcb Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Mon, 2 Jun 2025 21:39:50 +0200 -Subject: [PATCH] net: dsa: b53: do not enable RGMII delay on bcm63xx - -bcm63xx's RGMII ports are always in MAC mode, never in PHY mode, so we -shouldn't enable any delays and let the PHY handle any delays as -necessary. - -This fixes using RGMII ports with normal PHYs like BCM54612E, which will -handle the delay in the PHY. - -Fixes: ce3bf94871f7 ("net: dsa: b53: add support for BCM63xx RGMIIs") -Signed-off-by: Jonas Gorski -Reviewed-by: Florian Fainelli -Link: https://patch.msgid.link/20250602193953.1010487-3-jonas.gorski@gmail.com -Signed-off-by: Paolo Abeni ---- - drivers/net/dsa/b53/b53_common.c | 19 +------------------ - 1 file changed, 1 insertion(+), 18 deletions(-) - ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -1330,24 +1330,7 @@ static void b53_adjust_63xx_rgmii(struct - off = B53_RGMII_CTRL_P(port); - - b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl); -- -- switch (interface) { -- case PHY_INTERFACE_MODE_RGMII_ID: -- rgmii_ctrl |= (RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC); -- break; -- case PHY_INTERFACE_MODE_RGMII_RXID: -- rgmii_ctrl &= ~(RGMII_CTRL_DLL_TXC); -- rgmii_ctrl |= RGMII_CTRL_DLL_RXC; -- break; -- case PHY_INTERFACE_MODE_RGMII_TXID: -- rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC); -- rgmii_ctrl |= RGMII_CTRL_DLL_TXC; -- break; -- case PHY_INTERFACE_MODE_RGMII: -- default: -- rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC); -- break; -- } -+ rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC); - - if (port != dev->imp_port) { - if (is63268(dev)) diff --git a/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch b/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch index 739e1b70304..17489e9b9fa 100644 --- a/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch +++ b/target/linux/generic/backport-6.12/610-07-v6.16-net-dsa-b53-do-not-configure-bcm63xx-s-IMP-port-inte.patch @@ -33,13 +33,13 @@ Signed-off-by: Paolo Abeni { struct b53_device *dev = ds->priv; - u8 rgmii_ctrl = 0, off; -+ u8 rgmii_ctrl = 0; - +- - if (port == dev->imp_port) - off = B53_RGMII_CTRL_IMP; - else - off = B53_RGMII_CTRL_P(port); -- ++ u8 rgmii_ctrl = 0; + - b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl); + b53_read8(dev, B53_CTRL_PAGE, B53_RGMII_CTRL_P(port), &rgmii_ctrl); rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC); @@ -59,7 +59,7 @@ Signed-off-by: Paolo Abeni dev_dbg(ds->dev, "Configured port %d for %s\n", port, phy_modes(interface)); -@@ -1484,7 +1478,7 @@ static void b53_phylink_mac_config(struc +@@ -1490,7 +1484,7 @@ static void b53_phylink_mac_config(struc struct b53_device *dev = ds->priv; int port = dp->index; diff --git a/target/linux/generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch b/target/linux/generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch deleted file mode 100644 index 9b74dd177e1..00000000000 --- a/target/linux/generic/backport-6.12/610-08-v6.16-net-dsa-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch +++ /dev/null @@ -1,36 +0,0 @@ -From 5ea0d42c1980e6d10e5cb56a78021db5bfcebaaf Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Mon, 2 Jun 2025 21:39:52 +0200 -Subject: [PATCH] net: dsa: b53: allow RGMII for bcm63xx RGMII ports - -Add RGMII to supported interfaces for BCM63xx RGMII ports so they can be -actually used in RGMII mode. - -Without this, phylink will fail to configure them: - -[ 3.580000] b53-switch 10700000.switch GbE3 (uninitialized): validation of rgmii with support 0000000,00000000,00000000,000062ff and advertisement 0000000,00000000,00000000,000062ff failed: -EINVAL -[ 3.600000] b53-switch 10700000.switch GbE3 (uninitialized): failed to connect to PHY: -EINVAL -[ 3.610000] b53-switch 10700000.switch GbE3 (uninitialized): error -22 setting up PHY for tree 0, switch 0, port 4 - -Fixes: ce3bf94871f7 ("net: dsa: b53: add support for BCM63xx RGMIIs") -Reviewed-by: Florian Fainelli -Signed-off-by: Jonas Gorski -Link: https://patch.msgid.link/20250602193953.1010487-5-jonas.gorski@gmail.com -Signed-off-by: Paolo Abeni ---- - drivers/net/dsa/b53/b53_common.c | 4 ++++ - 1 file changed, 4 insertions(+) - ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -1439,6 +1439,10 @@ static void b53_phylink_get_caps(struct - __set_bit(PHY_INTERFACE_MODE_MII, config->supported_interfaces); - __set_bit(PHY_INTERFACE_MODE_REVMII, config->supported_interfaces); - -+ /* BCM63xx RGMII ports support RGMII */ -+ if (is63xx(dev) && in_range(port, B53_63XX_RGMII0, 4)) -+ phy_interface_set_rgmii(config->supported_interfaces); -+ - config->mac_capabilities = MAC_ASYM_PAUSE | MAC_SYM_PAUSE | - MAC_10 | MAC_100; - diff --git a/target/linux/generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch b/target/linux/generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch deleted file mode 100644 index 9f2143d8160..00000000000 --- a/target/linux/generic/backport-6.12/610-09-v6.16-net-dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch +++ /dev/null @@ -1,59 +0,0 @@ -From bc1a65eb81a21e2aa3c3dca058ee8adf687b6ef5 Mon Sep 17 00:00:00 2001 -From: Jonas Gorski -Date: Mon, 2 Jun 2025 21:39:53 +0200 -Subject: [PATCH] net: dsa: b53: do not touch DLL_IQQD on bcm53115 - -According to OpenMDK, bit 2 of the RGMII register has a different -meaning for BCM53115 [1]: - -"DLL_IQQD 1: In the IDDQ mode, power is down0: Normal function - mode" - -Configuring RGMII delay works without setting this bit, so let's keep it -at the default. For other chips, we always set it, so not clearing it -is not an issue. - -One would assume BCM53118 works the same, but OpenMDK is not quite sure -what this bit actually means [2]: - -"BYPASS_IMP_2NS_DEL #1: In the IDDQ mode, power is down#0: Normal - function mode1: Bypass dll65_2ns_del IP0: Use - dll65_2ns_del IP" - -So lets keep setting it for now. - -[1] https://github.com/Broadcom-Network-Switching-Software/OpenMDK/blob/master/cdk/PKG/chip/bcm53115/bcm53115_a0_defs.h#L19871 -[2] https://github.com/Broadcom-Network-Switching-Software/OpenMDK/blob/master/cdk/PKG/chip/bcm53118/bcm53118_a0_defs.h#L14392 - -Fixes: 967dd82ffc52 ("net: dsa: b53: Add support for Broadcom RoboSwitch") -Signed-off-by: Jonas Gorski -Link: https://patch.msgid.link/20250602193953.1010487-6-jonas.gorski@gmail.com -Signed-off-by: Paolo Abeni ---- - drivers/net/dsa/b53/b53_common.c | 8 +++++--- - 1 file changed, 5 insertions(+), 3 deletions(-) - ---- a/drivers/net/dsa/b53/b53_common.c -+++ b/drivers/net/dsa/b53/b53_common.c -@@ -1354,8 +1354,7 @@ static void b53_adjust_531x5_rgmii(struc - * tx_clk aligned timing (restoring to reset defaults) - */ - b53_read8(dev, B53_CTRL_PAGE, off, &rgmii_ctrl); -- rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC | -- RGMII_CTRL_TIMING_SEL); -+ rgmii_ctrl &= ~(RGMII_CTRL_DLL_RXC | RGMII_CTRL_DLL_TXC); - - /* PHY_INTERFACE_MODE_RGMII_TXID means TX internal delay, make - * sure that we enable the port TX clock internal delay to -@@ -1375,7 +1374,10 @@ static void b53_adjust_531x5_rgmii(struc - rgmii_ctrl |= RGMII_CTRL_DLL_TXC; - if (interface == PHY_INTERFACE_MODE_RGMII) - rgmii_ctrl |= RGMII_CTRL_DLL_TXC | RGMII_CTRL_DLL_RXC; -- rgmii_ctrl |= RGMII_CTRL_TIMING_SEL; -+ -+ if (dev->chip_id != BCM53115_DEVICE_ID) -+ rgmii_ctrl |= RGMII_CTRL_TIMING_SEL; -+ - b53_write8(dev, B53_CTRL_PAGE, off, rgmii_ctrl); - - dev_info(ds->dev, "Configured port %d for %s\n", port, diff --git a/target/linux/generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch b/target/linux/generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch deleted file mode 100644 index 9fa88d2d3f9..00000000000 --- a/target/linux/generic/backport-6.12/611-v6.16-net-dsa-tag_brcm-legacy-fix-pskb_may_pull-length.patch +++ /dev/null @@ -1,31 +0,0 @@ -From efdddc4484859082da6c7877ed144c8121c8ea55 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?=C3=81lvaro=20Fern=C3=A1ndez=20Rojas?= -Date: Thu, 29 May 2025 14:44:06 +0200 -Subject: [PATCH] net: dsa: tag_brcm: legacy: fix pskb_may_pull length -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -BRCM_LEG_PORT_ID was incorrectly used for pskb_may_pull length. -The correct check is BRCM_LEG_TAG_LEN + VLAN_HLEN, or 10 bytes. - -Fixes: 964dbf186eaa ("net: dsa: tag_brcm: add support for legacy tags") -Signed-off-by: Álvaro Fernández Rojas -Reviewed-by: Florian Fainelli -Link: https://patch.msgid.link/20250529124406.2513779-1-noltari@gmail.com -Signed-off-by: Jakub Kicinski ---- - net/dsa/tag_brcm.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - ---- a/net/dsa/tag_brcm.c -+++ b/net/dsa/tag_brcm.c -@@ -257,7 +257,7 @@ static struct sk_buff *brcm_leg_tag_rcv( - int source_port; - u8 *brcm_tag; - -- if (unlikely(!pskb_may_pull(skb, BRCM_LEG_PORT_ID))) -+ if (unlikely(!pskb_may_pull(skb, BRCM_LEG_TAG_LEN + VLAN_HLEN))) - return NULL; - - brcm_tag = dsa_etype_header_pos_rx(skb); diff --git a/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch b/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch index 3535f564f6f..55227b643c4 100644 --- a/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch +++ b/target/linux/generic/backport-6.12/612-03-v6.17-net-dsa-b53-support-legacy-FCS-tags.patch @@ -32,7 +32,7 @@ Signed-off-by: Jakub Kicinski This driver adds support for Broadcom managed switch chips. It supports --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c -@@ -2245,8 +2245,11 @@ enum dsa_tag_protocol b53_get_tag_protoc +@@ -2241,8 +2241,11 @@ enum dsa_tag_protocol b53_get_tag_protoc goto out; } diff --git a/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch b/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch index 0a0da33171f..5ed003ad985 100644 --- a/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch +++ b/target/linux/generic/backport-6.12/612-04-v6.17-net-dsa-b53-detect-BCM5325-variants.patch @@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski /* Issue a read operation for this MAC */ ret = b53_arl_rw_op(dev, 1); -@@ -2844,6 +2845,9 @@ static int b53_switch_init(struct b53_de +@@ -2840,6 +2841,9 @@ static int b53_switch_init(struct b53_de } } @@ -41,7 +41,7 @@ Signed-off-by: Jakub Kicinski dev->num_ports = fls(dev->enabled_ports); dev->ds->num_ports = min_t(unsigned int, dev->num_ports, DSA_MAX_PORTS); -@@ -2945,10 +2949,24 @@ int b53_switch_detect(struct b53_device +@@ -2941,10 +2945,24 @@ int b53_switch_detect(struct b53_device b53_write16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_25, 0xf); b53_read16(dev, B53_VLAN_PAGE, B53_VLAN_TABLE_ACCESS_25, &tmp); diff --git a/target/linux/generic/backport-6.12/612-09-v6.17-net-dsa-b53-prevent-DIS_LEARNING-access-on-BCM5325.patch b/target/linux/generic/backport-6.12/612-09-v6.17-net-dsa-b53-prevent-DIS_LEARNING-access-on-BCM5325.patch index c098e541405..b9616f0dad2 100644 --- a/target/linux/generic/backport-6.12/612-09-v6.17-net-dsa-b53-prevent-DIS_LEARNING-access-on-BCM5325.patch +++ b/target/linux/generic/backport-6.12/612-09-v6.17-net-dsa-b53-prevent-DIS_LEARNING-access-on-BCM5325.patch @@ -29,7 +29,7 @@ Signed-off-by: Jakub Kicinski b53_read16(dev, B53_CTRL_PAGE, B53_DIS_LEARNING, ®); if (learning) reg &= ~BIT(port); -@@ -2247,7 +2250,13 @@ int b53_br_flags_pre(struct dsa_switch * +@@ -2243,7 +2246,13 @@ int b53_br_flags_pre(struct dsa_switch * struct switchdev_brport_flags flags, struct netlink_ext_ack *extack) { diff --git a/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch b/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch index ad1d5545319..9c317606e11 100644 --- a/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch +++ b/target/linux/generic/backport-6.12/730-03-v6.13-net-phy-support-active-high-property-for-PHY-LEDs.patch @@ -19,7 +19,7 @@ Signed-off-by: Paolo Abeni --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -3385,11 +3385,17 @@ static int of_phy_led(struct phy_device +@@ -3387,11 +3387,17 @@ static int of_phy_led(struct phy_device if (index > U8_MAX) return -EINVAL; @@ -39,7 +39,7 @@ Signed-off-by: Paolo Abeni if (!phydev->drv->led_polarity_set) --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -877,8 +877,9 @@ struct phy_plca_status { +@@ -874,8 +874,9 @@ struct phy_plca_status { /* Modes for PHY LED configuration */ enum phy_led_modes { diff --git a/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch b/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch index 3d27c921416..697f2a64dbe 100644 --- a/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch +++ b/target/linux/generic/hack-6.12/610-net-page_pool-try-to-free-deferred-skbs-while-waitin.patch @@ -16,7 +16,7 @@ Signed-off-by: Felix Fietkau --- a/net/core/page_pool.c +++ b/net/core/page_pool.c -@@ -1064,7 +1064,7 @@ static void page_pool_release_retry(stru +@@ -1120,7 +1120,7 @@ static void page_pool_release_retry(stru struct delayed_work *dwq = to_delayed_work(wq); struct page_pool *pool = container_of(dwq, typeof(*pool), release_dw); void *netdev; @@ -25,7 +25,7 @@ Signed-off-by: Felix Fietkau inflight = page_pool_release(pool); /* In rare cases, a driver bug may cause inflight to go negative. -@@ -1076,6 +1076,17 @@ static void page_pool_release_retry(stru +@@ -1132,6 +1132,17 @@ static void page_pool_release_retry(stru if (inflight <= 0) return; diff --git a/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch b/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch index 2e953023c94..1dbd56b9294 100644 --- a/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch +++ b/target/linux/generic/hack-6.12/904-debloat_dma_buf.patch @@ -74,7 +74,7 @@ Signed-off-by: Felix Fietkau +MODULE_LICENSE("GPL"); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c -@@ -4422,6 +4422,7 @@ int wake_up_state(struct task_struct *p, +@@ -4428,6 +4428,7 @@ int wake_up_state(struct task_struct *p, { return try_to_wake_up(p, state, 0); } diff --git a/target/linux/generic/kernel-6.12 b/target/linux/generic/kernel-6.12 index abb61cf84e4..dbe7bc8574e 100644 --- a/target/linux/generic/kernel-6.12 +++ b/target/linux/generic/kernel-6.12 @@ -1,2 +1,2 @@ -LINUX_VERSION-6.12 = .33 -LINUX_KERNEL_HASH-6.12.33 = c0a575630f2603a20bb0641f8df8f955e46c9d7ac1fae8b54b21316e6b52a254 +LINUX_VERSION-6.12 = .34 +LINUX_KERNEL_HASH-6.12.34 = a7f3fe381f67eca4172e9b63efb61a14bd7f9e1278e03603d0ff5a93f270c24d diff --git a/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch b/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch index d41d4e224ef..b8d20d86104 100644 --- a/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch +++ b/target/linux/generic/pending-6.12/703-phy-add-detach-callback-to-struct-phy_driver.patch @@ -11,9 +11,9 @@ Signed-off-by: Gabor Juhos --- a/drivers/net/phy/phy_device.c +++ b/drivers/net/phy/phy_device.c -@@ -2013,6 +2013,9 @@ void phy_detach(struct phy_device *phyde - if (phydev->devlink) - device_link_del(phydev->devlink); +@@ -2015,6 +2015,9 @@ void phy_detach(struct phy_device *phyde + phydev->devlink = NULL; + } + if (phydev->drv && phydev->drv->detach) + phydev->drv->detach(phydev); @@ -23,7 +23,7 @@ Signed-off-by: Gabor Juhos sysfs_remove_link(&dev->dev.kobj, "phydev"); --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -999,6 +999,12 @@ struct phy_driver { +@@ -996,6 +996,12 @@ struct phy_driver { /** @handle_interrupt: Override default interrupt handling */ irqreturn_t (*handle_interrupt)(struct phy_device *phydev); diff --git a/target/linux/mediatek/patches-6.12/739-net-add-negotiation-of-in-band-capabilities.patch b/target/linux/mediatek/patches-6.12/739-net-add-negotiation-of-in-band-capabilities.patch index 0c23c5b405a..632aad0ed29 100644 --- a/target/linux/mediatek/patches-6.12/739-net-add-negotiation-of-in-band-capabilities.patch +++ b/target/linux/mediatek/patches-6.12/739-net-add-negotiation-of-in-band-capabilities.patch @@ -835,7 +835,7 @@ publishing the in-band capabilities from the BCM84881 PHY driver. * --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -819,6 +819,24 @@ struct phy_tdr_config { +@@ -816,6 +816,24 @@ struct phy_tdr_config { #define PHY_PAIR_ALL -1 /** @@ -860,7 +860,7 @@ publishing the in-band capabilities from the BCM84881 PHY driver. * struct phy_plca_cfg - Configuration of the PLCA (Physical Layer Collision * Avoidance) Reconciliation Sublayer. * -@@ -958,6 +976,19 @@ struct phy_driver { +@@ -955,6 +973,19 @@ struct phy_driver { int (*get_features)(struct phy_device *phydev); /** @@ -880,7 +880,7 @@ publishing the in-band capabilities from the BCM84881 PHY driver. * @get_rate_matching: Get the supported type of rate matching for a * particular phy interface. This is used by phy consumers to determine * whether to advertise lower-speed modes for that interface. It is -@@ -1842,6 +1873,9 @@ int phy_config_aneg(struct phy_device *p +@@ -1839,6 +1870,9 @@ int phy_config_aneg(struct phy_device *p int _phy_start_aneg(struct phy_device *phydev); int phy_start_aneg(struct phy_device *phydev); int phy_aneg_done(struct phy_device *phydev); diff --git a/target/linux/realtek/patches-6.12/706-include-linux-add-phy-ops-for-rtl838x.patch b/target/linux/realtek/patches-6.12/706-include-linux-add-phy-ops-for-rtl838x.patch index 9a0252ea492..9b054f96a8c 100644 --- a/target/linux/realtek/patches-6.12/706-include-linux-add-phy-ops-for-rtl838x.patch +++ b/target/linux/realtek/patches-6.12/706-include-linux-add-phy-ops-for-rtl838x.patch @@ -21,7 +21,7 @@ Submitted-by: John Crispin --- a/include/linux/phy.h +++ b/include/linux/phy.h -@@ -1229,6 +1229,8 @@ struct phy_driver { +@@ -1226,6 +1226,8 @@ struct phy_driver { */ int (*led_polarity_set)(struct phy_device *dev, int index, unsigned long modes); diff --git a/target/linux/starfive/patches-6.12/1011-net-stmmac-use-GFP_DMA32.patch b/target/linux/starfive/patches-6.12/1011-net-stmmac-use-GFP_DMA32.patch index 095372d2bf2..9aa09b3c958 100644 --- a/target/linux/starfive/patches-6.12/1011-net-stmmac-use-GFP_DMA32.patch +++ b/target/linux/starfive/patches-6.12/1011-net-stmmac-use-GFP_DMA32.patch @@ -10,7 +10,7 @@ Signed-off-by: Matteo Croce --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c -@@ -1454,7 +1454,7 @@ static int stmmac_init_rx_buffers(struct +@@ -1459,7 +1459,7 @@ static int stmmac_init_rx_buffers(struct { struct stmmac_rx_queue *rx_q = &dma_conf->rx_queue[queue]; struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i]; @@ -19,7 +19,7 @@ Signed-off-by: Matteo Croce if (priv->dma_cap.host_dma_width <= 32) gfp |= GFP_DMA32; -@@ -4790,7 +4790,7 @@ static inline void stmmac_rx_refill(stru +@@ -4795,7 +4795,7 @@ static inline void stmmac_rx_refill(stru struct stmmac_rx_queue *rx_q = &priv->dma_conf.rx_queue[queue]; int dirty = stmmac_rx_dirty(priv, queue); unsigned int entry = rx_q->dirty_rx; -- 2.47.2