[openwrt/openwrt] kernel: bump 6.12 to 6.12.34

LEDE Commits lede-commits at lists.infradead.org
Sat Jun 21 04:51:11 PDT 2025


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/cb1b65602712a090539de29aefa38eb194c185d4

commit cb1b65602712a090539de29aefa38eb194c185d4
Author: Shiji Yang <yangshiji66 at outlook.com>
AuthorDate: Fri Jun 20 00:01:11 2025 +0800

    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 <yangshiji66 at outlook.com>
    Link: https://github.com/openwrt/openwrt/pull/19184
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 ...ce-default-mouse-polling-interval-to-60Hz.patch |  4 +-
 ...imple-Add-a-timing-for-the-Raspberry-Pi-7.patch | 16 +++---
 ...oc-cma-introduce-a-customisable-threshold.patch |  2 +-
 ...oth-hci_sync-Add-fallback-bd-address-prop.patch |  4 +-
 .../950-0344-sdhci-Add-SD-Express-hook.patch       |  2 +-
 ...hci-of-dwcmshc-define-sdio-timeout-clocks.patch | 16 +++---
 .../950-0379-drivers-iommu-Add-BCM2712-IOMMU.patch |  2 +-
 ...uetooth-hci_sync-Fix-crash-on-NULL-parent.patch |  2 +-
 ...e-Add-an-RP1-firmware-interface-over-mbox.patch |  2 +-
 ...ts-Drop-drm-parameter-for-vc4_find_crtc_f.patch | 20 ++++----
 ...drm-vc4-tests-Return-the-allocated-output.patch |  2 +-
 ...dhci-of-dwcmshc-define-sdio-timeout-clock.patch |  2 +-
 ...01-v6.16-spi-bcm63xx-spi-fix-shared-reset.patch | 32 ------------
 ...-v6.16-spi-bcm63xx-hsspi-fix-shared-reset.patch | 32 ------------
 ...b53-bcm_sf2-implement-.support_eee-method.patch |  6 +--
 ...net-dsa-b53-mdio-add-support-for-BCM53101.patch |  4 +-
 ...net-dsa-b53-implement-setting-ageing-time.patch |  4 +-
 ...-net-dsa-b53-do-not-enable-EEE-on-bcm63xx.patch |  4 +-
 ...-b53-do-not-enable-RGMII-delay-on-bcm63xx.patch | 49 ------------------
 ...-do-not-configure-bcm63xx-s-IMP-port-inte.patch |  8 +--
 ...a-b53-allow-RGMII-for-bcm63xx-RGMII-ports.patch | 36 -------------
 ...dsa-b53-do-not-touch-DLL_IQQD-on-bcm53115.patch | 59 ----------------------
 ...-tag_brcm-legacy-fix-pskb_may_pull-length.patch | 31 ------------
 ...v6.17-net-dsa-b53-support-legacy-FCS-tags.patch |  2 +-
 ...v6.17-net-dsa-b53-detect-BCM5325-variants.patch |  4 +-
 ...53-prevent-DIS_LEARNING-access-on-BCM5325.patch |  2 +-
 ...support-active-high-property-for-PHY-LEDs.patch |  4 +-
 ...ol-try-to-free-deferred-skbs-while-waitin.patch |  4 +-
 .../generic/hack-6.12/904-debloat_dma_buf.patch    |  2 +-
 target/linux/generic/kernel-6.12                   |  4 +-
 ...-add-detach-callback-to-struct-phy_driver.patch |  8 +--
 ...t-add-negotiation-of-in-band-capabilities.patch |  6 +--
 ...706-include-linux-add-phy-ops-for-rtl838x.patch |  2 +-
 .../1011-net-stmmac-use-GFP_DMA32.patch            |  4 +-
 34 files changed, 71 insertions(+), 310 deletions(-)

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 877c706d0a..875dfdeca6 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 <jonathan at raspberrypi.org>
  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 <jonathan at raspberrypi.org>
  				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 442344653a..7145016cc4 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 <dave.stevenson at raspberrypi.com>
  	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 <dave.stevenson at raspberrypi.com>
  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 <dave.stevenson at raspberrypi.com>
  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 <dave.stevenson at raspberrypi.com>
  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 <dave.stevenson at raspberrypi.com>
  		.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 <dave.stevenson at raspberrypi.com>
  		.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 <dave.stevenson at raspberrypi.com>
  		.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 <dave.stevenson at raspberrypi.com>
  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 f9ef8c3067..2c1cb09a6d 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 <david.plowman at raspberrypi.com>
  #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 b68669964d..731e4c71df 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 <phil at raspberrypi.com>
 
 --- 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 <phil at raspberrypi.com>
  	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 7b843a0c09..287f01ecc3 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 2ef84630ca..9cf0c1ad16 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 <jonathan at raspberrypi.com>
 
 --- 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 <jonathan at raspberrypi.com>
  	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 <jonathan at raspberrypi.com>
  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 <jonathan at raspberrypi.com>
  	.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 <jonathan at raspberrypi.com>
  	},
  };
  
