瀏覽代碼

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 <[email protected]>
[Move gro_skip in 680-NET-skip-GRO-for-foreign-MAC-addresses.patch to old position]
Signed-off-by: Hauke Mehrtens <[email protected]>
John Audia 3 年之前
父節點
當前提交
aa2fa2eb76
共有 28 個文件被更改,包括 125 次插入125 次删除
  1. 2 2
      include/kernel-5.10
  2. 1 1
      target/linux/apm821xx/patches-5.10/802-usb-xhci-force-msi-renesas-xhci.patch
  3. 1 1
      target/linux/apm821xx/patches-5.10/900-powerpc-bootwrapper-force-gzip-as-mkimage-s-compress.patch
  4. 1 1
      target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch
  5. 1 1
      target/linux/ath79/patches-5.10/404-mtd-cybertan-trx-parser.patch
  6. 2 2
      target/linux/bcm53xx/patches-5.10/180-usb-xhci-add-support-for-performing-fake-doorbell.patch
  7. 2 2
      target/linux/generic/backport-5.10/782-v5.11-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch
  8. 2 2
      target/linux/generic/backport-5.10/783-v5.12-net-usb-r8152-use-new-tasklet-API.patch
  9. 8 8
      target/linux/generic/backport-5.10/784-v5.12-r8152-replace-several-functions-about-phy-patch-requ.patch
  10. 4 4
      target/linux/generic/backport-5.10/785-v5.12-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch
  11. 3 3
      target/linux/generic/backport-5.10/786-v5.12-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch
  12. 3 3
      target/linux/generic/backport-5.10/787-v5.12-r8152-check-if-the-pointer-of-the-function-exists.patch
  13. 2 2
      target/linux/generic/backport-5.10/788-v5.12-r8152-replace-netif_err-with-dev_err.patch
  14. 3 3
      target/linux/generic/backport-5.10/789-v5.12-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch
  15. 2 2
      target/linux/generic/backport-5.10/790-v5.13-r8152-set-inter-fram-gap-time-depending-on-speed.patch
  16. 4 4
      target/linux/generic/backport-5.10/791-v5.13-r8152-adjust-rtl8152_check_firmware-function.patch
  17. 8 8
      target/linux/generic/backport-5.10/792-v5.13-r8152-add-help-function-to-change-mtu.patch
  18. 47 47
      target/linux/generic/backport-5.10/793-v5.13-r8152-support-new-chips.patch
  19. 11 11
      target/linux/generic/backport-5.10/794-v5.13-r8152-support-PHY-firmware-for-RTL8156-series.patch
  20. 2 2
      target/linux/generic/backport-5.10/795-v5.13-r8152-search-the-configuration-of-vendor-mode.patch
  21. 2 2
      target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch
  22. 4 4
      target/linux/generic/hack-5.10/760-net-usb-r8152-add-LED-configuration-from-OF.patch
  23. 1 1
      target/linux/generic/pending-5.10/655-increase_skb_pad.patch
  24. 2 2
      target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch
  25. 1 1
      target/linux/ipq40xx/patches-5.10/400-mmc-sdhci-sdhci-msm-use-sdhci_set_clock-instead-of-s.patch
  26. 2 2
      target/linux/ipq806x/patches-5.10/101-5.12-mtd-parsers-Add-Qcom-SMEM-parser.patch
  27. 2 2
      target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch
  28. 2 2
      target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch

+ 2 - 2
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

+ 1 - 1
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;
  		hcd->msi_enabled = 1;
 --- a/drivers/usb/host/xhci.h
 --- a/drivers/usb/host/xhci.h
 +++ b/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		usb2_rhub;
  	struct xhci_hub		usb3_rhub;
  	struct xhci_hub		usb3_rhub;
  	/* support xHCI 1.0 spec USB2 hardware LPM */
  	/* support xHCI 1.0 spec USB2 hardware LPM */

+ 1 - 1
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 <[email protected]>
 
 
 --- a/arch/powerpc/boot/Makefile
 --- a/arch/powerpc/boot/Makefile
 +++ b/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
  # args (to if_changed): 1 = (this rule), 2 = platform, 3 = dts 4=dtb 5=initrd
  quiet_cmd_wrap	= WRAP    $@
  quiet_cmd_wrap	= WRAP    $@

+ 1 - 1
target/linux/ath79/patches-5.10/401-mtd-nor-support-mtd-name-from-device-tree.patch

@@ -34,7 +34,7 @@ Signed-off-by: Abhimanyu Vishwakarma <[email protected]>
  	mtd->type = MTD_NORFLASH;
  	mtd->type = MTD_NORFLASH;
 --- a/drivers/mtd/mtdcore.c
 --- a/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
 +++ b/drivers/mtd/mtdcore.c
-@@ -851,6 +851,17 @@ out_error:
+@@ -843,6 +843,17 @@ out_error:
   */
   */
  static void mtd_set_dev_defaults(struct mtd_info *mtd)
  static void mtd_set_dev_defaults(struct mtd_info *mtd)
  {
  {

+ 1 - 1
target/linux/ath79/patches-5.10/404-mtd-cybertan-trx-parser.patch

@@ -25,7 +25,7 @@ Submitted-by: Christian Lamparter <[email protected]>
 +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.o
 +obj-$(CONFIG_MTD_PARSER_CYBERTAN)	+= parser_cybertan.o
  obj-$(CONFIG_MTD_PARSER_IMAGETAG)	+= parser_imagetag.o
  obj-$(CONFIG_MTD_PARSER_IMAGETAG)	+= parser_imagetag.o
  obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o
  obj-$(CONFIG_MTD_AFS_PARTS)		+= afs.o
- obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_trx.o
+ obj-$(CONFIG_MTD_PARSER_TPLINK_SAFELOADER)	+= tplink_safeloader.o
 --- a/drivers/mtd/parsers/Kconfig
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
 @@ -102,6 +102,14 @@ config MTD_OF_PARTS_LINKSYS_NS
 @@ -102,6 +102,14 @@ config MTD_OF_PARTS_LINKSYS_NS

+ 2 - 2
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
 --- a/drivers/usb/host/xhci.h
 +++ b/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_NO_SOFT_RETRY	BIT_ULL(40)
  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42)
  #define XHCI_EP_CTX_BROKEN_DCS	BIT_ULL(42)
+ #define XHCI_SUSPEND_RESUME_CLKS	BIT_ULL(43)
 +#define XHCI_FAKE_DOORBELL	BIT_ULL(44)
 +#define XHCI_FAKE_DOORBELL	BIT_ULL(44)
  
  
  	unsigned int		num_active_eps;
  	unsigned int		num_active_eps;

+ 2 - 2
target/linux/generic/backport-5.10/782-v5.11-net-usb-r8153_ecm-support-ECM-mode-for-RTL8153.patch

@@ -89,7 +89,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  struct tally_counter {
  struct tally_counter {
  	__le64	tx_packets;
  	__le64	tx_packets;
  	__le64	rx_packets;
  	__le64	rx_packets;
-@@ -6602,7 +6579,7 @@ static int rtl_fw_init(struct r8152 *tp)
+@@ -6604,7 +6581,7 @@ static int rtl_fw_init(struct r8152 *tp)
  	return 0;
  	return 0;
  }
  }
  
  
@@ -98,7 +98,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  {
  {
  	struct usb_device *udev = interface_to_usbdev(intf);
  	struct usb_device *udev = interface_to_usbdev(intf);
  	u32 ocp_data = 0;
  	u32 ocp_data = 0;
-@@ -6660,12 +6637,13 @@ static u8 rtl_get_version(struct usb_int
+@@ -6662,12 +6639,13 @@ static u8 rtl_get_version(struct usb_int
  
  
  	return version;
  	return version;
  }
  }

+ 2 - 2
target/linux/generic/backport-5.10/783-v5.12-net-usb-r8152-use-new-tasklet-API.patch

@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 
 --- a/drivers/net/usb/r8152.c
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -2393,11 +2393,9 @@ static void tx_bottom(struct r8152 *tp)
+@@ -2395,11 +2395,9 @@ static void tx_bottom(struct r8152 *tp)
  	} while (res == 0);
  	} while (res == 0);
  }
  }
  
  
@@ -30,7 +30,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  
  	if (test_bit(RTL8152_UNPLUG, &tp->flags))
  	if (test_bit(RTL8152_UNPLUG, &tp->flags))
  		return;
  		return;
-@@ -6695,7 +6693,7 @@ static int rtl8152_probe(struct usb_inte
+@@ -6697,7 +6695,7 @@ static int rtl8152_probe(struct usb_inte
  	mutex_init(&tp->control);
  	mutex_init(&tp->control);
  	INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
  	INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
  	INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t);
  	INIT_DELAYED_WORK(&tp->hw_phy_work, rtl_hw_phy_work_func_t);

+ 8 - 8
target/linux/generic/backport-5.10/784-v5.12-r8152-replace-several-functions-about-phy-patch-requ.patch

@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 
 --- a/drivers/net/usb/r8152.c
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -3443,59 +3443,76 @@ static void rtl_clear_bp(struct r8152 *t
+@@ -3445,59 +3445,76 @@ static void rtl_clear_bp(struct r8152 *t
  	ocp_write_word(tp, type, PLA_BP_BA, 0);
  	ocp_write_word(tp, type, PLA_BP_BA, 0);
  }
  }
  
  
@@ -127,7 +127,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, tp->ocp_base);
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_OCP_GPHY_BASE, tp->ocp_base);
  
  
-@@ -3980,7 +3997,7 @@ static void rtl8152_fw_mac_apply(struct
+@@ -3982,7 +3999,7 @@ static void rtl8152_fw_mac_apply(struct
  	dev_dbg(&tp->intf->dev, "successfully applied %s\n", mac->info);
  	dev_dbg(&tp->intf->dev, "successfully applied %s\n", mac->info);
  }
  }
  
  
