[openwrt/openwrt] kernel: bump 5.10 to 5.10.150

LEDE Commits lede-commits at lists.infradead.org
Tue Nov 1 06:43:49 PDT 2022


hauke pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/0667688a406affbde9a2f6e2e6e07dbd0e3810b1

commit 0667688a406affbde9a2f6e2e6e07dbd0e3810b1
Author: John Audia <therealgraysky at proton.me>
AuthorDate: Thu Oct 27 06:26:25 2022 -0400

    kernel: bump 5.10 to 5.10.150
    
    Manually rebased:
      bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
    
    All patches automatically rebased.
    
    Signed-off-by: John Audia <therealgraysky at proton.me>
    [Move gro_skip in 680-NET-skip-GRO-for-foreign-MAC-addresses.patch to old position]
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
    (cherry picked from commit aa2fa2eb76f13e48cd39d844dca34627da00cb5d)
---
 include/kernel-5.10                                |   4 +-
 .../802-usb-xhci-force-msi-renesas-xhci.patch      |   2 +-
 ...twrapper-force-gzip-as-mkimage-s-compress.patch |   2 +-
 ...ent-xhci_fixup_endpoint-for-interval-adju.patch |   4 +-
 ...Use-more-event-ring-segment-table-entries.patch |   4 +-
 ...orce-CS_HIGH-if-GPIO-descriptors-are-used.patch |   4 +-
 ...-xhci-quirks-add-link-TRB-quirk-for-VL805.patch |   6 +-
 ...sb-r8153_ecm-support-ECM-mode-for-RTL8153.patch |   4 +-
 ...50-0545-net-usb-r8152-use-new-tasklet-API.patch |   4 +-
 ...ce-several-functions-about-phy-patch-requ.patch |  16 +--
 ...adjust-the-flow-of-power-cut-for-RTL8153B.patch |   8 +-
 ...48-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch |   6 +-
 ...eck-if-the-pointer-of-the-function-exists.patch |   6 +-
 ...0550-r8152-replace-netif_err-with-dev_err.patch |   4 +-
 ...pilt-rtl_set_eee_plus-and-r8153b_green_en.patch |   6 +-
 ...et-inter-fram-gap-time-depending-on-speed.patch |   4 +-
 ...52-adjust-rtl8152_check_firmware-function.patch |   8 +-
 ...554-r8152-add-help-function-to-change-mtu.patch |  16 +--
 .../950-0555-r8152-support-new-chips.patch         |  94 ++++++-------
 ...2-support-PHY-firmware-for-RTL8156-series.patch |  22 +--
 ...2-search-the-configuration-of-vendor-mode.patch |   4 +-
 ...50-0699-drm-vc4-Fix-timings-for-VEC-modes.patch | 148 ---------------------
 .../950-0709-drm-Add-GUD-USB-Display-driver.patch  |   2 +-
 ...Increase-the-core-clock-based-on-HVS-load.patch |   2 +-
 ...-add-support-for-performing-fake-doorbell.patch |   4 +-
 .../hack-5.10/721-net-add-packet-mangeling.patch   |   4 +-
 ...t-usb-r8152-add-LED-configuration-from-OF.patch |   8 +-
 .../pending-5.10/655-increase_skb_pad.patch        |   2 +-
 ...80-NET-skip-GRO-for-foreign-MAC-addresses.patch |   4 +-
 ...dhci-msm-use-sdhci_set_clock-instead-of-s.patch |   2 +-
 .../patches-5.10/410-bt-mtk-serial-fix.patch       |   2 +-
 .../100-powerpc-85xx-tl-wdr4900-v1-support.patch   |   4 +-
 ...rpc-bootwrapper-disable-uImage-generation.patch |   4 +-
 .../patches-5.10/100-oxnas-clk-plla-pllb.patch     |   2 +-
 34 files changed, 134 insertions(+), 282 deletions(-)