-@@ -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 <jonathan at raspberrypi.com>
  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 <jonathan at raspberrypi.com>
  		.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 <jonathan at raspberrypi.com>
  
  	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 d91c71213a..be3102acdc 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 <peathot at hotmail.com>
 
 --- 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 8ec9b4e5ee..f77140b7ba 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 <phil at raspberrypi.com>
 
 --- 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 8d67f8e3d6..501036fde9 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 <phil at raspberrypi.com>
 
 --- 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 bf8eb892b7..ad53d18f6b 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 <maxime at cerno.tech>
  	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 3afd4d1f60..f0651bdad6 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 <maxime at cerno.tech>
  {
  	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 263b6a7cfb..809ab256f4 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 <phil at raspberrypi.com>
 
 --- 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 e886350d26..0000000000
--- 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?= <noltari at gmail.com>
-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 <jonas.gorski at gmail.com>
-Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
-Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
-Link: https://patch.msgid.link/20250529130915.2519590-2-noltari@gmail.com
-Signed-off-by: Mark Brown <broonie at kernel.org>
----
- 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 3c30269d07..0000000000
--- 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?= <noltari at gmail.com>
-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 <jonas.gorski at gmail.com>
-Signed-off-by: Álvaro Fernández Rojas <noltari at gmail.com>
-Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
-Link: https://patch.msgid.link/20250529130915.2519590-3-noltari@gmail.com
-Signed-off-by: Mark Brown <broonie at kernel.org>
----
- 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 ca0f61013c..4e9512c548 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 <kuba at kernel.org>
 
 --- 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 <kuba at kernel.org>
  	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 <kuba at kernel.org>
  	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 900117af5e..deff0fe4d2 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 <kuba at kernel.org>
 
 --- 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 <kuba at kernel.org>
  		.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 75b5b040fd..a0b428e4d4 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 <kuba at kernel.org>
  	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 <kuba at kernel.org>
  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 9a53b709af..d1735c4100 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 <pabeni at redhat.com>
 
 --- 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 <pabeni at redhat.com>
  	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 6f15ea3cdc..0000000000
--- 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 <jonas.gorski at gmail.com>
-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 <jonas.gorski at gmail.com>
-Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
-Link: https://patch.msgid.link/20250602193953.1010487-3-jonas.gorski@gmail.com
-Signed-off-by: Paolo Abeni <pabeni at redhat.com>
----
- 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 739e1b7030..17489e9b9f 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 <pabeni at redhat.com>
  {
  	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 <pabeni at redhat.com>
  
  	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 9b74dd177e..0000000000
--- 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 <jonas.gorski at gmail.com>
-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 <florian.fainelli at broadcom.com>
-Signed-off-by: Jonas Gorski <jonas.gorski at gmail.com>
-Link: https://patch.msgid.link/20250602193953.1010487-5-jonas.gorski@gmail.com
-Signed-off-by: Paolo Abeni <pabeni at redhat.com>
----
- 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 9f2143d816..0000000000
--- 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 <jonas.gorski at gmail.com>
-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 <jonas.gorski at gmail.com>
-Link: https://patch.msgid.link/20250602193953.1010487-6-jonas.gorski@gmail.com
-Signed-off-by: Paolo Abeni <pabeni at redhat.com>
----
- 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 9fa88d2d3f..0000000000
--- 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?= <noltari at gmail.com>
-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 <noltari at gmail.com>
-Reviewed-by: Florian Fainelli <florian.fainelli at broadcom.com>
-Link: https://patch.msgid.link/20250529124406.2513779-1-noltari@gmail.com
-Signed-off-by: Jakub Kicinski <kuba at kernel.org>
----
- 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 3535f564f6..55227b643c 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 <kuba at kernel.org>
  	  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 0a0da33171..5ed003ad98 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 <kuba at kernel.org>
  
  	/* 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 <kuba at kernel.org>
  	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 c098e54140..b9616f0dad 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 <kuba at kernel.org>
  	b53_read16(dev, B53_CTRL_PAGE, B53_DIS_LEARNING, &reg);
  	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 ad1d554531..9c317606e1 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 <pabeni at redhat.com>
 
 --- 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 <pabeni at redhat.com>
  		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 3d27c92141..697f2a64db 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 <nbd at nbd.name>
 
 --- 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 <nbd at nbd.name>
  
  	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 2e953023c9..1dbd56b929 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 <nbd at nbd.name>
 +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 abb61cf84e..dbe7bc8574 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 d41d4e224e..b8d20d8610 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 <juhosg at openwrt.org>
 
 --- 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 <juhosg at openwrt.org>
  			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 0c23c5b405..632aad0ed2 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 9a0252ea49..9b054f96a8 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 <john at phrozen.org>
 
 --- 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 095372d2bf..9aa09b3c95 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 <mcroce at microsoft.com>
 
 --- 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 <mcroce at microsoft.com>
  
  	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;




More information about the lede-commits mailing list