@@ -136,7 +136,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  {
  {
  	struct rtl_fw *rtl_fw = &tp->rtl_fw;
  	struct rtl_fw *rtl_fw = &tp->rtl_fw;
  	const struct firmware *fw;
  	const struct firmware *fw;
-@@ -4011,12 +4028,11 @@ static void rtl8152_apply_firmware(struc
+@@ -4013,12 +4030,11 @@ static void rtl8152_apply_firmware(struc
  		case RTL_FW_PHY_START:
  		case RTL_FW_PHY_START:
  			key = (struct fw_phy_patch_key *)block;
  			key = (struct fw_phy_patch_key *)block;
  			key_addr = __le16_to_cpu(key->key_reg);
  			key_addr = __le16_to_cpu(key->key_reg);
@@ -151,7 +151,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  			break;
  			break;
  		case RTL_FW_PHY_NC:
  		case RTL_FW_PHY_NC:
  			rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block);
  			rtl8152_fw_phy_nc_apply(tp, (struct fw_phy_nc *)block);
-@@ -4221,7 +4237,7 @@ static void rtl8152_disable(struct r8152
+@@ -4223,7 +4239,7 @@ static void rtl8152_disable(struct r8152
  
  
  static void r8152b_hw_phy_cfg(struct r8152 *tp)
  static void r8152b_hw_phy_cfg(struct r8152 *tp)
  {
  {
@@ -160,7 +160,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	rtl_eee_enable(tp, tp->eee_en);
  	rtl_eee_enable(tp, tp->eee_en);
  	r8152_aldps_en(tp, true);
  	r8152_aldps_en(tp, true);
  	r8152b_enable_fc(tp);
  	r8152b_enable_fc(tp);
-@@ -4503,7 +4519,7 @@ static void r8153_hw_phy_cfg(struct r815
+@@ -4505,7 +4521,7 @@ static void r8153_hw_phy_cfg(struct r815
  	/* disable EEE before updating the PHY parameters */
  	/* disable EEE before updating the PHY parameters */
  	rtl_eee_enable(tp, false);
  	rtl_eee_enable(tp, false);
  
  
@@ -169,7 +169,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  
  	if (tp->version == RTL_VER_03) {
  	if (tp->version == RTL_VER_03) {
  		data = ocp_reg_read(tp, OCP_EEE_CFG);
  		data = ocp_reg_read(tp, OCP_EEE_CFG);
-@@ -4577,7 +4593,7 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4579,7 +4595,7 @@ static void r8153b_hw_phy_cfg(struct r81
  	/* disable EEE before updating the PHY parameters */
  	/* disable EEE before updating the PHY parameters */
  	rtl_eee_enable(tp, false);
  	rtl_eee_enable(tp, false);
  
  
@@ -178,7 +178,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  
  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
  
  
-@@ -4618,7 +4634,7 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4620,7 +4636,7 @@ static void r8153b_hw_phy_cfg(struct r81
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data);
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_PHY_PWR, ocp_data);
  
  
  	/* Advnace EEE */
  	/* Advnace EEE */
@@ -187,7 +187,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		data = ocp_reg_read(tp, OCP_POWER_CFG);
  		data = ocp_reg_read(tp, OCP_POWER_CFG);
  		data |= EEE_CLKDIV_EN;
  		data |= EEE_CLKDIV_EN;
  		ocp_reg_write(tp, OCP_POWER_CFG, data);
  		ocp_reg_write(tp, OCP_POWER_CFG, data);
-@@ -4635,7 +4651,7 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4637,7 +4653,7 @@ static void r8153b_hw_phy_cfg(struct r81
  		ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5));
  		ocp_reg_write(tp, OCP_SYSCLK_CFG, clk_div_expo(5));
  		tp->ups_info._250m_ckdiv = true;
  		tp->ups_info._250m_ckdiv = true;
  
  

+ 4 - 4
target/linux/generic/backport-5.10/785-v5.12-r8152-adjust-the-flow-of-power-cut-for-RTL8153B.patch

@@ -31,7 +31,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  static int rtl8152_set_mac_address(struct net_device *netdev, void *p)
  static int rtl8152_set_mac_address(struct net_device *netdev, void *p)
  {
  {
  	struct r8152 *tp = netdev_priv(netdev);
  	struct r8152 *tp = netdev_priv(netdev);
-@@ -3182,8 +3186,6 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3184,8 +3188,6 @@ static void r8153b_ups_en(struct r8152 *
  		ocp_data |= BIT(0);
  		ocp_data |= BIT(0);
  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
  	} else {
  	} else {
@@ -40,7 +40,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		ocp_data &= ~(UPS_EN | USP_PREWAKE);
  		ocp_data &= ~(UPS_EN | USP_PREWAKE);
  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
  
  
-@@ -3191,31 +3193,20 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3193,31 +3195,20 @@ static void r8153b_ups_en(struct r8152 *
  		ocp_data &= ~BIT(0);
  		ocp_data &= ~BIT(0);
  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
  		ocp_write_byte(tp, MCU_TYPE_USB, 0xcfff, ocp_data);
  
  
@@ -83,7 +83,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		}
  		}
  	}
  	}
  }
  }
-@@ -4587,13 +4578,37 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4589,13 +4580,37 @@ static void r8153b_hw_phy_cfg(struct r81
  	u32 ocp_data;
  	u32 ocp_data;
  	u16 data;
  	u16 data;
  
  
@@ -122,7 +122,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  
  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
  	r8153b_green_en(tp, test_bit(GREEN_ETHERNET, &tp->flags));
  
  
-@@ -5522,9 +5537,6 @@ static void r8153b_init(struct r8152 *tp
+@@ -5524,9 +5539,6 @@ static void r8153b_init(struct r8152 *tp
  	/* MSC timer = 0xfff * 8ms = 32760 ms */
  	/* MSC timer = 0xfff * 8ms = 32760 ms */
  	ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_MSC_TIMER, 0x0fff);
  
  

+ 3 - 3
target/linux/generic/backport-5.10/786-v5.12-r8152-enable-U1-U2-for-USB_SPEED_SUPER.patch

@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 
 --- a/drivers/net/usb/r8152.c
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -3335,7 +3335,7 @@ static void rtl8153b_runtime_enable(stru
+@@ -3337,7 +3337,7 @@ static void rtl8153b_runtime_enable(stru
  		r8153b_ups_en(tp, false);
  		r8153b_ups_en(tp, false);
  		r8153_queue_wake(tp, false);
  		r8153_queue_wake(tp, false);
  		rtl_runtime_suspend_enable(tp, false);
  		rtl_runtime_suspend_enable(tp, false);
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  			r8153b_u1u2en(tp, true);
  			r8153b_u1u2en(tp, true);
  	}
  	}
  }
  }
-@@ -5028,7 +5028,7 @@ static void rtl8153b_up(struct r8152 *tp
+@@ -5030,7 +5030,7 @@ static void rtl8153b_up(struct r8152 *tp
  
  
  	r8153_aldps_en(tp, true);
  	r8153_aldps_en(tp, true);
  
  
@@ -34,7 +34,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8153b_u1u2en(tp, true);
  		r8153b_u1u2en(tp, true);
  }
  }
  
  
-@@ -5550,8 +5550,9 @@ static void r8153b_init(struct r8152 *tp
+@@ -5552,8 +5552,9 @@ static void r8153b_init(struct r8152 *tp
  	ocp_data |= POLL_LINK_CHG;
  	ocp_data |= POLL_LINK_CHG;
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data);
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_EXTRA_STATUS, ocp_data);
  
  

+ 3 - 3
target/linux/generic/backport-5.10/787-v5.12-r8152-check-if-the-pointer-of-the-function-exists.patch

@@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 
 --- a/drivers/net/usb/r8152.c
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -5735,6 +5735,9 @@ static int rtl8152_runtime_suspend(struc
+@@ -5737,6 +5737,9 @@ static int rtl8152_runtime_suspend(struc
  	struct net_device *netdev = tp->netdev;
  	struct net_device *netdev = tp->netdev;
  	int ret = 0;
  	int ret = 0;
  
  
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	set_bit(SELECTIVE_SUSPEND, &tp->flags);
  	set_bit(SELECTIVE_SUSPEND, &tp->flags);
  	smp_mb__after_atomic();
  	smp_mb__after_atomic();
  
  
-@@ -6134,6 +6137,11 @@ rtl_ethtool_get_eee(struct net_device *n
+@@ -6136,6 +6139,11 @@ rtl_ethtool_get_eee(struct net_device *n
  	struct r8152 *tp = netdev_priv(net);
  	struct r8152 *tp = netdev_priv(net);
  	int ret;
  	int ret;
  
  
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	ret = usb_autopm_get_interface(tp->intf);
  	ret = usb_autopm_get_interface(tp->intf);
  	if (ret < 0)
  	if (ret < 0)
  		goto out;
  		goto out;
-@@ -6156,6 +6164,11 @@ rtl_ethtool_set_eee(struct net_device *n
+@@ -6158,6 +6166,11 @@ rtl_ethtool_set_eee(struct net_device *n
  	struct r8152 *tp = netdev_priv(net);
  	struct r8152 *tp = netdev_priv(net);
  	int ret;
  	int ret;
  
  

+ 2 - 2
target/linux/generic/backport-5.10/788-v5.12-r8152-replace-netif_err-with-dev_err.patch

@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 
 --- a/drivers/net/usb/r8152.c
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -6571,7 +6571,7 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6573,7 +6573,7 @@ static int rtl_ops_init(struct r8152 *tp
  
  
  	default:
  	default:
  		ret = -ENODEV;
  		ret = -ENODEV;
@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		break;
  		break;
  	}
  	}
  
  
-@@ -6828,7 +6828,7 @@ static int rtl8152_probe(struct usb_inte
+@@ -6830,7 +6830,7 @@ static int rtl8152_probe(struct usb_inte
  
  
  	ret = register_netdev(netdev);
  	ret = register_netdev(netdev);
  	if (ret != 0) {
  	if (ret != 0) {

+ 3 - 3
target/linux/generic/backport-5.10/789-v5.12-r8152-spilt-rtl_set_eee_plus-and-r8153b_green_en.patch

@@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 
 --- a/drivers/net/usb/r8152.c
 --- a/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
 +++ b/drivers/net/usb/r8152.c
-@@ -2632,21 +2632,24 @@ static inline u8 rtl8152_get_speed(struc
+@@ -2634,21 +2634,24 @@ static inline u8 rtl8152_get_speed(struc
  	return ocp_read_byte(tp, MCU_TYPE_PLA, PLA_PHYSTATUS);
  	return ocp_read_byte(tp, MCU_TYPE_PLA, PLA_PHYSTATUS);
  }
  }
  
  
@@ -50,7 +50,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  }
  }
  
  
  static void rxdy_gated_en(struct r8152 *tp, bool enable)
  static void rxdy_gated_en(struct r8152 *tp, bool enable)
-@@ -3127,10 +3130,22 @@ static void r8153b_ups_flags(struct r815
+@@ -3129,10 +3132,22 @@ static void r8153b_ups_flags(struct r815
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
  }
  }
  
  
@@ -74,7 +74,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	if (enable) {
  	if (enable) {
  		sram_write(tp, 0x8045, 0);	/* 10M abiq&ldvbias */
  		sram_write(tp, 0x8045, 0);	/* 10M abiq&ldvbias */
  		sram_write(tp, 0x804d, 0x1222);	/* 100M short abiq&ldvbias */
  		sram_write(tp, 0x804d, 0x1222);	/* 100M short abiq&ldvbias */
-@@ -3141,11 +3156,7 @@ static void r8153b_green_en(struct r8152
+@@ -3143,11 +3158,7 @@ static void r8153b_green_en(struct r8152
  		sram_write(tp, 0x805d, 0x2444);	/* 1000M short abiq&ldvbias */
  		sram_write(tp, 0x805d, 0x2444);	/* 1000M short abiq&ldvbias */
  	}
  	}
  
  

+ 2 - 2
target/linux/generic/backport-5.10/790-v5.13-r8152-set-inter-fram-gap-time-depending-on-speed.patch

@@ -34,7 +34,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  /* PLA_MTPS */
  /* PLA_MTPS */
  #define MTPS_JUMBO		(12 * 1024 / 64)
  #define MTPS_JUMBO		(12 * 1024 / 64)
-@@ -2747,6 +2750,29 @@ static int rtl_stop_rx(struct r8152 *tp)
+@@ -2749,6 +2752,29 @@ static int rtl_stop_rx(struct r8152 *tp)
  	return 0;
  	return 0;
  }
  }
  
  
@@ -64,7 +64,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp)
  static inline void r8153b_rx_agg_chg_indicate(struct r8152 *tp)
  {
  {
  	ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN,
  	ocp_write_byte(tp, MCU_TYPE_USB, USB_UPT_RXDMA_OWN,
-@@ -2850,6 +2876,8 @@ static int rtl8153_enable(struct r8152 *
+@@ -2852,6 +2878,8 @@ static int rtl8153_enable(struct r8152 *
  	r8153_set_rx_early_timeout(tp);
  	r8153_set_rx_early_timeout(tp);
  	r8153_set_rx_early_size(tp);
  	r8153_set_rx_early_size(tp);
  
  

+ 4 - 4
target/linux/generic/backport-5.10/791-v5.13-r8152-adjust-rtl8152_check_firmware-function.patch

@@ -30,7 +30,7 @@ Signed-off-by: David S. Miller <[email protected]>
  /**
  /**
   * struct fw_mac - a firmware block used by RTL_FW_PLA and RTL_FW_USB.
   * struct fw_mac - a firmware block used by RTL_FW_PLA and RTL_FW_USB.
   *	The layout of the firmware block is:
   *	The layout of the firmware block is:
-@@ -3800,10 +3808,7 @@ static long rtl8152_check_firmware(struc
+@@ -3802,10 +3810,7 @@ static long rtl8152_check_firmware(struc
  {
  {
  	const struct firmware *fw = rtl_fw->fw;
  	const struct firmware *fw = rtl_fw->fw;
  	struct fw_header *fw_hdr = (struct fw_header *)fw->data;
  	struct fw_header *fw_hdr = (struct fw_header *)fw->data;
@@ -42,7 +42,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	long ret = -EFAULT;
  	long ret = -EFAULT;
  	int i;
  	int i;
  
  
-@@ -3832,50 +3837,52 @@ static long rtl8152_check_firmware(struc
+@@ -3834,50 +3839,52 @@ static long rtl8152_check_firmware(struc
  				goto fail;
  				goto fail;
  			goto fw_end;
  			goto fw_end;
  		case RTL_FW_PLA:
  		case RTL_FW_PLA:
@@ -106,7 +106,7 @@ Signed-off-by: David S. Miller <[email protected]>
  				dev_err(&tp->intf->dev,
  				dev_err(&tp->intf->dev,
  					"Check PHY_STOP fail\n");
  					"Check PHY_STOP fail\n");
  				goto fail;
  				goto fail;
-@@ -3886,28 +3893,28 @@ static long rtl8152_check_firmware(struc
+@@ -3888,28 +3895,28 @@ static long rtl8152_check_firmware(struc
  					"Invalid length for PHY_STOP\n");
  					"Invalid length for PHY_STOP\n");
  				goto fail;
  				goto fail;
  			}
  			}
@@ -141,7 +141,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  			break;
  			break;
  		default:
  		default:
-@@ -3921,7 +3928,7 @@ static long rtl8152_check_firmware(struc
+@@ -3923,7 +3930,7 @@ static long rtl8152_check_firmware(struc
  	}
  	}
  
  
  fw_end:
  fw_end:

+ 8 - 8
target/linux/generic/backport-5.10/792-v5.13-r8152-add-help-function-to-change-mtu.patch

@@ -57,7 +57,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  static
  static
  int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
  int get_registers(struct r8152 *tp, u16 value, u16 index, u16 size, void *data)
-@@ -2632,10 +2630,7 @@ static void rtl8152_nic_reset(struct r81
+@@ -2634,10 +2632,7 @@ static void rtl8152_nic_reset(struct r81
  
  
  static void set_tx_qlen(struct r8152 *tp)
  static void set_tx_qlen(struct r8152 *tp)
  {
  {
@@ -69,7 +69,7 @@ Signed-off-by: David S. Miller <[email protected]>
  }
  }
  
  
  static inline u8 rtl8152_get_speed(struct r8152 *tp)
  static inline u8 rtl8152_get_speed(struct r8152 *tp)
-@@ -4724,6 +4719,12 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4726,6 +4721,12 @@ static void r8153b_hw_phy_cfg(struct r81
  	set_bit(PHY_RESET, &tp->flags);
  	set_bit(PHY_RESET, &tp->flags);
  }
  }
  
  
@@ -82,7 +82,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8153_first_init(struct r8152 *tp)
  static void r8153_first_init(struct r8152 *tp)
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
-@@ -4756,9 +4757,7 @@ static void r8153_first_init(struct r815
+@@ -4758,9 +4759,7 @@ static void r8153_first_init(struct r815
  
  
  	rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
  	rtl_rx_vlan_en(tp, tp->netdev->features & NETIF_F_HW_VLAN_CTAG_RX);
  
  
@@ -93,7 +93,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0);
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_TCR0);
  	ocp_data |= TCR0_AUTO_FIFO;
  	ocp_data |= TCR0_AUTO_FIFO;
-@@ -4793,8 +4792,7 @@ static void r8153_enter_oob(struct r8152
+@@ -4795,8 +4794,7 @@ static void r8153_enter_oob(struct r8152
  
  
  	wait_oob_link_list_ready(tp);
  	wait_oob_link_list_ready(tp);
  
  
@@ -103,7 +103,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	switch (tp->version) {
  	switch (tp->version) {
  	case RTL_VER_03:
  	case RTL_VER_03:
-@@ -6495,12 +6493,21 @@ static int rtl8152_change_mtu(struct net
+@@ -6497,12 +6495,21 @@ static int rtl8152_change_mtu(struct net
  	dev->mtu = new_mtu;
  	dev->mtu = new_mtu;
  
  
  	if (netif_running(dev)) {
  	if (netif_running(dev)) {
@@ -130,7 +130,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	}
  	}
  
  
  	mutex_unlock(&tp->control);
  	mutex_unlock(&tp->control);
-@@ -6589,6 +6596,7 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6591,6 +6598,7 @@ static int rtl_ops_init(struct r8152 *tp
  		ops->in_nway		= rtl8153_in_nway;
  		ops->in_nway		= rtl8153_in_nway;
  		ops->hw_phy_cfg		= r8153_hw_phy_cfg;
  		ops->hw_phy_cfg		= r8153_hw_phy_cfg;
  		ops->autosuspend_en	= rtl8153_runtime_enable;
  		ops->autosuspend_en	= rtl8153_runtime_enable;
@@ -138,7 +138,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		if (tp->udev->speed < USB_SPEED_SUPER)
  		if (tp->udev->speed < USB_SPEED_SUPER)
  			tp->rx_buf_sz	= 16 * 1024;
  			tp->rx_buf_sz	= 16 * 1024;
  		else
  		else
-@@ -6610,6 +6618,7 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6612,6 +6620,7 @@ static int rtl_ops_init(struct r8152 *tp
  		ops->in_nway		= rtl8153_in_nway;
  		ops->in_nway		= rtl8153_in_nway;
  		ops->hw_phy_cfg		= r8153b_hw_phy_cfg;
  		ops->hw_phy_cfg		= r8153b_hw_phy_cfg;
  		ops->autosuspend_en	= rtl8153b_runtime_enable;
  		ops->autosuspend_en	= rtl8153b_runtime_enable;
@@ -146,7 +146,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		tp->rx_buf_sz		= 32 * 1024;
  		tp->rx_buf_sz		= 32 * 1024;
  		tp->eee_en		= true;
  		tp->eee_en		= true;
  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX;
  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX;
-@@ -6830,7 +6839,7 @@ static int rtl8152_probe(struct usb_inte
+@@ -6832,7 +6841,7 @@ static int rtl8152_probe(struct usb_inte
  		netdev->max_mtu = ETH_DATA_LEN;
  		netdev->max_mtu = ETH_DATA_LEN;
  		break;
  		break;
  	default:
  	default:

+ 47 - 47
target/linux/generic/backport-5.10/793-v5.13-r8152-support-new-chips.patch

@@ -379,7 +379,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  /* Maximum number of multicast addresses to filter (vs. Rx-all-multicast).
  /* 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.
   * The RTL chips use a 64 element hash table based on the Ethernet CRC.
-@@ -2606,7 +2711,7 @@ static netdev_tx_t rtl8152_start_xmit(st
+@@ -2608,7 +2713,7 @@ static netdev_tx_t rtl8152_start_xmit(st
  
  
  static void r8152b_reset_packet_filter(struct r8152 *tp)
  static void r8152b_reset_packet_filter(struct r8152 *tp)
  {
  {
@@ -388,7 +388,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_FMC);
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_FMC);
  	ocp_data &= ~FMC_FCR_MCU_EN;
  	ocp_data &= ~FMC_FCR_MCU_EN;
-@@ -2617,14 +2722,47 @@ static void r8152b_reset_packet_filter(s
+@@ -2619,14 +2724,47 @@ static void r8152b_reset_packet_filter(s
  
  
  static void rtl8152_nic_reset(struct r8152 *tp)
  static void rtl8152_nic_reset(struct r8152 *tp)
  {
  {
@@ -442,7 +442,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	}
  	}
  }
  }
  
  
-@@ -2633,9 +2771,9 @@ static void set_tx_qlen(struct r8152 *tp
+@@ -2635,9 +2773,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));
  	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 <[email protected]>
  }
  }
  
  
  static void rtl_eee_plus_en(struct r8152 *tp, bool enable)
  static void rtl_eee_plus_en(struct r8152 *tp, bool enable)
-@@ -2795,6 +2933,7 @@ static int rtl_enable(struct r8152 *tp)
+@@ -2797,6 +2935,7 @@ static int rtl_enable(struct r8152 *tp)
  	switch (tp->version) {
  	switch (tp->version) {
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -462,7 +462,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		r8153b_rx_agg_chg_indicate(tp);
  		r8153b_rx_agg_chg_indicate(tp);
  		break;
  		break;
  	default:
  	default:
-@@ -2832,6 +2971,7 @@ static void r8153_set_rx_early_timeout(s
+@@ -2834,6 +2973,7 @@ static void r8153_set_rx_early_timeout(s
  
  
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -470,7 +470,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		/* The RTL8153B uses USB_RX_EXTRA_AGGR_TMR for rx timeout
  		/* The RTL8153B uses USB_RX_EXTRA_AGGR_TMR for rx timeout
  		 * primarily. For USB_RX_EARLY_TIMEOUT, we fix it to 128ns.
  		 * primarily. For USB_RX_EARLY_TIMEOUT, we fix it to 128ns.
  		 */
  		 */
-@@ -2841,6 +2981,18 @@ static void r8153_set_rx_early_timeout(s
+@@ -2843,6 +2983,18 @@ static void r8153_set_rx_early_timeout(s
  			       ocp_data);
  			       ocp_data);
  		break;
  		break;
  
  
@@ -489,7 +489,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  	default:
  		break;
  		break;
  	}
  	}
-@@ -2860,8 +3012,19 @@ static void r8153_set_rx_early_size(stru
+@@ -2862,8 +3014,19 @@ static void r8153_set_rx_early_size(stru
  		break;
  		break;
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -509,7 +509,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		break;
  		break;
  	default:
  	default:
  		WARN_ON_ONCE(1);
  		WARN_ON_ONCE(1);
-@@ -2871,6 +3034,8 @@ static void r8153_set_rx_early_size(stru
+@@ -2873,6 +3036,8 @@ static void r8153_set_rx_early_size(stru
  
  
  static int rtl8153_enable(struct r8152 *tp)
  static int rtl8153_enable(struct r8152 *tp)
  {
  {
@@ -518,7 +518,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	if (test_bit(RTL8152_UNPLUG, &tp->flags))
  	if (test_bit(RTL8152_UNPLUG, &tp->flags))
  		return -ENODEV;
  		return -ENODEV;
  
  
-@@ -2881,15 +3046,18 @@ static int rtl8153_enable(struct r8152 *
+@@ -2883,15 +3048,18 @@ static int rtl8153_enable(struct r8152 *
  
  
  	rtl_set_ifg(tp, rtl8152_get_speed(tp));
  	rtl_set_ifg(tp, rtl8152_get_speed(tp));
  
  
@@ -540,7 +540,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	}
  	}
  
  
  	return rtl_enable(tp);
  	return rtl_enable(tp);
-@@ -2954,12 +3122,40 @@ static void rtl_rx_vlan_en(struct r8152
+@@ -2956,12 +3124,40 @@ static void rtl_rx_vlan_en(struct r8152
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
  
  
@@ -587,7 +587,7 @@ Signed-off-by: David S. Miller <[email protected]>
  }
  }
  
  
  static int rtl8152_set_features(struct net_device *dev,
  static int rtl8152_set_features(struct net_device *dev,
-@@ -3052,6 +3248,40 @@ static void __rtl_set_wol(struct r8152 *
+@@ -3054,6 +3250,40 @@ static void __rtl_set_wol(struct r8152 *
  		device_set_wakeup_enable(&tp->udev->dev, false);
  		device_set_wakeup_enable(&tp->udev->dev, false);
  }
  }
  
  
@@ -628,7 +628,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8153_u1u2en(struct r8152 *tp, bool enable)
  static void r8153_u1u2en(struct r8152 *tp, bool enable)
  {
  {
  	u8 u1u2[8];
  	u8 u1u2[8];
-@@ -3111,6 +3341,9 @@ static void r8153b_ups_flags(struct r815
+@@ -3113,6 +3343,9 @@ static void r8153b_ups_flags(struct r815
  	if (tp->ups_info.eee_cmod_lv)
  	if (tp->ups_info.eee_cmod_lv)
  		ups_flags |= UPS_FLAGS_EEE_CMOD_LV_EN;
  		ups_flags |= UPS_FLAGS_EEE_CMOD_LV_EN;
  
  
@@ -638,7 +638,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	if (tp->ups_info._10m_ckdiv)
  	if (tp->ups_info._10m_ckdiv)
  		ups_flags |= UPS_FLAGS_EN_10M_CKDIV;
  		ups_flags |= UPS_FLAGS_EN_10M_CKDIV;
  
  
-@@ -3161,6 +3394,88 @@ static void r8153b_ups_flags(struct r815
+@@ -3163,6 +3396,88 @@ static void r8153b_ups_flags(struct r815
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_UPS_FLAGS, ups_flags);
  }
  }
  
  
@@ -727,7 +727,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void rtl_green_en(struct r8152 *tp, bool enable)
  static void rtl_green_en(struct r8152 *tp, bool enable)
  {
  {
  	u16 data;
  	u16 data;
-@@ -3224,16 +3539,16 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3226,16 +3541,16 @@ static void r8153b_ups_en(struct r8152 *
  		ocp_data |= UPS_EN | USP_PREWAKE | PHASE2_EN;
  		ocp_data |= UPS_EN | USP_PREWAKE | PHASE2_EN;
  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
  		ocp_write_byte(tp, MCU_TYPE_USB, USB_POWER_CUT, ocp_data);
  
  
@@ -750,7 +750,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  		if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) {
  		if (ocp_read_word(tp, MCU_TYPE_USB, USB_MISC_0) & PCUT_STATUS) {
  			int i;
  			int i;
-@@ -3253,6 +3568,95 @@ static void r8153b_ups_en(struct r8152 *
+@@ -3255,6 +3570,95 @@ static void r8153b_ups_en(struct r8152 *
  	}
  	}
  }
  }
  
  
@@ -846,7 +846,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8153_power_cut_en(struct r8152 *tp, bool enable)
  static void r8153_power_cut_en(struct r8152 *tp, bool enable)
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
-@@ -3382,6 +3786,38 @@ static void rtl8153b_runtime_enable(stru
+@@ -3384,6 +3788,38 @@ static void rtl8153b_runtime_enable(stru
  	}
  	}
  }
  }
  
  
@@ -885,7 +885,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8153_teredo_off(struct r8152 *tp)
  static void r8153_teredo_off(struct r8152 *tp)
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
-@@ -3402,14 +3838,19 @@ static void r8153_teredo_off(struct r815
+@@ -3404,14 +3840,19 @@ static void r8153_teredo_off(struct r815
  
  
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -908,7 +908,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	}
  	}
  
  
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_WDT6_CTRL, WDT6_SET_MODE);
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_WDT6_CTRL, WDT6_SET_MODE);
-@@ -3444,6 +3885,12 @@ static void rtl_clear_bp(struct r8152 *t
+@@ -3446,6 +3887,12 @@ static void rtl_clear_bp(struct r8152 *t
  		break;
  		break;
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -921,7 +921,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  	default:
  		if (type == MCU_TYPE_USB) {
  		if (type == MCU_TYPE_USB) {
  			ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0);
  			ocp_write_word(tp, MCU_TYPE_USB, USB_BP2_EN, 0);
-@@ -3653,6 +4100,11 @@ static bool rtl8152_is_fw_mac_ok(struct
+@@ -3655,6 +4102,11 @@ static bool rtl8152_is_fw_mac_ok(struct
  		case RTL_VER_06:
  		case RTL_VER_06:
  		case RTL_VER_08:
  		case RTL_VER_08:
  		case RTL_VER_09:
  		case RTL_VER_09:
@@ -933,7 +933,7 @@ Signed-off-by: David S. Miller <[email protected]>
  			fw_reg = 0xf800;
  			fw_reg = 0xf800;
  			bp_ba_addr = PLA_BP_BA;
  			bp_ba_addr = PLA_BP_BA;
  			bp_en_addr = PLA_BP_EN;
  			bp_en_addr = PLA_BP_EN;
-@@ -3676,6 +4128,11 @@ static bool rtl8152_is_fw_mac_ok(struct
+@@ -3678,6 +4130,11 @@ static bool rtl8152_is_fw_mac_ok(struct
  			break;
  			break;
  		case RTL_VER_08:
  		case RTL_VER_08:
  		case RTL_VER_09:
  		case RTL_VER_09:
@@ -945,7 +945,7 @@ Signed-off-by: David S. Miller <[email protected]>
  			fw_reg = 0xe600;
  			fw_reg = 0xe600;
  			bp_ba_addr = USB_BP_BA;
  			bp_ba_addr = USB_BP_BA;
  			bp_en_addr = USB_BP2_EN;
  			bp_en_addr = USB_BP2_EN;
-@@ -4215,6 +4672,22 @@ static void r8153_eee_en(struct r8152 *t
+@@ -4217,6 +4674,22 @@ static void r8153_eee_en(struct r8152 *t
  	tp->ups_info.eee = enable;
  	tp->ups_info.eee = enable;
  }
  }
  
  
@@ -968,7 +968,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void rtl_eee_enable(struct r8152 *tp, bool enable)
  static void rtl_eee_enable(struct r8152 *tp, bool enable)
  {
  {
  	switch (tp->version) {
  	switch (tp->version) {
-@@ -4236,6 +4709,7 @@ static void rtl_eee_enable(struct r8152
+@@ -4238,6 +4711,7 @@ static void rtl_eee_enable(struct r8152
  	case RTL_VER_06:
  	case RTL_VER_06:
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -976,7 +976,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		if (enable) {
  		if (enable) {
  			r8153_eee_en(tp, true);
  			r8153_eee_en(tp, true);
  			ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv);
  			ocp_reg_write(tp, OCP_EEE_ADV, tp->eee_adv);
-@@ -4244,6 +4718,19 @@ static void rtl_eee_enable(struct r8152
+@@ -4246,6 +4720,19 @@ static void rtl_eee_enable(struct r8152
  			ocp_reg_write(tp, OCP_EEE_ADV, 0);
  			ocp_reg_write(tp, OCP_EEE_ADV, 0);
  		}
  		}
  		break;
  		break;
@@ -996,7 +996,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  	default:
  		break;
  		break;
  	}
  	}
-@@ -4290,6 +4777,20 @@ static void wait_oob_link_list_ready(str
+@@ -4292,6 +4779,20 @@ static void wait_oob_link_list_ready(str
  	}
  	}
  }
  }
  
  
@@ -1017,7 +1017,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8152b_exit_oob(struct r8152 *tp)
  static void r8152b_exit_oob(struct r8152 *tp)
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
-@@ -4340,7 +4841,7 @@ static void r8152b_exit_oob(struct r8152
+@@ -4342,7 +4843,7 @@ static void r8152b_exit_oob(struct r8152
  	}
  	}
  
  
  	/* TX share fifo free credit full threshold */
  	/* TX share fifo free credit full threshold */
@@ -1026,7 +1026,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	ocp_write_byte(tp, MCU_TYPE_USB, USB_TX_AGG, TX_AGG_MAX_THRESHOLD);
  	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);
  	ocp_write_dword(tp, MCU_TYPE_USB, USB_RX_BUF_TH, RX_THR_HIGH);
-@@ -4517,6 +5018,21 @@ static int r8153b_post_firmware_1(struct
+@@ -4519,6 +5020,21 @@ static int r8153b_post_firmware_1(struct
  	return 0;
  	return 0;
  }
  }
  
  
@@ -1048,7 +1048,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8153_aldps_en(struct r8152 *tp, bool enable)
  static void r8153_aldps_en(struct r8152 *tp, bool enable)
  {
  {
  	u16 data;
  	u16 data;
-@@ -4719,6 +5235,13 @@ static void r8153b_hw_phy_cfg(struct r81
+@@ -4721,6 +5237,13 @@ static void r8153b_hw_phy_cfg(struct r81
  	set_bit(PHY_RESET, &tp->flags);
  	set_bit(PHY_RESET, &tp->flags);
  }
  }
  
  
@@ -1062,7 +1062,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void rtl8153_change_mtu(struct r8152 *tp)
  static void rtl8153_change_mtu(struct r8152 *tp)
  {
  {
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu));
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RMS, mtu_to_size(tp->netdev->mtu));
-@@ -4806,6 +5329,7 @@ static void r8153_enter_oob(struct r8152
+@@ -4808,6 +5331,7 @@ static void r8153_enter_oob(struct r8152
  
  
  	case RTL_VER_08:
  	case RTL_VER_08:
  	case RTL_VER_09:
  	case RTL_VER_09:
@@ -1070,7 +1070,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		/* Clear teredo wake event. bit[15:8] is the teredo wakeup
  		/* Clear teredo wake event. bit[15:8] is the teredo wakeup
  		 * type. Set it to zero. bits[7:0] are the W1C bits about
  		 * type. Set it to zero. bits[7:0] are the W1C bits about
  		 * the events. Set them to all 1 to clear them.
  		 * the events. Set them to all 1 to clear them.
-@@ -4842,6 +5366,96 @@ static void rtl8153_disable(struct r8152
+@@ -4844,6 +5368,96 @@ static void rtl8153_disable(struct r8152
  	r8153_aldps_en(tp, true);
  	r8153_aldps_en(tp, true);
  }
  }
  
  
@@ -1167,7 +1167,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex,
  static int rtl8152_set_speed(struct r8152 *tp, u8 autoneg, u32 speed, u8 duplex,
  			     u32 advertising)
  			     u32 advertising)
  {
  {
-@@ -4890,58 +5504,73 @@ static int rtl8152_set_speed(struct r815
+@@ -4892,58 +5506,73 @@ static int rtl8152_set_speed(struct r815
  
  
  		tp->mii.force_media = 1;
  		tp->mii.force_media = 1;
  	} else {
  	} else {
@@ -1259,7 +1259,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		}
  		}
  
  
  		bmcr = BMCR_ANENABLE | BMCR_ANRESTART;
  		bmcr = BMCR_ANENABLE | BMCR_ANRESTART;
-@@ -5097,6 +5726,253 @@ static void rtl8153b_down(struct r8152 *
+@@ -5099,6 +5728,253 @@ static void rtl8153b_down(struct r8152 *
  	r8153_aldps_en(tp, true);
  	r8153_aldps_en(tp, true);
  }
  }
  
  
@@ -1513,7 +1513,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static bool rtl8152_in_nway(struct r8152 *tp)
  static bool rtl8152_in_nway(struct r8152 *tp)
  {
  {
  	u16 nway_state;
  	u16 nway_state;
-@@ -5127,7 +6003,7 @@ static void set_carrier(struct r8152 *tp
+@@ -5129,7 +6005,7 @@ static void set_carrier(struct r8152 *tp
  {
  {
  	struct net_device *netdev = tp->netdev;
  	struct net_device *netdev = tp->netdev;
  	struct napi_struct *napi = &tp->napi;
  	struct napi_struct *napi = &tp->napi;
@@ -1522,7 +1522,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	speed = rtl8152_get_speed(tp);
  	speed = rtl8152_get_speed(tp);
  
  
-@@ -5140,7 +6016,7 @@ static void set_carrier(struct r8152 *tp
+@@ -5142,7 +6018,7 @@ static void set_carrier(struct r8152 *tp
  			rtl_start_rx(tp);
  			rtl_start_rx(tp);
  			clear_bit(RTL8152_SET_RX_MODE, &tp->flags);
  			clear_bit(RTL8152_SET_RX_MODE, &tp->flags);
  			_rtl8152_set_rx_mode(netdev);
  			_rtl8152_set_rx_mode(netdev);
@@ -1531,7 +1531,7 @@ Signed-off-by: David S. Miller <[email protected]>
  			netif_wake_queue(netdev);
  			netif_wake_queue(netdev);
  			netif_info(tp, link, netdev, "carrier on\n");
  			netif_info(tp, link, netdev, "carrier on\n");
  		} else if (netif_queue_stopped(netdev) &&
  		} else if (netif_queue_stopped(netdev) &&
-@@ -5502,14 +6378,9 @@ static void r8153_init(struct r8152 *tp)
+@@ -5504,14 +6380,9 @@ static void r8153_init(struct r8152 *tp)
  
  
  	ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_CONNECT_TIMER, 0x0001);
  
  
@@ -1547,7 +1547,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	r8153_u1u2en(tp, true);
  	r8153_u1u2en(tp, true);
  	usb_enable_lpm(tp->udev);
  	usb_enable_lpm(tp->udev);
  
  
-@@ -5600,9 +6471,7 @@ static void r8153b_init(struct r8152 *tp
+@@ -5602,9 +6473,7 @@ static void r8153b_init(struct r8152 *tp
  	usb_enable_lpm(tp->udev);
  	usb_enable_lpm(tp->udev);
  
  
  	/* MAC clock speed down */
  	/* MAC clock speed down */
@@ -1558,7 +1558,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3);
  	ocp_data = ocp_read_word(tp, MCU_TYPE_PLA, PLA_MAC_PWR_CTRL3);
  	ocp_data &= ~PLA_MCU_SPDWN_EN;
  	ocp_data &= ~PLA_MCU_SPDWN_EN;
-@@ -5629,6 +6498,1069 @@ static void r8153b_init(struct r8152 *tp
+@@ -5631,6 +6500,1069 @@ static void r8153b_init(struct r8152 *tp
  	tp->coalesce = 15000;	/* 15 us */
  	tp->coalesce = 15000;	/* 15 us */
  }
  }
  
  
@@ -2628,7 +2628,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static int rtl8152_pre_reset(struct usb_interface *intf)
  static int rtl8152_pre_reset(struct usb_interface *intf)
  {
  {
  	struct r8152 *tp = usb_get_intfdata(intf);
  	struct r8152 *tp = usb_get_intfdata(intf);
-@@ -5992,6 +7924,22 @@ int rtl8152_get_link_ksettings(struct ne
+@@ -5994,6 +7926,22 @@ int rtl8152_get_link_ksettings(struct ne
  
  
  	mii_ethtool_get_link_ksettings(&tp->mii, cmd);
  	mii_ethtool_get_link_ksettings(&tp->mii, cmd);
  
  
@@ -2651,7 +2651,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	mutex_unlock(&tp->control);
  	mutex_unlock(&tp->control);
  
  
  	usb_autopm_put_interface(tp->intf);
  	usb_autopm_put_interface(tp->intf);
-@@ -6035,6 +7983,10 @@ static int rtl8152_set_link_ksettings(st
+@@ -6037,6 +7985,10 @@ static int rtl8152_set_link_ksettings(st
  		     cmd->link_modes.advertising))
  		     cmd->link_modes.advertising))
  		advertising |= RTL_ADVERTISED_1000_FULL;
  		advertising |= RTL_ADVERTISED_1000_FULL;
  
  
@@ -2662,7 +2662,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	mutex_lock(&tp->control);
  	mutex_lock(&tp->control);
  
  
  	ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed,
  	ret = rtl8152_set_speed(tp, cmd->base.autoneg, cmd->base.speed,
-@@ -6624,6 +8576,67 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6626,6 +8578,67 @@ static int rtl_ops_init(struct r8152 *tp
  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX;
  		tp->eee_adv		= MDIO_EEE_1000T | MDIO_EEE_100TX;
  		break;
  		break;
  
  
@@ -2730,7 +2730,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  	default:
  		ret = -ENODEV;
  		ret = -ENODEV;
  		dev_err(&tp->intf->dev, "Unknown Device\n");
  		dev_err(&tp->intf->dev, "Unknown Device\n");
-@@ -6637,11 +8650,13 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -6639,11 +8652,13 @@ static int rtl_ops_init(struct r8152 *tp
  #define FIRMWARE_8153A_3	"rtl_nic/rtl8153a-3.fw"
  #define FIRMWARE_8153A_3	"rtl_nic/rtl8153a-3.fw"
  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw"
  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw"
  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw"
  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw"
@@ -2744,7 +2744,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  static int rtl_fw_init(struct r8152 *tp)
  static int rtl_fw_init(struct r8152 *tp)
  {
  {
-@@ -6667,6 +8682,11 @@ static int rtl_fw_init(struct r8152 *tp)
+@@ -6669,6 +8684,11 @@ static int rtl_fw_init(struct r8152 *tp)
  		rtl_fw->pre_fw		= r8153b_pre_firmware_1;
  		rtl_fw->pre_fw		= r8153b_pre_firmware_1;
  		rtl_fw->post_fw		= r8153b_post_firmware_1;
  		rtl_fw->post_fw		= r8153b_post_firmware_1;
  		break;
  		break;
@@ -2756,7 +2756,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  	default:
  		break;
  		break;
  	}
  	}
-@@ -6722,6 +8742,27 @@ u8 rtl8152_get_version(struct usb_interf
+@@ -6724,6 +8744,27 @@ u8 rtl8152_get_version(struct usb_interf
  	case 0x6010:
  	case 0x6010:
  		version = RTL_VER_09;
  		version = RTL_VER_09;
  		break;
  		break;
@@ -2784,7 +2784,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	default:
  	default:
  		version = RTL_VER_UNKNOWN;
  		version = RTL_VER_UNKNOWN;
  		dev_info(&intf->dev, "Unknown version 0x%04x\n", ocp_data);
  		dev_info(&intf->dev, "Unknown version 0x%04x\n", ocp_data);
-@@ -6834,12 +8875,29 @@ static int rtl8152_probe(struct usb_inte
+@@ -6836,12 +8877,29 @@ static int rtl8152_probe(struct usb_inte
  	/* MTU range: 68 - 1500 or 9194 */
  	/* MTU range: 68 - 1500 or 9194 */
  	netdev->min_mtu = ETH_MIN_MTU;
  	netdev->min_mtu = ETH_MIN_MTU;
  	switch (tp->version) {
  	switch (tp->version) {
@@ -2817,7 +2817,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		break;
  		break;
  	}
  	}
  
  
-@@ -6855,7 +8913,13 @@ static int rtl8152_probe(struct usb_inte
+@@ -6857,7 +8915,13 @@ static int rtl8152_probe(struct usb_inte
  	tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL |
  	tp->advertising = RTL_ADVERTISED_10_HALF | RTL_ADVERTISED_10_FULL |
  			  RTL_ADVERTISED_100_HALF | RTL_ADVERTISED_100_FULL;
  			  RTL_ADVERTISED_100_HALF | RTL_ADVERTISED_100_FULL;
  	if (tp->mii.supports_gmii) {
  	if (tp->mii.supports_gmii) {
@@ -2832,7 +2832,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		tp->advertising |= RTL_ADVERTISED_1000_FULL;
  		tp->advertising |= RTL_ADVERTISED_1000_FULL;
  	}
  	}
  	tp->duplex = DUPLEX_FULL;
  	tp->duplex = DUPLEX_FULL;
-@@ -6879,7 +8943,11 @@ static int rtl8152_probe(struct usb_inte
+@@ -6881,7 +8945,11 @@ static int rtl8152_probe(struct usb_inte
  	set_ethernet_addr(tp);
  	set_ethernet_addr(tp);
  
  
  	usb_set_intfdata(intf, tp);
  	usb_set_intfdata(intf, tp);
@@ -2845,7 +2845,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	ret = register_netdev(netdev);
  	ret = register_netdev(netdev);
  	if (ret != 0) {
  	if (ret != 0) {
-@@ -6915,7 +8983,8 @@ static void rtl8152_disconnect(struct us
+@@ -6917,7 +8985,8 @@ static void rtl8152_disconnect(struct us
  		unregister_netdev(tp->netdev);
  		unregister_netdev(tp->netdev);
  		tasklet_kill(&tp->tx_tl);
  		tasklet_kill(&tp->tx_tl);
  		cancel_delayed_work_sync(&tp->hw_phy_work);
  		cancel_delayed_work_sync(&tp->hw_phy_work);
@@ -2855,7 +2855,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		rtl8152_release_firmware(tp);
  		rtl8152_release_firmware(tp);
  		free_netdev(tp->netdev);
  		free_netdev(tp->netdev);
  	}
  	}
-@@ -6935,13 +9004,28 @@ static void rtl8152_disconnect(struct us
+@@ -6937,13 +9006,28 @@ static void rtl8152_disconnect(struct us
  	.idProduct = (prod), \
  	.idProduct = (prod), \
  	.bInterfaceClass = USB_CLASS_COMM, \
  	.bInterfaceClass = USB_CLASS_COMM, \
  	.bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \
  	.bInterfaceSubClass = USB_CDC_SUBCLASS_ETHERNET, \

+ 11 - 11
target/linux/generic/backport-5.10/794-v5.13-r8152-support-PHY-firmware-for-RTL8156-series.patch

@@ -92,7 +92,7 @@ Signed-off-by: David S. Miller <[email protected]>
  };
  };
  
  
  enum rtl_version {
  enum rtl_version {
-@@ -3999,6 +4060,162 @@ static int rtl_post_ram_code(struct r815
+@@ -4001,6 +4062,162 @@ static int rtl_post_ram_code(struct r815
  	return 0;
  	return 0;
  }
  }
  
  
@@ -255,7 +255,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy)
  static bool rtl8152_is_fw_phy_nc_ok(struct r8152 *tp, struct fw_phy_nc *phy)
  {
  {
  	u32 length;
  	u32 length;
-@@ -4319,6 +4536,10 @@ static long rtl8152_check_firmware(struc
+@@ -4321,6 +4538,10 @@ static long rtl8152_check_firmware(struc
  		case RTL_FW_PHY_START:
  		case RTL_FW_PHY_START:
  			if (test_bit(FW_FLAGS_START, &fw_flags) ||
  			if (test_bit(FW_FLAGS_START, &fw_flags) ||
  			    test_bit(FW_FLAGS_NC, &fw_flags) ||
  			    test_bit(FW_FLAGS_NC, &fw_flags) ||
@@ -266,7 +266,7 @@ Signed-off-by: David S. Miller <[email protected]>
  			    test_bit(FW_FLAGS_STOP, &fw_flags)) {
  			    test_bit(FW_FLAGS_STOP, &fw_flags)) {
  				dev_err(&tp->intf->dev,
  				dev_err(&tp->intf->dev,
  					"check PHY_START fail\n");
  					"check PHY_START fail\n");
-@@ -4367,7 +4588,153 @@ static long rtl8152_check_firmware(struc
+@@ -4369,7 +4590,153 @@ static long rtl8152_check_firmware(struc
  				goto fail;
  				goto fail;
  			}
  			}
  			__set_bit(FW_FLAGS_NC, &fw_flags);
  			__set_bit(FW_FLAGS_NC, &fw_flags);
@@ -420,7 +420,7 @@ Signed-off-by: David S. Miller <[email protected]>
  			break;
  			break;
  		default:
  		default:
  			dev_warn(&tp->intf->dev, "Unknown type %u is found\n",
  			dev_warn(&tp->intf->dev, "Unknown type %u is found\n",
-@@ -4390,6 +4757,143 @@ fail:
+@@ -4392,6 +4759,143 @@ fail:
  	return ret;
  	return ret;
  }
  }
  
  
@@ -564,7 +564,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy)
  static void rtl8152_fw_phy_nc_apply(struct r8152 *tp, struct fw_phy_nc *phy)
  {
  {
  	u16 mode_reg, bp_index;
  	u16 mode_reg, bp_index;
-@@ -4443,6 +4947,12 @@ static void rtl8152_fw_mac_apply(struct
+@@ -4445,6 +4949,12 @@ static void rtl8152_fw_mac_apply(struct
  		return;
  		return;
  	}
  	}
  
  
@@ -577,7 +577,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	rtl_clear_bp(tp, type);
  	rtl_clear_bp(tp, type);
  
  
  	/* Enable backup/restore of MACDBG. This is required after clearing PLA
  	/* Enable backup/restore of MACDBG. This is required after clearing PLA
-@@ -4478,7 +4988,6 @@ static void rtl8152_fw_mac_apply(struct
+@@ -4480,7 +4990,6 @@ static void rtl8152_fw_mac_apply(struct
  		ocp_write_word(tp, type, bp_en_addr,
  		ocp_write_word(tp, type, bp_en_addr,
  			       __le16_to_cpu(mac->bp_en_value));
  			       __le16_to_cpu(mac->bp_en_value));
  
  
@@ -585,7 +585,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	if (fw_ver_reg)
  	if (fw_ver_reg)
  		ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg,
  		ocp_write_byte(tp, MCU_TYPE_USB, fw_ver_reg,
  			       mac->fw_ver_data);
  			       mac->fw_ver_data);
-@@ -4493,7 +5002,7 @@ static void rtl8152_apply_firmware(struc
+@@ -4495,7 +5004,7 @@ static void rtl8152_apply_firmware(struc
  	struct fw_header *fw_hdr;
  	struct fw_header *fw_hdr;
  	struct fw_phy_patch_key *key;
  	struct fw_phy_patch_key *key;
  	u16 key_addr = 0;
  	u16 key_addr = 0;
@@ -594,7 +594,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  	if (IS_ERR_OR_NULL(rtl_fw->fw))
  	if (IS_ERR_OR_NULL(rtl_fw->fw))
  		return;
  		return;
-@@ -4515,17 +5024,40 @@ static void rtl8152_apply_firmware(struc
+@@ -4517,17 +5026,40 @@ static void rtl8152_apply_firmware(struc
  			rtl8152_fw_mac_apply(tp, (struct fw_mac *)block);
  			rtl8152_fw_mac_apply(tp, (struct fw_mac *)block);
  			break;
  			break;
  		case RTL_FW_PHY_START:
  		case RTL_FW_PHY_START:
@@ -635,7 +635,7 @@ Signed-off-by: David S. Miller <[email protected]>
  		default:
  		default:
  			break;
  			break;
  		}
  		}
-@@ -5033,6 +5565,21 @@ static int r8153c_post_firmware_1(struct
+@@ -5035,6 +5567,21 @@ static int r8153c_post_firmware_1(struct
  	return 0;
  	return 0;
  }
  }
  
  
@@ -657,7 +657,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static void r8153_aldps_en(struct r8152 *tp, bool enable)
  static void r8153_aldps_en(struct r8152 *tp, bool enable)
  {
  {
  	u16 data;
  	u16 data;
-@@ -8651,12 +9198,16 @@ static int rtl_ops_init(struct r8152 *tp
+@@ -8653,12 +9200,16 @@ static int rtl_ops_init(struct r8152 *tp
  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw"
  #define FIRMWARE_8153A_4	"rtl_nic/rtl8153a-4.fw"
  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw"
  #define FIRMWARE_8153B_2	"rtl_nic/rtl8153b-2.fw"
  #define FIRMWARE_8153C_1	"rtl_nic/rtl8153c-1.fw"
  #define FIRMWARE_8153C_1	"rtl_nic/rtl8153c-1.fw"
@@ -674,7 +674,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  static int rtl_fw_init(struct r8152 *tp)
  static int rtl_fw_init(struct r8152 *tp)
  {
  {
-@@ -8682,6 +9233,14 @@ static int rtl_fw_init(struct r8152 *tp)
+@@ -8684,6 +9235,14 @@ static int rtl_fw_init(struct r8152 *tp)
  		rtl_fw->pre_fw		= r8153b_pre_firmware_1;
  		rtl_fw->pre_fw		= r8153b_pre_firmware_1;
  		rtl_fw->post_fw		= r8153b_post_firmware_1;
  		rtl_fw->post_fw		= r8153b_post_firmware_1;
  		break;
  		break;

+ 2 - 2
target/linux/generic/backport-5.10/795-v5.13-r8152-search-the-configuration-of-vendor-mode.patch

@@ -25,7 +25,7 @@ Signed-off-by: David S. Miller <[email protected]>
  
  
  /* Information for net */
  /* Information for net */
  #define NET_VERSION		"11"
  #define NET_VERSION		"11"
-@@ -8108,6 +8108,39 @@ static void r8156b_init(struct r8152 *tp
+@@ -8110,6 +8110,39 @@ static void r8156b_init(struct r8152 *tp
  	tp->coalesce = 15000;	/* 15 us */
  	tp->coalesce = 15000;	/* 15 us */
  }
  }
  
  
@@ -65,7 +65,7 @@ Signed-off-by: David S. Miller <[email protected]>
  static int rtl8152_pre_reset(struct usb_interface *intf)
  static int rtl8152_pre_reset(struct usb_interface *intf)
  {
  {
  	struct r8152 *tp = usb_get_intfdata(intf);
  	struct r8152 *tp = usb_get_intfdata(intf);
-@@ -9346,10 +9379,8 @@ static int rtl8152_probe(struct usb_inte
+@@ -9348,10 +9381,8 @@ static int rtl8152_probe(struct usb_inte
  	if (version == RTL_VER_UNKNOWN)
  	if (version == RTL_VER_UNKNOWN)
  		return -ENODEV;
  		return -ENODEV;
  
  

+ 2 - 2
target/linux/generic/hack-5.10/721-net-add-packet-mangeling.patch

@@ -60,7 +60,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
   */
   */
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/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;
  	return (len < skb->len) ? __pskb_trim(skb, len) : 0;
  }
  }
  
  
@@ -71,7 +71,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  /**
  /**
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	pskb_trim_unique - remove end from a paged unique (not cloned) buffer
   *	@skb: buffer to alter
   *	@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_
  }
  }
  
  
  
  

+ 4 - 4
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 <[email protected]>
  #include <linux/crc32.h>
  #include <linux/crc32.h>
  #include <linux/if_vlan.h>
  #include <linux/if_vlan.h>
  #include <linux/uaccess.h>
  #include <linux/uaccess.h>
-@@ -6780,6 +6781,22 @@ static void rtl_tally_reset(struct r8152
+@@ -6782,6 +6783,22 @@ static void rtl_tally_reset(struct r8152
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  	ocp_write_word(tp, MCU_TYPE_PLA, PLA_RSTTALLY, ocp_data);
  }
  }
  
  
@@ -45,7 +45,7 @@ Signed-off-by: David Bauer <[email protected]>
  static void r8152b_init(struct r8152 *tp)
  static void r8152b_init(struct r8152 *tp)
  {
  {
  	u32 ocp_data;
  	u32 ocp_data;
-@@ -6821,6 +6838,8 @@ static void r8152b_init(struct r8152 *tp
+@@ -6823,6 +6840,8 @@ static void r8152b_init(struct r8152 *tp
  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
  	ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
  	ocp_data &= ~(RX_AGG_DISABLE | RX_ZERO_EN);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
  	ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
@@ -54,7 +54,7 @@ Signed-off-by: David Bauer <[email protected]>
  }
  }
  
  
  static void r8153_init(struct r8152 *tp)
  static void r8153_init(struct r8152 *tp)
-@@ -6961,6 +6980,8 @@ static void r8153_init(struct r8152 *tp)
+@@ -6963,6 +6982,8 @@ static void r8153_init(struct r8152 *tp)
  		tp->coalesce = COALESCE_SLOW;
  		tp->coalesce = COALESCE_SLOW;
  		break;
  		break;
  	}
  	}
@@ -63,7 +63,7 @@ Signed-off-by: David Bauer <[email protected]>
  }
  }
  
  
  static void r8153b_init(struct r8152 *tp)
  static void r8153b_init(struct r8152 *tp)
-@@ -7043,6 +7064,8 @@ static void r8153b_init(struct r8152 *tp
+@@ -7045,6 +7066,8 @@ static void r8153b_init(struct r8152 *tp
  	rtl_tally_reset(tp);
  	rtl_tally_reset(tp);
  
  
  	tp->coalesce = 15000;	/* 15 us */
  	tp->coalesce = 15000;	/* 15 us */

+ 1 - 1
target/linux/generic/pending-5.10/655-increase_skb_pad.patch

@@ -9,7 +9,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
 
 
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/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)
   * NET_IP_ALIGN(2) + ethernet_header(14) + IP_header(20/40) + ports(8)
   */
   */
  #ifndef NET_SKB_PAD
  #ifndef NET_SKB_PAD

+ 2 - 2
target/linux/generic/pending-5.10/680-NET-skip-GRO-for-foreign-MAC-addresses.patch

@@ -22,10 +22,10 @@ Signed-off-by: Felix Fietkau <[email protected]>
  #endif
  #endif
 --- a/include/linux/skbuff.h
 --- a/include/linux/skbuff.h
 +++ b/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;
  	__u8			decrypted:1;
  #endif
  #endif
+ 	__u8			scm_io_uring:1;
 +	__u8			gro_skip:1;
 +	__u8			gro_skip:1;
  
  
  #ifdef CONFIG_NET_SCHED
  #ifdef CONFIG_NET_SCHED

+ 1 - 1
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 <[email protected]>
 
 
 --- a/drivers/mmc/host/sdhci-msm.c
 --- a/drivers/mmc/host/sdhci-msm.c
 +++ b/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 = {
  static const struct sdhci_ops sdhci_msm_ops = {
  	.reset = sdhci_msm_reset,
  	.reset = sdhci_msm_reset,

+ 2 - 2
target/linux/ipq806x/patches-5.10/101-5.12-mtd-parsers-Add-Qcom-SMEM-parser.patch

@@ -19,7 +19,7 @@ Link: https://lore.kernel.org/linux-mtd/20210104041137.113075-3-manivannan.sadha
 
 
 --- a/drivers/mtd/parsers/Kconfig
 --- a/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
 +++ b/drivers/mtd/parsers/Kconfig
-@@ -205,6 +205,14 @@ config MTD_SERCOMM_PARTS
+@@ -220,6 +220,14 @@ config MTD_SERCOMM_PARTS
  	  offsets, which may differ from device to device depending on the
  	  offsets, which may differ from device to device depending on the
  	  number and location of bad blocks on NAND.
  	  number and location of bad blocks on NAND.
  
  
@@ -36,7 +36,7 @@ Link: https://lore.kernel.org/linux-mtd/20210104041137.113075-3-manivannan.sadha
  	depends on MTD && OF
  	depends on MTD && OF
 --- a/drivers/mtd/parsers/Makefile
 --- a/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
 +++ b/drivers/mtd/parsers/Makefile
-@@ -14,4 +14,5 @@ obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_
+@@ -15,4 +15,5 @@ obj-$(CONFIG_MTD_PARSER_TRX)		+= parser_
  obj-$(CONFIG_MTD_SERCOMM_PARTS)		+= scpart.o
  obj-$(CONFIG_MTD_SERCOMM_PARTS)		+= scpart.o
  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o
  obj-$(CONFIG_MTD_SHARPSL_PARTS)		+= sharpslpart.o
  obj-$(CONFIG_MTD_REDBOOT_PARTS)		+= redboot.o
  obj-$(CONFIG_MTD_REDBOOT_PARTS)		+= redboot.o

+ 2 - 2
target/linux/mpc85xx/patches-5.10/100-powerpc-85xx-tl-wdr4900-v1-support.patch

@@ -19,7 +19,7 @@ Signed-off-by: Pawel Dembicki <[email protected]>
 
 
 --- a/arch/powerpc/boot/Makefile
 --- a/arch/powerpc/boot/Makefile
 +++ b/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_POWERNV) += pseries-head.S
  src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
  src-plat-$(CONFIG_PPC_IBM_CELL_BLADE) += pseries-head.S
  src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
  src-plat-$(CONFIG_MVME7100) += motload-head.S mvme7100.c
@@ -27,7 +27,7 @@ Signed-off-by: Pawel Dembicki <[email protected]>
  
  
  src-wlib := $(sort $(src-wlib-y))
  src-wlib := $(sort $(src-wlib-y))
  src-plat := $(sort $(src-plat-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_TQM8560)			+= cuImage.tqm8560
  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
  image-$(CONFIG_SBC8548)			+= cuImage.sbc8548
  image-$(CONFIG_KSI8560)			+= cuImage.ksi8560
  image-$(CONFIG_KSI8560)			+= cuImage.ksi8560

+ 2 - 2
target/linux/mpc85xx/patches-5.10/900-powerpc-bootwrapper-disable-uImage-generation.patch

@@ -16,7 +16,7 @@ Signed-off-by: David Bauer <[email protected]>
 
 
 --- a/arch/powerpc/boot/Makefile
 --- a/arch/powerpc/boot/Makefile
 +++ b/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_EFIKA)		+= zImage.chrp
  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
  image-$(CONFIG_PPC_PMAC)		+= zImage.pmac
  image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly
  image-$(CONFIG_PPC_HOLLY)		+= dtbImage.holly
@@ -24,7 +24,7 @@ Signed-off-by: David Bauer <[email protected]>
  image-$(CONFIG_EPAPR_BOOT)		+= zImage.epapr
  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
  $(obj)/vmlinux.strip: vmlinux
  	$(STRIP) -s -R .comment $< -o $@
  	$(STRIP) -s -R .comment $< -o $@