diff --git a/include/kernel-5.10 b/include/kernel-5.10
index 3824c3bfec..517f79a61a 100644
--- a/include/kernel-5.10
+++ b/include/kernel-5.10
@@ -1,2 +1,2 @@
-LINUX_VERSION-5.10 = .149
-LINUX_KERNEL_HASH-5.10.149 = 0f6134c537563b9cd0533924e3ce06f577cf874e7a00cf3d8e8b31222ac065d3
+LINUX_VERSION-5.10 = .150
+LINUX_KERNEL_HASH-5.10.150 = 5813bc3c5d70b0beb26de4b627baa33554d01bed8c842a2e46072cf03d74dee1
diff --git a/target/linux/apm821xx/patches-5.10/802-usb-xhci-force-msi-renesas-xhci.patch b/target/linux/apm821xx/patches-5.10/802-usb-xhci-force-msi-renesas-xhci.patch
index c995c90402..288276cca6 100644
--- a/target/linux/apm821xx/patches-5.10/802-usb-xhci-force-msi-renesas-xhci.patch
+++ b/target/linux/apm821xx/patches-5.10/802-usb-xhci-force-msi-renesas-xhci.patch
@@ -43,7 +43,7 @@ produce a noisy warning.
  		hcd->msi_enabled = 1;
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1895,6 +1895,7 @@ struct xhci_hcd {
+@@ -1896,6 +1896,7 @@ struct xhci_hcd {
  	struct xhci_hub		usb2_rhub;
  	struct xhci_hub		usb3_rhub;
  	/* support xHCI 1.0 spec USB2 hardware LPM */
diff --git a/target/linux/apm821xx/patches-5.10/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch b/target/linux/apm821xx/patches-5.10/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch
index fb532b2cc0..3d7cc39a63 100644
--- a/target/linux/apm821xx/patches-5.10/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch
+++ b/target/linux/apm821xx/patches-5.10/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch
@@ -18,7 +18,7 @@ Signed-off-by: Christian Lamparter <chunkeey at gmail.com>
 
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -250,7 +250,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo
+@@ -251,7 +251,7 @@ compressor-$(CONFIG_KERNEL_LZO) := lzo
  
  # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd
  quiet_cmd_wrap	= WRAP    $@
diff --git a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
index 6a8281971d..211e7c113d 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0139-xhci-implement-xhci_fixup_endpoint-for-interval-adju.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
 
 --- a/drivers/usb/host/xhci.c
 +++ b/drivers/usb/host/xhci.c
-@@ -1485,6 +1485,103 @@ command_cleanup:
+@@ -1486,6 +1486,103 @@ command_cleanup:
  }
  
  /*
@@ -119,7 +119,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
   * non-error returns are a promise to giveback() the urb later
   * we drop ownership so next owner (or urb unlink) can get it
   */
-@@ -5391,6 +5488,7 @@ static const struct hc_driver xhci_hc_dr
+@@ -5392,6 +5489,7 @@ static const struct hc_driver xhci_hc_dr
  	.endpoint_reset =	xhci_endpoint_reset,
  	.check_bandwidth =	xhci_check_bandwidth,
  	.reset_bandwidth =	xhci_reset_bandwidth,
diff --git a/target/linux/bcm27xx/patches-5.10/950-0154-xhci-Use-more-event-ring-segment-table-entries.patch b/target/linux/bcm27xx/patches-5.10/950-0154-xhci-Use-more-event-ring-segment-table-entries.patch
index 2fa5804c64..e5ec90f466 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0154-xhci-Use-more-event-ring-segment-table-entries.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0154-xhci-Use-more-event-ring-segment-table-entries.patch
@@ -22,7 +22,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
 
 --- a/drivers/usb/host/xhci-mem.c
 +++ b/drivers/usb/host/xhci-mem.c
-@@ -2525,9 +2525,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2530,9 +2530,11 @@ int xhci_mem_init(struct xhci_hcd *xhci,
  	 * Event ring setup: Allocate a normal ring, but also setup
  	 * the event ring segment table (ERST).  Section 4.9.3.
  	 */
@@ -36,7 +36,7 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.org>
  	if (!xhci->event_ring)
  		goto fail;
  	if (xhci_check_trb_in_td_math(xhci) < 0)
-@@ -2540,7 +2542,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
+@@ -2545,7 +2547,7 @@ int xhci_mem_init(struct xhci_hcd *xhci,
  	/* set ERST count with the number of entries in the segment table */
  	val = readl(&xhci->ir_set->erst_size);
  	val &= ERST_SIZE_MASK;
diff --git a/target/linux/bcm27xx/patches-5.10/950-0207-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch b/target/linux/bcm27xx/patches-5.10/950-0207-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
index 64572594a5..0ca604b742 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0207-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0207-spi-Force-CS_HIGH-if-GPIO-descriptors-are-used.patch
@@ -32,7 +32,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
 
 --- a/drivers/spi/spi.c
 +++ b/drivers/spi/spi.c
-@@ -3338,6 +3338,7 @@ static int __spi_validate_bits_per_word(
+@@ -3340,6 +3340,7 @@ static int __spi_validate_bits_per_word(
   */
  int spi_setup(struct spi_device *spi)
  {
@@ -40,7 +40,7 @@ Signed-off-by: Phil Elwell <phil at raspberrypi.com>
  	unsigned	bad_bits, ugly_bits;
  	int		status;
  
-@@ -3355,6 +3356,14 @@ int spi_setup(struct spi_device *spi)
+@@ -3357,6 +3358,14 @@ int spi_setup(struct spi_device *spi)
  		(SPI_TX_DUAL | SPI_TX_QUAD | SPI_TX_OCTAL |
  		 SPI_RX_DUAL | SPI_RX_QUAD | SPI_RX_OCTAL)))
  		return -EINVAL;
diff --git a/target/linux/bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch b/target/linux/bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
index e95d3c45e1..00ad42fb69 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0355-xhci-quirks-add-link-TRB-quirk-for-VL805.patch
@@ -51,11 +51,11 @@ Signed-off-by: Jonathan Bell <jonathan at raspberrypi.com>
  
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1888,6 +1888,7 @@ struct xhci_hcd {
- #define XHCI_SG_TRB_CACHE_SIZE_QUIRK	BIT_ULL(39)
+@@ -1889,6 +1889,7 @@ struct xhci_hcd {
  #define XHCI_NO_SOFT_RETRY	BIT_ULL(40)
  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42)
-+#define XHCI_AVOID_DQ_ON_LINK	BIT_ULL(43)
+ #define XHCI_SUSPEND_RESUME_CLKS	BIT_ULL(43)
++#define XHCI_AVOID_DQ_ON_LINK	BIT_ULL(44)
  
  	unsigned int		num_active_eps;
  	unsigned int		limit_active_eps;
diff --git a/target/linux/bcm27xx/patches-5.10/950-0544-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch b/target/linux/bcm27xx/patches-5.10/950-0544-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch
index 789de8e6fd..0cc5abe643 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0544-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0544-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch
@@ -89,7 +89,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  struct tally_counter {
  	__le64	tx_packets;
  	__le64	rx_packets;
-@@ -6625,7 +6602,7 @@ static int rtl_fw_init(struct r8152 *tp)
+@@ -6627,7 +6604,7 @@ static int rtl_fw_init(struct r8152 *tp)
  	return 0;
  }
  
@@ -98,7 +98,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  {
  	struct usb_device *udev = interface_to_usbdev(intf);
  	u32 ocp_data = 0;
-@@ -6683,12 +6660,13 @@ static u8 rtl_get_version(struct usb_int
+@@ -6685,12 +6662,13 @@ static u8 rtl_get_version(struct usb_int
  
  	return version;
  }
diff --git a/target/linux/bcm27xx/patches-5.10/950-0545-net-usb-r8152-use-new-tasklet-API.patch b/target/linux/bcm27xx/patches-5.10/950-0545-net-usb-r8152-use-new-tasklet-API.patch
index b625d5ea99..ccfa6326f4 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0545-net-usb-r8152-use-new-tasklet-API.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0545-net-usb-r8152-use-new-tasklet-API.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -2394,11 +2394,9 @@ static void tx_bottom(struct r8152 *tp)
+@@ -2396,11 +2396,9 @@ static void tx_bottom(struct r8152 *tp)
  	} while (res == 0);
  }
  
@@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	if (test_bit(RTL8152_UNPLUG, &tp->flags))
  		return;
-@@ -6718,7 +6716,7 @@ static int rtl8152_probe(struct usb_inte
+@@ -6720,7 +6718,7 @@ static int rtl8152_probe(struct usb_inte
  	mutex_init(&tp->control);
  	INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
  	INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t);
diff --git a/target/linux/bcm27xx/patches-5.10/950-0546-r8152-replace-several-functions-about-phy-patch-requ.patch b/target/linux/bcm27xx/patches-5.10/950-0546-r8152-replace-several-functions-about-phy-patch-requ.patch
index bbb2b5c0c9..8be838fd4e 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0546-r8152-replace-several-functions-about-phy-patch-requ.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0546-r8152-replace-several-functions-about-phy-patch-requ.patch
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -3444,59 +3444,76 @@ static void rtl_clear_bp(struct r8152 *t
+@@ -3446,59 +3446,76 @@ static void rtl_clear_bp(struct r8152 *t
  	ocp_write_word(tp, type, PLA_BP_BA, 0);
  }
  
@@ -127,7 +127,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, tp->ocp_base);
  
-@@ -3981,7 +3998,7 @@ static void rtl8152_fw_mac_apply(struct
+@@ -3983,7 +4000,7 @@ static void rtl8152_fw_mac_apply(struct
  	dev_dbg(&tp->intf->dev, "successfully applied %s\n", mac->info);
  }
  
@@ -136,7 +136,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  {
  	struct rtl_fw *rtl_fw = &tp->rtl_fw;
  	const struct firmware *fw;
-@@ -4012,12 +4029,11 @@ static void rtl8152_apply_firmware(struc
+@@ -4014,12 +4031,11 @@ static void rtl8152_apply_firmware(struc
  		case RTL_FW_PHY_START:
  			key = (struct fw_phy_patch_key *)block;
  			key_addr = __le16_to_cpu(key->key_reg);
@@ -151,7 +151,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  			break;
  		case RTL_FW_PHY_NC:
  			rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block);
-@@ -4222,7 +4238,7 @@ static void rtl8152_disable(struct r8152
+@@ -4224,7 +4240,7 @@ static void rtl8152_disable(struct r8152
  
  static void r8152b_hw_phy_cfg(struct r8152 *tp)
  {
@@ -160,7 +160,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	rtl_eee_enable(tp, tp->eee_en);
  	r8152_aldps_en(tp, true);
  	r8152b_enable_fc(tp);
-@@ -4504,7 +4520,7 @@ static void r8153_hw_phy_cfg(struct r815
+@@ -4506,7 +4522,7 @@ static void r8153_hw_phy_cfg(struct r815
  	/* disable EEE before updating the PHY parameters */
  	rtl_eee_enable(tp, false);
  
@@ -169,7 +169,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	if (tp->version == RTL_VER_03) {
  		data = ocp_reg_read(tp, OCP_EEE_CFG);
-@@ -4578,7 +4594,7 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4580,7 +4596,7 @@ static void r8153b_hw_phy_cfg(struct r81
  	/* disable EEE before updating the PHY parameters */
  	rtl_eee_enable(tp, false);
  
@@ -178,7 +178,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
  
-@@ -4619,7 +4635,7 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4621,7 +4637,7 @@ static void r8153b_hw_phy_cfg(struct r81
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data);
  
  	/* Advnace EEE */
@@ -187,7 +187,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		data = ocp_reg_read(tp, OCP_POWER_CFG);
  		data |= EEE_CLKDIV_EN;
  		ocp_reg_write(tp, OCP_POWER_CFG, data);
-@@ -4636,7 +4652,7 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4638,7 +4654,7 @@ static void r8153b_hw_phy_cfg(struct r81
  		ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5));
  		tp->ups_info._250m_ckdiv = true;
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0547-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch b/target/linux/bcm27xx/patches-5.10/950-0547-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch
index b28e89a43f..acf542e5f0 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0547-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0547-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch
@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  static int rtl8152_set_mac_address(struct net_device *netdev, void *p)
  {
  	struct r8152 *tp = netdev_priv(netdev);
-@@ -3183,8 +3187,6 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3185,8 +3189,6 @@ static void r8153b_ups_en(struct r8152 *
  		ocp_data |= BIT(0);
  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
  	} else {
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		ocp_data &= ~(UPS_EN | USP_PREWAKE);
  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
  
-@@ -3192,31 +3194,20 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3194,31 +3196,20 @@ static void r8153b_ups_en(struct r8152 *
  		ocp_data &= ~BIT(0);
  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
  
@@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		}
  	}
  }
-@@ -4588,13 +4579,37 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4590,13 +4581,37 @@ static void r8153b_hw_phy_cfg(struct r81
  	u32 ocp_data;
  	u16 data;
  
@@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  
  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
  
-@@ -5543,9 +5558,6 @@ static void r8153b_init(struct r8152 *tp
+@@ -5545,9 +5560,6 @@ static void r8153b_init(struct r8152 *tp
  	/* MSC timer = 0xfff * 8ms = 32760 ms */
  	ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0548-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch b/target/linux/bcm27xx/patches-5.10/950-0548-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch
index 8cf91c3893..9dbc63d35f 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0548-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0548-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -3336,7 +3336,7 @@ static void rtl8153b_runtime_enable(stru
+@@ -3338,7 +3338,7 @@ static void rtl8153b_runtime_enable(stru
  		r8153b_ups_en(tp, false);
  		r8153_queue_wake(tp, false);
  		rtl_runtime_suspend_enable(tp, false);
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  			r8153b_u1u2en(tp, true);
  	}
  }
-@@ -5029,7 +5029,7 @@ static void rtl8153b_up(struct r8152 *tp
+@@ -5031,7 +5031,7 @@ static void rtl8153b_up(struct r8152 *tp
  
  	r8153_aldps_en(tp, true);
  
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		r8153b_u1u2en(tp, true);
  }
  
-@@ -5571,8 +5571,9 @@ static void r8153b_init(struct r8152 *tp
+@@ -5573,8 +5573,9 @@ static void r8153b_init(struct r8152 *tp
  	ocp_data |= POLL_LINK_CHG;
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data);
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0549-r8152-check-if-the-pointer-of-the-function-exists.patch b/target/linux/bcm27xx/patches-5.10/950-0549-r8152-check-if-the-pointer-of-the-function-exists.patch
index 5bc4e2b0a1..cead3f47ae 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0549-r8152-check-if-the-pointer-of-the-function-exists.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0549-r8152-check-if-the-pointer-of-the-function-exists.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -5758,6 +5758,9 @@ static int rtl8152_runtime_suspend(struc
+@@ -5760,6 +5760,9 @@ static int rtl8152_runtime_suspend(struc
  	struct net_device *netdev = tp->netdev;
  	int ret = 0;
  
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	set_bit(SELECTIVE_SUSPEND, &tp->flags);
  	smp_mb__after_atomic();
  
-@@ -6157,6 +6160,11 @@ rtl_ethtool_get_eee(struct net_device *n
+@@ -6159,6 +6162,11 @@ rtl_ethtool_get_eee(struct net_device *n
  	struct r8152 *tp = netdev_priv(net);
  	int ret;
  
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	ret = usb_autopm_get_interface(tp->intf);
  	if (ret < 0)
  		goto out;
-@@ -6179,6 +6187,11 @@ rtl_ethtool_set_eee(struct net_device *n
+@@ -6181,6 +6189,11 @@ rtl_ethtool_set_eee(struct net_device *n
  	struct r8152 *tp = netdev_priv(net);
  	int ret;
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0550-r8152-replace-netif_err-with-dev_err.patch b/target/linux/bcm27xx/patches-5.10/950-0550-r8152-replace-netif_err-with-dev_err.patch
index 967b4ccc16..1c8126b859 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0550-r8152-replace-netif_err-with-dev_err.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0550-r8152-replace-netif_err-with-dev_err.patch
@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -6594,7 +6594,7 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6596,7 +6596,7 @@ static int rtl_ops_init(struct r8152 *tp
  
  	default:
  		ret = -ENODEV;
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  		break;
  	}
  
-@@ -6851,7 +6851,7 @@ static int rtl8152_probe(struct usb_inte
+@@ -6853,7 +6853,7 @@ static int rtl8152_probe(struct usb_inte
  
  	ret = register_netdev(netdev);
  	if (ret != 0) {
diff --git a/target/linux/bcm27xx/patches-5.10/950-0551-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch b/target/linux/bcm27xx/patches-5.10/950-0551-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch
index c49a4ce5b6..c655f48fd8 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0551-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0551-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch
@@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
 
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -2633,21 +2633,24 @@ static inline u8 rtl8152_get_speed(struc
+@@ -2635,21 +2635,24 @@ static inline u8 rtl8152_get_speed(struc
  	return ocp_read_byte(tp, MCU_TYPE_PLA, PLA_PHYSTATUS);
  }
  
@@ -50,7 +50,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  }
  
  static void rxdy_gated_en(struct r8152 *tp, bool enable)
-@@ -3128,10 +3131,22 @@ static void r8153b_ups_flags(struct r815
+@@ -3130,10 +3133,22 @@ static void r8153b_ups_flags(struct r815
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
  }
  
@@ -74,7 +74,7 @@ Signed-off-by: Jakub Kicinski <kuba at kernel.org>
  	if (enable) {
  		sram_write(tp, 0x8045, 0);	/* 10M abiq&ldvbias */
  		sram_write(tp, 0x804d, 0x1222);	/* 100M short abiq&ldvbias */
-@@ -3142,11 +3157,7 @@ static void r8153b_green_en(struct r8152
+@@ -3144,11 +3159,7 @@ static void r8153b_green_en(struct r8152
  		sram_write(tp, 0x805d, 0x2444);	/* 1000M short abiq&ldvbias */
  	}
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0552-r8152-set-inter-fram-gap-time-depending-on-speed.patch b/target/linux/bcm27xx/patches-5.10/950-0552-r8152-set-inter-fram-gap-time-depending-on-speed.patch
index f2593e8f00..cbf053ef15 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0552-r8152-set-inter-fram-gap-time-depending-on-speed.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0552-r8152-set-inter-fram-gap-time-depending-on-speed.patch
@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  /* PLA_MTPS */
  #define MTPS_JUMBO		(12 * 1024 / 64)
-@@ -2748,6 +2751,29 @@ static int rtl_stop_rx(struct r8152 *tp)
+@@ -2750,6 +2753,29 @@ static int rtl_stop_rx(struct r8152 *tp)
  	return 0;
  }
  
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp)
  {
  	ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN,
-@@ -2851,6 +2877,8 @@ static int rtl8153_enable(struct r8152 *
+@@ -2853,6 +2879,8 @@ static int rtl8153_enable(struct r8152 *
  	r8153_set_rx_early_timeout(tp);
  	r8153_set_rx_early_size(tp);
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0553-r8152-adjust-rtl8152_check_firmware-function.patch b/target/linux/bcm27xx/patches-5.10/950-0553-r8152-adjust-rtl8152_check_firmware-function.patch
index cddd39ea94..40ca6c1e59 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0553-r8152-adjust-rtl8152_check_firmware-function.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0553-r8152-adjust-rtl8152_check_firmware-function.patch
@@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  /**
   * struct fw_mac - a firmware block used by RTL_FW_PLA and RTL_FW_USB.
   *	The layout of the firmware block is:
-@@ -3801,10 +3809,7 @@ static long rtl8152_check_firmware(struc
+@@ -3803,10 +3811,7 @@ static long rtl8152_check_firmware(struc
  {
  	const struct firmware *fw = rtl_fw->fw;
  	struct fw_header *fw_hdr = (struct fw_header *)fw->data;
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	long ret = -EFAULT;
  	int i;
  
-@@ -3833,50 +3838,52 @@ static long rtl8152_check_firmware(struc
+@@ -3835,50 +3840,52 @@ static long rtl8152_check_firmware(struc
  				goto fail;
  			goto fw_end;
  		case RTL_FW_PLA:
@@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  				dev_err(&tp->intf->dev,
  					"Check PHY_STOP fail\n");
  				goto fail;
-@@ -3887,28 +3894,28 @@ static long rtl8152_check_firmware(struc
+@@ -3889,28 +3896,28 @@ static long rtl8152_check_firmware(struc
  					"Invalid length for PHY_STOP\n");
  				goto fail;
  			}
@@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  			break;
  		default:
-@@ -3922,7 +3929,7 @@ static long rtl8152_check_firmware(struc
+@@ -3924,7 +3931,7 @@ static long rtl8152_check_firmware(struc
  	}
  
  fw_end:
diff --git a/target/linux/bcm27xx/patches-5.10/950-0554-r8152-add-help-function-to-change-mtu.patch b/target/linux/bcm27xx/patches-5.10/950-0554-r8152-add-help-function-to-change-mtu.patch
index 3559e3b95a..f6c12e3cc8 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0554-r8152-add-help-function-to-change-mtu.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0554-r8152-add-help-function-to-change-mtu.patch
@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  static
  int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
-@@ -2633,10 +2631,7 @@ static void rtl8152_nic_reset(struct r81
+@@ -2635,10 +2633,7 @@ static void rtl8152_nic_reset(struct r81
  
  static void set_tx_qlen(struct r8152 *tp)
  {
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static inline u8 rtl8152_get_speed(struct r8152 *tp)
-@@ -4725,6 +4720,12 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4727,6 +4722,12 @@ static void r8153b_hw_phy_cfg(struct r81
  	set_bit(PHY_RESET, &tp->flags);
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8153_first_init(struct r8152 *tp)
  {
  	u32 ocp_data;
-@@ -4757,9 +4758,7 @@ static void r8153_first_init(struct r815
+@@ -4759,9 +4760,7 @@ static void r8153_first_init(struct r815
  
  	rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
  
@@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0);
  	ocp_data |= TCR0_AUTO_FIFO;
-@@ -4794,8 +4793,7 @@ static void r8153_enter_oob(struct r8152
+@@ -4796,8 +4795,7 @@ static void r8153_enter_oob(struct r8152
  
  	wait_oob_link_list_ready(tp);
  
@@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	switch (tp->version) {
  	case RTL_VER_03:
-@@ -6518,12 +6516,21 @@ static int rtl8152_change_mtu(struct net
+@@ -6520,12 +6518,21 @@ static int rtl8152_change_mtu(struct net
  	dev->mtu = new_mtu;
  
  	if (netif_running(dev)) {
@@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	}
  
  	mutex_unlock(&tp->control);
-@@ -6612,6 +6619,7 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6614,6 +6621,7 @@ static int rtl_ops_init(struct r8152 *tp
  		ops->in_nway		= rtl8153_in_nway;
  		ops->hw_phy_cfg		= r8153_hw_phy_cfg;
  		ops->autosuspend_en	= rtl8153_runtime_enable;
@@ -138,7 +138,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		if (tp->udev->speed < USB_SPEED_SUPER)
  			tp->rx_buf_sz	= 16 * 1024;
  		else
-@@ -6633,6 +6641,7 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6635,6 +6643,7 @@ static int rtl_ops_init(struct r8152 *tp
  		ops->in_nway		= rtl8153_in_nway;
  		ops->hw_phy_cfg		= r8153b_hw_phy_cfg;
  		ops->autosuspend_en	= rtl8153b_runtime_enable;
@@ -146,7 +146,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		tp->rx_buf_sz		= 32 * 1024;
  		tp->eee_en		= true;
  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX;
-@@ -6853,7 +6862,7 @@ static int rtl8152_probe(struct usb_inte
+@@ -6855,7 +6864,7 @@ static int rtl8152_probe(struct usb_inte
  		netdev->max_mtu = ETH_DATA_LEN;
  		break;
  	default:
diff --git a/target/linux/bcm27xx/patches-5.10/950-0555-r8152-support-new-chips.patch b/target/linux/bcm27xx/patches-5.10/950-0555-r8152-support-new-chips.patch
index 06a141b451..e720452c13 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0555-r8152-support-new-chips.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0555-r8152-support-new-chips.patch
@@ -379,7 +379,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  /* Maximum number of multicast addresses to filter (vs. Rx-all-multicast).
   * The RTL chips use a 64 element hash table based on the Ethernet CRC.
-@@ -2607,7 +2712,7 @@ static netdev_tx_t rtl8152_start_xmit(st
+@@ -2609,7 +2714,7 @@ static netdev_tx_t rtl8152_start_xmit(st
  
  static void r8152b_reset_packet_filter(struct r8152 *tp)
  {
@@ -388,7 +388,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_FMC);
  	ocp_data &= ~FMC_FCR_MCU_EN;
-@@ -2618,14 +2723,47 @@ static void r8152b_reset_packet_filter(s
+@@ -2620,14 +2725,47 @@ static void r8152b_reset_packet_filter(s
  
  static void rtl8152_nic_reset(struct r8152 *tp)
  {
@@ -442,7 +442,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	}
  }
  
-@@ -2634,9 +2772,9 @@ static void set_tx_qlen(struct r8152 *tp
+@@ -2636,9 +2774,9 @@ static void set_tx_qlen(struct r8152 *tp
  	tp->tx_qlen = agg_buf_sz / (mtu_to_size(tp->netdev->mtu) + sizeof(struct tx_desc));
  }
  
@@ -454,7 +454,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static void rtl_eee_plus_en(struct r8152 *tp, bool enable)
-@@ -2796,6 +2934,7 @@ static int rtl_enable(struct r8152 *tp)
+@@ -2798,6 +2936,7 @@ static int rtl_enable(struct r8152 *tp)
  	switch (tp->version) {
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -462,7 +462,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		r8153b_rx_agg_chg_indicate(tp);
  		break;
  	default:
-@@ -2833,6 +2972,7 @@ static void r8153_set_rx_early_timeout(s
+@@ -2835,6 +2974,7 @@ static void r8153_set_rx_early_timeout(s
  
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -470,7 +470,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		/* The RTL8153B uses USB_RX_EXTRA_AGGR_TMR for rx timeout
  		 * primarily. For USB_RX_EARLY_TIMEOUT, we fix it to 128ns.
  		 */
-@@ -2842,6 +2982,18 @@ static void r8153_set_rx_early_timeout(s
+@@ -2844,6 +2984,18 @@ static void r8153_set_rx_early_timeout(s
  			       ocp_data);
  		break;
  
@@ -489,7 +489,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	default:
  		break;
  	}
-@@ -2861,8 +3013,19 @@ static void r8153_set_rx_early_size(stru
+@@ -2863,8 +3015,19 @@ static void r8153_set_rx_early_size(stru
  		break;
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -509,7 +509,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		break;
  	default:
  		WARN_ON_ONCE(1);
-@@ -2872,6 +3035,8 @@ static void r8153_set_rx_early_size(stru
+@@ -2874,6 +3037,8 @@ static void r8153_set_rx_early_size(stru
  
  static int rtl8153_enable(struct r8152 *tp)
  {
@@ -518,7 +518,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	if (test_bit(RTL8152_UNPLUG, &tp->flags))
  		return -ENODEV;
  
-@@ -2882,15 +3047,18 @@ static int rtl8153_enable(struct r8152 *
+@@ -2884,15 +3049,18 @@ static int rtl8153_enable(struct r8152 *
  
  	rtl_set_ifg(tp, rtl8152_get_speed(tp));
  
@@ -540,7 +540,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	}
  
  	return rtl_enable(tp);
-@@ -2955,12 +3123,40 @@ static void rtl_rx_vlan_en(struct r8152
+@@ -2957,12 +3125,40 @@ static void rtl_rx_vlan_en(struct r8152
  {
  	u32 ocp_data;
  
@@ -587,7 +587,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  }
  
  static int rtl8152_set_features(struct net_device *dev,
-@@ -3053,6 +3249,40 @@ static void __rtl_set_wol(struct r8152 *
+@@ -3055,6 +3251,40 @@ static void __rtl_set_wol(struct r8152 *
  		device_set_wakeup_enable(&tp->udev->dev, false);
  }
  
@@ -628,7 +628,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8153_u1u2en(struct r8152 *tp, bool enable)
  {
  	u8 u1u2[8];
-@@ -3112,6 +3342,9 @@ static void r8153b_ups_flags(struct r815
+@@ -3114,6 +3344,9 @@ static void r8153b_ups_flags(struct r815
  	if (tp->ups_info.eee_cmod_lv)
  		ups_flags |= UPS_FLAGS_EEE_CMOD_LV_EN;
  
@@ -638,7 +638,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	if (tp->ups_info._10m_ckdiv)
  		ups_flags |= UPS_FLAGS_EN_10M_CKDIV;
  
-@@ -3162,6 +3395,88 @@ static void r8153b_ups_flags(struct r815
+@@ -3164,6 +3397,88 @@ static void r8153b_ups_flags(struct r815
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
  }
  
@@ -727,7 +727,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void rtl_green_en(struct r8152 *tp, bool enable)
  {
  	u16 data;
-@@ -3225,16 +3540,16 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3227,16 +3542,16 @@ static void r8153b_ups_en(struct r8152 *
  		ocp_data |= UPS_EN | USP_PREWAKE | PHASE2_EN;
  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
  
@@ -750,7 +750,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  		if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) {
  			int i;
-@@ -3254,6 +3569,95 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3256,6 +3571,95 @@ static void r8153b_ups_en(struct r8152 *
  	}
  }
  
@@ -846,7 +846,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8153_power_cut_en(struct r8152 *tp, bool enable)
  {
  	u32 ocp_data;
-@@ -3383,6 +3787,38 @@ static void rtl8153b_runtime_enable(stru
+@@ -3385,6 +3789,38 @@ static void rtl8153b_runtime_enable(stru
  	}
  }
  
@@ -885,7 +885,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8153_teredo_off(struct r8152 *tp)
  {
  	u32 ocp_data;
-@@ -3403,14 +3839,19 @@ static void r8153_teredo_off(struct r815
+@@ -3405,14 +3841,19 @@ static void r8153_teredo_off(struct r815
  
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -908,7 +908,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	}
  
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_WDT6_CTRL, WDT6_SET_MODE);
-@@ -3445,6 +3886,12 @@ static void rtl_clear_bp(struct r8152 *t
+@@ -3447,6 +3888,12 @@ static void rtl_clear_bp(struct r8152 *t
  		break;
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -921,7 +921,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	default:
  		if (type == MCU_TYPE_USB) {
  			ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0);
-@@ -3654,6 +4101,11 @@ static bool rtl8152_is_fw_mac_ok(struct
+@@ -3656,6 +4103,11 @@ static bool rtl8152_is_fw_mac_ok(struct
  		case RTL_VER_06:
  		case RTL_VER_08:
  		case RTL_VER_09:
@@ -933,7 +933,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			fw_reg = 0xf800;
  			bp_ba_addr = PLA_BP_BA;
  			bp_en_addr = PLA_BP_EN;
-@@ -3677,6 +4129,11 @@ static bool rtl8152_is_fw_mac_ok(struct
+@@ -3679,6 +4131,11 @@ static bool rtl8152_is_fw_mac_ok(struct
  			break;
  		case RTL_VER_08:
  		case RTL_VER_09:
@@ -945,7 +945,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			fw_reg = 0xe600;
  			bp_ba_addr = USB_BP_BA;
  			bp_en_addr = USB_BP2_EN;
-@@ -4216,6 +4673,22 @@ static void r8153_eee_en(struct r8152 *t
+@@ -4218,6 +4675,22 @@ static void r8153_eee_en(struct r8152 *t
  	tp->ups_info.eee = enable;
  }
  
@@ -968,7 +968,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void rtl_eee_enable(struct r8152 *tp, bool enable)
  {
  	switch (tp->version) {
-@@ -4237,6 +4710,7 @@ static void rtl_eee_enable(struct r8152
+@@ -4239,6 +4712,7 @@ static void rtl_eee_enable(struct r8152
  	case RTL_VER_06:
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		if (enable) {
  			r8153_eee_en(tp, true);
  			ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv);
-@@ -4245,6 +4719,19 @@ static void rtl_eee_enable(struct r8152
+@@ -4247,6 +4721,19 @@ static void rtl_eee_enable(struct r8152
  			ocp_reg_write(tp, OCP_EEE_ADV, 0);
  		}
  		break;
@@ -996,7 +996,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	default:
  		break;
  	}
-@@ -4291,6 +4778,20 @@ static void wait_oob_link_list_ready(str
+@@ -4293,6 +4780,20 @@ static void wait_oob_link_list_ready(str
  	}
  }
  
@@ -1017,7 +1017,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8152b_exit_oob(struct r8152 *tp)
  {
  	u32 ocp_data;
-@@ -4341,7 +4842,7 @@ static void r8152b_exit_oob(struct r8152
+@@ -4343,7 +4844,7 @@ static void r8152b_exit_oob(struct r8152
  	}
  
  	/* TX share fifo free credit full threshold */
@@ -1026,7 +1026,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	ocp_write_byte(tp, MCU_TYPE_USB, USB_TX_AGG, TX_AGG_MAX_THRESHOLD);
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_HIGH);
-@@ -4518,6 +5019,21 @@ static int r8153b_post_firmware_1(struct
+@@ -4520,6 +5021,21 @@ static int r8153b_post_firmware_1(struct
  	return 0;
  }
  
@@ -1048,7 +1048,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8153_aldps_en(struct r8152 *tp, bool enable)
  {
  	u16 data;
-@@ -4720,6 +5236,13 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4722,6 +5238,13 @@ static void r8153b_hw_phy_cfg(struct r81
  	set_bit(PHY_RESET, &tp->flags);
  }
  
@@ -1062,7 +1062,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void rtl8153_change_mtu(struct r8152 *tp)
  {
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu));
-@@ -4807,6 +5330,7 @@ static void r8153_enter_oob(struct r8152
+@@ -4809,6 +5332,7 @@ static void r8153_enter_oob(struct r8152
  
  	case RTL_VER_08:
  	case RTL_VER_09:
@@ -1070,7 +1070,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		/* Clear teredo wake event. bit[15:8] is the teredo wakeup
  		 * type. Set it to zero. bits[7:0] are the W1C bits about
  		 * the events. Set them to all 1 to clear them.
-@@ -4843,6 +5367,96 @@ static void rtl8153_disable(struct r8152
+@@ -4845,6 +5369,96 @@ static void rtl8153_disable(struct r8152
  	r8153_aldps_en(tp, true);
  }
  
@@ -1167,7 +1167,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex,
  			     u32 advertising)
  {
-@@ -4891,58 +5505,73 @@ static int rtl8152_set_speed(struct r815
+@@ -4893,58 +5507,73 @@ static int rtl8152_set_speed(struct r815
  
  		tp->mii.force_media = 1;
  	} else {
@@ -1259,7 +1259,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		}
  
  		bmcr = BMCR_ANENABLE | BMCR_ANRESTART;
-@@ -5098,6 +5727,253 @@ static void rtl8153b_down(struct r8152 *
+@@ -5100,6 +5729,253 @@ static void rtl8153b_down(struct r8152 *
  	r8153_aldps_en(tp, true);
  }
  
@@ -1513,7 +1513,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static bool rtl8152_in_nway(struct r8152 *tp)
  {
  	u16 nway_state;
-@@ -5128,7 +6004,7 @@ static void set_carrier(struct r8152 *tp
+@@ -5130,7 +6006,7 @@ static void set_carrier(struct r8152 *tp
  {
  	struct net_device *netdev = tp->netdev;
  	struct napi_struct *napi = &tp->napi;
@@ -1522,7 +1522,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	speed = rtl8152_get_speed(tp);
  
-@@ -5141,7 +6017,7 @@ static void set_carrier(struct r8152 *tp
+@@ -5143,7 +6019,7 @@ static void set_carrier(struct r8152 *tp
  			rtl_start_rx(tp);
  			clear_bit(RTL8152_SET_RX_MODE, &tp->flags);
  			_rtl8152_set_rx_mode(netdev);
@@ -1531,7 +1531,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			netif_wake_queue(netdev);
  			netif_info(tp, link, netdev, "carrier on\n");
  		} else if (netif_queue_stopped(netdev) &&
-@@ -5521,14 +6397,9 @@ static void r8153_init(struct r8152 *tp)
+@@ -5523,14 +6399,9 @@ static void r8153_init(struct r8152 *tp)
  
  	ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001);
  
@@ -1547,7 +1547,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	r8153_u1u2en(tp, true);
  	usb_enable_lpm(tp->udev);
  
-@@ -5621,9 +6492,7 @@ static void r8153b_init(struct r8152 *tp
+@@ -5623,9 +6494,7 @@ static void r8153b_init(struct r8152 *tp
  	usb_enable_lpm(tp->udev);
  
  	/* MAC clock speed down */
@@ -1558,7 +1558,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3);
  	ocp_data &= ~PLA_MCU_SPDWN_EN;
-@@ -5652,6 +6521,1069 @@ static void r8153b_init(struct r8152 *tp
+@@ -5654,6 +6523,1069 @@ static void r8153b_init(struct r8152 *tp
  	r8152_led_configuration(tp);
  }
  
@@ -2628,7 +2628,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static int rtl8152_pre_reset(struct usb_interface *intf)
  {
  	struct r8152 *tp = usb_get_intfdata(intf);
-@@ -6015,6 +7947,22 @@ int rtl8152_get_link_ksettings(struct ne
+@@ -6017,6 +7949,22 @@ int rtl8152_get_link_ksettings(struct ne
  
  	mii_ethtool_get_link_ksettings(&tp->mii, cmd);
  
@@ -2651,7 +2651,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	mutex_unlock(&tp->control);
  
  	usb_autopm_put_interface(tp->intf);
-@@ -6058,6 +8006,10 @@ static int rtl8152_set_link_ksettings(st
+@@ -6060,6 +8008,10 @@ static int rtl8152_set_link_ksettings(st
  		     cmd->link_modes.advertising))
  		advertising |= RTL_ADVERTISED_1000_FULL;
  
@@ -2662,7 +2662,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	mutex_lock(&tp->control);
  
  	ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed,
-@@ -6647,6 +8599,67 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6649,6 +8601,67 @@ static int rtl_ops_init(struct r8152 *tp
  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX;
  		break;
  
@@ -2730,7 +2730,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	default:
  		ret = -ENODEV;
  		dev_err(&tp->intf->dev, "Unknown Device\n");
-@@ -6660,11 +8673,13 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6662,11 +8675,13 @@ static int rtl_ops_init(struct r8152 *tp
  #define FIRMWARE_8153A_3	"rtl_nic/rtl8153a-3.fw"
  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw"
  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw"
@@ -2744,7 +2744,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  static int rtl_fw_init(struct r8152 *tp)
  {
-@@ -6690,6 +8705,11 @@ static int rtl_fw_init(struct r8152 *tp)
+@@ -6692,6 +8707,11 @@ static int rtl_fw_init(struct r8152 *tp)
  		rtl_fw->pre_fw		= r8153b_pre_firmware_1;
  		rtl_fw->post_fw		= r8153b_post_firmware_1;
  		break;
@@ -2756,7 +2756,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	default:
  		break;
  	}
-@@ -6745,6 +8765,27 @@ u8 rtl8152_get_version(struct usb_interf
+@@ -6747,6 +8767,27 @@ u8 rtl8152_get_version(struct usb_interf
  	case 0x6010:
  		version = RTL_VER_09;
  		break;
@@ -2784,7 +2784,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	default:
  		version = RTL_VER_UNKNOWN;
  		dev_info(&intf->dev, "Unknown version 0x%04x\n", ocp_data);
-@@ -6857,12 +8898,29 @@ static int rtl8152_probe(struct usb_inte
+@@ -6859,12 +8900,29 @@ static int rtl8152_probe(struct usb_inte
  	/* MTU range: 68 - 1500 or 9194 */
  	netdev->min_mtu = ETH_MIN_MTU;
  	switch (tp->version) {
@@ -2817,7 +2817,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		break;
  	}
  
-@@ -6878,7 +8936,13 @@ static int rtl8152_probe(struct usb_inte
+@@ -6880,7 +8938,13 @@ static int rtl8152_probe(struct usb_inte
  	tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL |
  			  RTL_ADVERTISED_100_HALF | RTL_ADVERTISED_100_FULL;
  	if (tp->mii.supports_gmii) {
@@ -2832,7 +2832,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		tp->advertising |= RTL_ADVERTISED_1000_FULL;
  	}
  	tp->duplex = DUPLEX_FULL;
-@@ -6902,7 +8966,11 @@ static int rtl8152_probe(struct usb_inte
+@@ -6904,7 +8968,11 @@ static int rtl8152_probe(struct usb_inte
  	set_ethernet_addr(tp);
  
  	usb_set_intfdata(intf, tp);
@@ -2845,7 +2845,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	ret = register_netdev(netdev);
  	if (ret != 0) {
-@@ -6938,7 +9006,8 @@ static void rtl8152_disconnect(struct us
+@@ -6940,7 +9008,8 @@ static void rtl8152_disconnect(struct us
  		unregister_netdev(tp->netdev);
  		tasklet_kill(&tp->tx_tl);
  		cancel_delayed_work_sync(&tp->hw_phy_work);
@@ -2855,7 +2855,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		rtl8152_release_firmware(tp);
  		free_netdev(tp->netdev);
  	}
-@@ -6958,13 +9027,28 @@ static void rtl8152_disconnect(struct us
+@@ -6960,13 +9029,28 @@ static void rtl8152_disconnect(struct us
  	.idProduct = (prod), \
  	.bInterfaceClass = USB_CLASS_COMM, \
  	.bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \
diff --git a/target/linux/bcm27xx/patches-5.10/950-0556-r8152-support-PHY-firmware-for-RTL8156-series.patch b/target/linux/bcm27xx/patches-5.10/950-0556-r8152-support-PHY-firmware-for-RTL8156-series.patch
index 943c821b82..efd68da00f 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0556-r8152-support-PHY-firmware-for-RTL8156-series.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0556-r8152-support-PHY-firmware-for-RTL8156-series.patch
@@ -92,7 +92,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  };
  
  enum rtl_version {
-@@ -4000,6 +4061,162 @@ static int rtl_post_ram_code(struct r815
+@@ -4002,6 +4063,162 @@ static int rtl_post_ram_code(struct r815
  	return 0;
  }
  
@@ -255,7 +255,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy)
  {
  	u32 length;
-@@ -4320,6 +4537,10 @@ static long rtl8152_check_firmware(struc
+@@ -4322,6 +4539,10 @@ static long rtl8152_check_firmware(struc
  		case RTL_FW_PHY_START:
  			if (test_bit(FW_FLAGS_START, &fw_flags) ||
  			    test_bit(FW_FLAGS_NC, &fw_flags) ||
@@ -266,7 +266,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			    test_bit(FW_FLAGS_STOP, &fw_flags)) {
  				dev_err(&tp->intf->dev,
  					"check PHY_START fail\n");
-@@ -4368,7 +4589,153 @@ static long rtl8152_check_firmware(struc
+@@ -4370,7 +4591,153 @@ static long rtl8152_check_firmware(struc
  				goto fail;
  			}
  			__set_bit(FW_FLAGS_NC, &fw_flags);
@@ -420,7 +420,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  			break;
  		default:
  			dev_warn(&tp->intf->dev, "Unknown type %u is found\n",
-@@ -4391,6 +4758,143 @@ fail:
+@@ -4393,6 +4760,143 @@ fail:
  	return ret;
  }
  
@@ -564,7 +564,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy)
  {
  	u16 mode_reg, bp_index;
-@@ -4444,6 +4948,12 @@ static void rtl8152_fw_mac_apply(struct
+@@ -4446,6 +4950,12 @@ static void rtl8152_fw_mac_apply(struct
  		return;
  	}
  
@@ -577,7 +577,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	rtl_clear_bp(tp, type);
  
  	/* Enable backup/restore of MACDBG. This is required after clearing PLA
-@@ -4479,7 +4989,6 @@ static void rtl8152_fw_mac_apply(struct
+@@ -4481,7 +4991,6 @@ static void rtl8152_fw_mac_apply(struct
  		ocp_write_word(tp, type, bp_en_addr,
  			       __le16_to_cpu(mac->bp_en_value));
  
@@ -585,7 +585,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  	if (fw_ver_reg)
  		ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg,
  			       mac->fw_ver_data);
-@@ -4494,7 +5003,7 @@ static void rtl8152_apply_firmware(struc
+@@ -4496,7 +5005,7 @@ static void rtl8152_apply_firmware(struc
  	struct fw_header *fw_hdr;
  	struct fw_phy_patch_key *key;
  	u16 key_addr = 0;
@@ -594,7 +594,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  	if (IS_ERR_OR_NULL(rtl_fw->fw))
  		return;
-@@ -4516,17 +5025,40 @@ static void rtl8152_apply_firmware(struc
+@@ -4518,17 +5027,40 @@ static void rtl8152_apply_firmware(struc
  			rtl8152_fw_mac_apply(tp, (struct fw_mac *)block);
  			break;
  		case RTL_FW_PHY_START:
@@ -635,7 +635,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  		default:
  			break;
  		}
-@@ -5034,6 +5566,21 @@ static int r8153c_post_firmware_1(struct
+@@ -5036,6 +5568,21 @@ static int r8153c_post_firmware_1(struct
  	return 0;
  }
  
@@ -657,7 +657,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static void r8153_aldps_en(struct r8152 *tp, bool enable)
  {
  	u16 data;
-@@ -8674,12 +9221,16 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -8676,12 +9223,16 @@ static int rtl_ops_init(struct r8152 *tp
  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw"
  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw"
  #define FIRMWARE_8153C_1	"rtl_nic/rtl8153c-1.fw"
@@ -674,7 +674,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  static int rtl_fw_init(struct r8152 *tp)
  {
-@@ -8705,6 +9256,14 @@ static int rtl_fw_init(struct r8152 *tp)
+@@ -8707,6 +9258,14 @@ static int rtl_fw_init(struct r8152 *tp)
  		rtl_fw->pre_fw		= r8153b_pre_firmware_1;
  		rtl_fw->post_fw		= r8153b_post_firmware_1;
  		break;
diff --git a/target/linux/bcm27xx/patches-5.10/950-0557-r8152-search-the-configuration-of-vendor-mode.patch b/target/linux/bcm27xx/patches-5.10/950-0557-r8152-search-the-configuration-of-vendor-mode.patch
index 9ce0e778cf..d44b052f81 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0557-r8152-search-the-configuration-of-vendor-mode.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0557-r8152-search-the-configuration-of-vendor-mode.patch
@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  
  /* Information for net */
  #define NET_VERSION		"11"
-@@ -8131,6 +8131,39 @@ static void r8156b_init(struct r8152 *tp
+@@ -8133,6 +8133,39 @@ static void r8156b_init(struct r8152 *tp
  	tp->coalesce = 15000;	/* 15 us */
  }
  
@@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <davem at davemloft.net>
  static int rtl8152_pre_reset(struct usb_interface *intf)
  {
  	struct r8152 *tp = usb_get_intfdata(intf);
-@@ -9369,10 +9402,8 @@ static int rtl8152_probe(struct usb_inte
+@@ -9371,10 +9404,8 @@ static int rtl8152_probe(struct usb_inte
  	if (version == RTL_VER_UNKNOWN)
  		return -ENODEV;
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0699-drm-vc4-Fix-timings-for-VEC-modes.patch b/target/linux/bcm27xx/patches-5.10/950-0699-drm-vc4-Fix-timings-for-VEC-modes.patch
deleted file mode 100644
index 43dfcfc5bc..0000000000
--- a/target/linux/bcm27xx/patches-5.10/950-0699-drm-vc4-Fix-timings-for-VEC-modes.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From 023e20cf561dc49897997f55e88b7d336eb5cee9 Mon Sep 17 00:00:00 2001
-From: Mateusz Kwiatkowski <kfyatek+publicgit at gmail.com>
-Date: Thu, 15 Jul 2021 01:07:30 +0200
-Subject: [PATCH] drm/vc4: Fix timings for VEC modes
-
-This commit fixes vertical timings of the VEC (composite output) modes
-to accurately represent the 525-line ("NTSC") and 625-line ("PAL") ITU-R
-standards.
-
-Previous timings were actually defined as 502 and 601 lines, resulting
-in non-standard 62.69 Hz and 52 Hz signals being generated,
-respectively.
-
-Changes to vc4_crtc.c have also been made, to make the PixelValve
-vertical timings accurately correspond to the DRM modeline in interlaced
-modes. The resulting VERTA/VERTB register values have been verified
-against the reference values set by the Raspberry Pi firmware.
-
-Signed-off-by: Mateusz Kwiatkowski <kfyatek+publicgit at gmail.com>
----
- drivers/gpu/drm/vc4/vc4_crtc.c | 70 +++++++++++++++++++++-------------
- drivers/gpu/drm/vc4/vc4_vec.c  |  4 +-
- 2 files changed, 45 insertions(+), 29 deletions(-)
-
---- a/drivers/gpu/drm/vc4/vc4_crtc.c
-+++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -316,8 +316,14 @@ static void vc4_crtc_config_pv(struct dr
- 	bool is_dsi = (vc4_encoder->type == VC4_ENCODER_TYPE_DSI0 ||
- 		       vc4_encoder->type == VC4_ENCODER_TYPE_DSI1);
- 	bool is_dsi1 = vc4_encoder->type == VC4_ENCODER_TYPE_DSI1;
-+	bool is_vec = vc4_encoder->type == VC4_ENCODER_TYPE_VEC;
- 	u32 format = is_dsi1 ? PV_CONTROL_FORMAT_DSIV_24 : PV_CONTROL_FORMAT_24;
- 	u8 ppc = pv_data->pixels_per_clock;
-+
-+	u16 vert_bp = mode->crtc_vtotal - mode->crtc_vsync_end;
-+	u16 vert_sync = mode->crtc_vsync_end - mode->crtc_vsync_start;
-+	u16 vert_fp = mode->crtc_vsync_start - mode->crtc_vdisplay;
-+
- 	bool debug_dump_regs = false;
- 
- 	if (debug_dump_regs) {
-@@ -341,49 +347,59 @@ static void vc4_crtc_config_pv(struct dr
- 		   VC4_SET_FIELD(mode->hdisplay * pixel_rep / ppc,
- 				 PV_HORZB_HACTIVE));
- 
--	CRTC_WRITE(PV_VERTA,
--		   VC4_SET_FIELD(mode->crtc_vtotal - mode->crtc_vsync_end +
--				 interlace,
--				 PV_VERTA_VBP) |
--		   VC4_SET_FIELD(mode->crtc_vsync_end - mode->crtc_vsync_start,
--				 PV_VERTA_VSYNC));
--	CRTC_WRITE(PV_VERTB,
--		   VC4_SET_FIELD(mode->crtc_vsync_start - mode->crtc_vdisplay,
--				 PV_VERTB_VFP) |
--		   VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
--
- 	if (interlace) {
-+		bool odd_field_first = false;
-+		u32 field_delay = mode->htotal * pixel_rep / (2 * ppc);
-+		u16 vert_bp_even = vert_bp;
-+		u16 vert_fp_even = vert_fp;
-+
-+		if (is_vec) {
-+			/* VEC (composite output) */
-+			++field_delay;
-+			if (mode->htotal == 858) {
-+				/* 525-line mode (NTSC or PAL-M) */
-+				odd_field_first = true;
-+			}
-+		}
-+
-+		if (odd_field_first)
-+			++vert_fp_even;
-+		else
-+			++vert_bp;
-+
- 		CRTC_WRITE(PV_VERTA_EVEN,
--			   VC4_SET_FIELD(mode->crtc_vtotal -
--					 mode->crtc_vsync_end,
--					 PV_VERTA_VBP) |
--			   VC4_SET_FIELD(mode->crtc_vsync_end -
--					 mode->crtc_vsync_start,
--					 PV_VERTA_VSYNC));
-+			   VC4_SET_FIELD(vert_bp_even, PV_VERTA_VBP) |
-+			   VC4_SET_FIELD(vert_sync, PV_VERTA_VSYNC));
- 		CRTC_WRITE(PV_VERTB_EVEN,
--			   VC4_SET_FIELD(mode->crtc_vsync_start -
--					 mode->crtc_vdisplay,
--					 PV_VERTB_VFP) |
-+			   VC4_SET_FIELD(vert_fp_even, PV_VERTB_VFP) |
- 			   VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
- 
--		/* We set up first field even mode for HDMI.  VEC's
--		 * NTSC mode would want first field odd instead, once
--		 * we support it (to do so, set ODD_FIRST and put the
--		 * delay in VSYNCD_EVEN instead).
-+		/* We set up first field even mode for HDMI and VEC's PAL.
-+		 * For NTSC, we need first field odd.
- 		 */
- 		CRTC_WRITE(PV_V_CONTROL,
- 			   PV_VCONTROL_CONTINUOUS |
- 			   (is_dsi ? PV_VCONTROL_DSI : 0) |
- 			   PV_VCONTROL_INTERLACE |
--			   VC4_SET_FIELD(mode->htotal * pixel_rep / (2 * ppc),
--					 PV_VCONTROL_ODD_DELAY));
--		CRTC_WRITE(PV_VSYNCD_EVEN, 0);
-+			   (odd_field_first
-+				   ? PV_VCONTROL_ODD_FIRST
-+				   : VC4_SET_FIELD(field_delay,
-+						   PV_VCONTROL_ODD_DELAY)));
-+		CRTC_WRITE(PV_VSYNCD_EVEN,
-+			   (odd_field_first ? field_delay : 0));
- 	} else {
- 		CRTC_WRITE(PV_V_CONTROL,
- 			   PV_VCONTROL_CONTINUOUS |
- 			   (is_dsi ? PV_VCONTROL_DSI : 0));
- 	}
- 
-+	CRTC_WRITE(PV_VERTA,
-+		   VC4_SET_FIELD(vert_bp, PV_VERTA_VBP) |
-+		   VC4_SET_FIELD(vert_sync, PV_VERTA_VSYNC));
-+	CRTC_WRITE(PV_VERTB,
-+		   VC4_SET_FIELD(vert_fp, PV_VERTB_VFP) |
-+		   VC4_SET_FIELD(mode->crtc_vdisplay, PV_VERTB_VACTIVE));
-+
- 	if (is_dsi)
- 		CRTC_WRITE(PV_HACT_ACT, mode->hdisplay * pixel_rep);
- 
---- a/drivers/gpu/drm/vc4/vc4_vec.c
-+++ b/drivers/gpu/drm/vc4/vc4_vec.c
-@@ -262,7 +262,7 @@ static void vc4_vec_ntsc_j_mode_set(stru
- static const struct drm_display_mode ntsc_mode = {
- 	DRM_MODE("720x480", DRM_MODE_TYPE_DRIVER, 13500,
- 		 720, 720 + 14, 720 + 14 + 64, 720 + 14 + 64 + 60, 0,
--		 480, 480 + 3, 480 + 3 + 3, 480 + 3 + 3 + 16, 0,
-+		 480, 480 + 7, 480 + 7 + 6, 525, 0,
- 		 DRM_MODE_FLAG_INTERLACE)
- };
- 
-@@ -284,7 +284,7 @@ static void vc4_vec_pal_m_mode_set(struc
- static const struct drm_display_mode pal_mode = {
- 	DRM_MODE("720x576", DRM_MODE_TYPE_DRIVER, 13500,
- 		 720, 720 + 20, 720 + 20 + 64, 720 + 20 + 64 + 60, 0,
--		 576, 576 + 2, 576 + 2 + 3, 576 + 2 + 3 + 20, 0,
-+		 576, 576 + 4, 576 + 4 + 6, 625, 0,
- 		 DRM_MODE_FLAG_INTERLACE)
- };
- 
diff --git a/target/linux/bcm27xx/patches-5.10/950-0709-drm-Add-GUD-USB-Display-driver.patch b/target/linux/bcm27xx/patches-5.10/950-0709-drm-Add-GUD-USB-Display-driver.patch
index aa10a18ec5..f0380479d2 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0709-drm-Add-GUD-USB-Display-driver.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0709-drm-Add-GUD-USB-Display-driver.patch
@@ -178,7 +178,7 @@ Signed-off-by: Noralf Trønnes <noralf at tronnes.org>
  S:	Maintained
 --- a/drivers/gpu/drm/Kconfig
 +++ b/drivers/gpu/drm/Kconfig
-@@ -392,6 +392,8 @@ source "drivers/gpu/drm/tidss/Kconfig"
+@@ -393,6 +393,8 @@ source "drivers/gpu/drm/tidss/Kconfig"
  
  source "drivers/gpu/drm/xlnx/Kconfig"
  
diff --git a/target/linux/bcm27xx/patches-5.10/950-0720-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch b/target/linux/bcm27xx/patches-5.10/950-0720-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch
index 8b1add708d..b30efef041 100644
--- a/target/linux/bcm27xx/patches-5.10/950-0720-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch
+++ b/target/linux/bcm27xx/patches-5.10/950-0720-drm-vc4-Increase-the-core-clock-based-on-HVS-load.patch
@@ -19,7 +19,7 @@ Signed-off-by: Maxime Ripard <maxime at cerno.tech>
 
 --- a/drivers/gpu/drm/vc4/vc4_crtc.c
 +++ b/drivers/gpu/drm/vc4/vc4_crtc.c
-@@ -660,12 +660,27 @@ static int vc4_crtc_atomic_check(struct
+@@ -644,12 +644,27 @@ static int vc4_crtc_atomic_check(struct
  	struct vc4_crtc_state *vc4_state = to_vc4_crtc_state(crtc_state);
  	struct drm_connector *conn;
  	struct drm_connector_state *conn_state;
diff --git a/target/linux/bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch b/target/linux/bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
index d6c206a5cd..bce4ea6740 100644
--- a/target/linux/bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
+++ b/target/linux/bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
@@ -127,10 +127,10 @@ it on BCM4708 family.
  /*
 --- a/drivers/usb/host/xhci.h
 +++ b/drivers/usb/host/xhci.h
-@@ -1888,6 +1888,7 @@ struct xhci_hcd {
- #define XHCI_SG_TRB_CACHE_SIZE_QUIRK	BIT_ULL(39)
+@@ -1889,6 +1889,7 @@ struct xhci_hcd {
  #define XHCI_NO_SOFT_RETRY	BIT_ULL(40)
  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42)
+ #define XHCI_SUSPEND_RESUME_CLKS	BIT_ULL(43)
 +#define XHCI_FAKE_DOORBELL	BIT_ULL(44)
  
  	unsigned int		num_active_eps;
diff --git a/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch b/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch
index 9c3cfb1885..ddbe276d1e 100644
--- a/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch
+++ b/target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch
@@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
   */
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2718,6 +2718,10 @@ static inline int pskb_trim(struct sk_bu
+@@ -2720,6 +2720,10 @@ static inline int pskb_trim(struct sk_bu
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
-@@ -2849,16 +2853,6 @@ static inline struct sk_buff *dev_alloc_
+@@ -2851,16 +2855,6 @@ static inline struct sk_buff *dev_alloc_
  }
  
  
diff --git a/target/linux/generic/hack-5.10/760-net-usb-r8152-add-LED-configuration-from-OF.patch b/target/linux/generic/hack-5.10/760-net-usb-r8152-add-LED-configuration-from-OF.patch
index f94d16c0ff..aa50fe17da 100644
--- a/target/linux/generic/hack-5.10/760-net-usb-r8152-add-LED-configuration-from-OF.patch
+++ b/target/linux/generic/hack-5.10/760-net-usb-r8152-add-LED-configuration-from-OF.patch
@@ -22,7 +22,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
  #include <linux/crc32.h>
  #include <linux/if_vlan.h>
  #include <linux/uaccess.h>
-@@ -5301,6 +5302,22 @@ static void rtl_tally_reset(struct r8152
+@@ -5303,6 +5304,22 @@ static void rtl_tally_reset(struct r8152
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  }
  
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
  static void r8152b_init(struct r8152 *tp)
  {
  	u32 ocp_data;
-@@ -5342,6 +5359,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -5344,6 +5361,8 @@ static void r8152b_init(struct r8152 *tp
  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
  }
  
  static void r8153_init(struct r8152 *tp)
-@@ -5487,6 +5506,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -5489,6 +5508,8 @@ static void r8153_init(struct r8152 *tp)
  		tp->coalesce = COALESCE_SLOW;
  		break;
  	}
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
  }
  
  static void r8153b_init(struct r8152 *tp)
-@@ -5573,6 +5594,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -5575,6 +5596,8 @@ static void r8153b_init(struct r8152 *tp
  	rtl_tally_reset(tp);
  
  	tp->coalesce = 15000;	/* 15 us */
diff --git a/target/linux/generic/pending-5.10/655-increase_skb_pad.patch b/target/linux/generic/pending-5.10/655-increase_skb_pad.patch
index b9c463d570..4ad6eb9d78 100644
--- a/target/linux/generic/pending-5.10/655-increase_skb_pad.patch
+++ b/target/linux/generic/pending-5.10/655-increase_skb_pad.patch
@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
 
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -2684,7 +2684,7 @@ static inline int pskb_network_may_pull(
+@@ -2686,7 +2686,7 @@ static inline int pskb_network_may_pull(
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
  #ifndef NET_SKB_PAD
diff --git a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
index 5537e3081e..c9d5a805b8 100644
--- a/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
+++ b/target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
@@ -22,10 +22,10 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  #endif
 --- a/include/linux/skbuff.h
 +++ b/include/linux/skbuff.h
-@@ -858,6 +858,7 @@ struct sk_buff {
- #ifdef CONFIG_TLS_DEVICE
+@@ -860,6 +860,7 @@ struct sk_buff {
  	__u8			decrypted:1;
  #endif
+ 	__u8			scm_io_uring:1;
 +	__u8			gro_skip:1;
  
  #ifdef CONFIG_NET_SCHED
diff --git a/target/linux/ipq40xx/patches-5.10/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch b/target/linux/ipq40xx/patches-5.10/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
index 63514c2444..07d274f0dd 100644
--- a/target/linux/ipq40xx/patches-5.10/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
+++ b/target/linux/ipq40xx/patches-5.10/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
@@ -13,7 +13,7 @@ Signed-off-by: Robert Marko <robert.marko at sartura.hr>
 
 --- a/drivers/mmc/host/sdhci-msm.c
 +++ b/drivers/mmc/host/sdhci-msm.c
-@@ -2192,7 +2192,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
+@@ -2193,7 +2193,7 @@ MODULE_DEVICE_TABLE(of, sdhci_msm_dt_mat
  
  static const struct sdhci_ops sdhci_msm_ops = {
  	.reset = sdhci_msm_reset,
diff --git a/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch b/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch
index 33d27a1815..fc9f369509 100644
--- a/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch
+++ b/target/linux/mediatek/patches-5.10/410-bt-mtk-serial-fix.patch
@@ -19,7 +19,7 @@
  	},
  	[PORT_NPCM] = {
  		.name		= "Nuvoton 16550",
-@@ -2716,6 +2716,11 @@ serial8250_do_set_termios(struct uart_po
+@@ -2718,6 +2718,11 @@ serial8250_do_set_termios(struct uart_po
  	unsigned long flags;
  	unsigned int baud, quot, frac = 0;
  
diff --git a/target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch b/target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch
index 9bf9154e91..133364854a 100644
--- a/target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch
+++ b/target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch
@@ -19,7 +19,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki at gmail.com>
 
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -157,6 +157,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
+@@ -158,6 +158,7 @@ src-plat-$(CONFIG_PPC_PSERIES) += pserie
  src-plat-$(CONFIG_PPC_POWERNV) += pseries-head.S
  src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
  src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
@@ -27,7 +27,7 @@ Signed-off-by: Pawel Dembicki <paweldembicki at gmail.com>
  
  src-wlib := $(sort $(src-wlib-y))
  src-plat := $(sort $(src-plat-y))
-@@ -336,7 +337,7 @@ image-$(CONFIG_TQM8555)			+= cuImage.tqm
+@@ -337,7 +338,7 @@ image-$(CONFIG_TQM8555)			+= cuImage.tqm
  image-$(CONFIG_TQM8560)			+= cuImage.tqm8560
  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
  image-$(CONFIG_KSI8560)			+= cuImage.ksi8560
diff --git a/target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch b/target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch
index 2ba3f83326..0f784a1051 100644
--- a/target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch
+++ b/target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch
@@ -16,7 +16,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
 
 --- a/arch/powerpc/boot/Makefile
 +++ b/arch/powerpc/boot/Makefile
-@@ -264,7 +264,6 @@ image-$(CONFIG_PPC_CHRP)		+= zImage.chrp
+@@ -265,7 +265,6 @@ image-$(CONFIG_PPC_CHRP)		+= zImage.chrp
  image-$(CONFIG_PPC_EFIKA)		+= zImage.chrp
  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
  image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly
@@ -24,7 +24,7 @@ Signed-off-by: David Bauer <mail at david-bauer.net>
  image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr
  
  #
-@@ -395,15 +394,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits
+@@ -396,15 +395,6 @@ $(obj)/dtbImage.%: vmlinux $(wrapperbits
  $(obj)/vmlinux.strip: vmlinux
  	$(STRIP) -s -R .comment $< -o $@
  
diff --git a/target/linux/oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch b/target/linux/oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch
index 6c795c1d25..f609f1b12a 100644
--- a/target/linux/oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch
+++ b/target/linux/oxnas/patches-5.10/100-oxnas-clk-plla-pllb.patch
@@ -179,7 +179,7 @@
  static inline struct clk_oxnas_gate *to_clk_oxnas_gate(struct clk_hw *hw)
  {
  	return container_of(hw, struct clk_oxnas_gate, hw);
-@@ -249,3 +401,42 @@ static struct platform_driver oxnas_stdc
+@@ -251,3 +403,42 @@ static struct platform_driver oxnas_stdc
  	},
  };
  builtin_platform_driver(oxnas_stdclk_driver);




More information about the lede-commits mailing list