Pārlūkot izejas kodu

generic: 6.12: sync r8169 patches with upstream

Upstream e2015942e90a couldn't be backported to 6.6 because the following
symbols were missing:
- disable_work
- disable_work_sync
- enable_work
See https://github.com/torvalds/linux/commit/e2015942e90a021151a5751776f35830ba063be7

Upstream 34e5ededf4b8 couldn't be backported to 6.6 because the following
symbol was missing:
- pcim_iomap_region
See https://github.com/torvalds/linux/commit/34e5ededf4b8ad4c9e58f0cab8596e26c8fa59a2

Reorganize patch numbers now that < 6.12 patches are no longer needed.

The following patches still differ from upstream:
- e340bff27e63
  phy_set_eee_broken symbol is missing in 6.12
  https://github.com/torvalds/linux/commit/e340bff27e63

The following patches can't be backported to 6.12 due to missing symbols:
- 5e7a74b6a357
  phy_disable_eee_mode symbol is missing in 6.12
  https://github.com/torvalds/linux/commit/5e7a74b6a357

Signed-off-by: Álvaro Fernández Rojas <[email protected]>
Álvaro Fernández Rojas 7 mēneši atpakaļ
vecāks
revīzija
94dbbe3496
33 mainītis faili ar 201 papildinājumiem un 72 dzēšanām
  1. 0 0
      target/linux/generic/backport-6.12/780-01-v6.13-r8169-remove-original-workaround-for-RTL8125-broken-.patch
  2. 0 0
      target/linux/generic/backport-6.12/780-02-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch
  3. 0 0
      target/linux/generic/backport-6.12/780-03-v6.13-r8169-implement-additional-ethtool-stats-ops.patch
  4. 0 0
      target/linux/generic/backport-6.12/780-04-v6.13-r8169-don-t-take-RTNL-lock-in-rtl_task.patch
  5. 94 0
      target/linux/generic/backport-6.12/780-05-v6.13-replace-custom-flag-with-disable_work-et-al.patch
  6. 0 0
      target/linux/generic/backport-6.12/780-06-v6.13-r8169-avoid-duplicated-messages-if-loading-firmware-.patch
  7. 3 3
      target/linux/generic/backport-6.12/780-07-v6.13-r8169-remove-rtl_dash_loop_wait_high-low.patch
  8. 0 0
      target/linux/generic/backport-6.12/780-08-v6.13-r8169-enable-EEE-at-2.5G-per-default-on-RTL8125B.patch
  9. 7 7
      target/linux/generic/backport-6.12/780-09-v6.13-r8169-add-support-for-RTL8125D.patch
  10. 1 1
      target/linux/generic/backport-6.12/780-10-v6.13-r8169-fix-inconsistent-indenting-in-rtl8169_get_eth_.patch
  11. 0 0
      target/linux/generic/backport-6.12/780-11-v6.13-r8169-align-RTL8125-EEE-config-with-vendor-driver.patch
  12. 0 0
      target/linux/generic/backport-6.12/780-12-v6.13-r8169-align-RTL8125-RTL8126-PHY-config-with-vendor-d.patch
  13. 0 0
      target/linux/generic/backport-6.12/780-13-v6.13-r8169-align-RTL8126-EEE-config-with-vendor-driver.patch
  14. 1 1
      target/linux/generic/backport-6.12/780-14-v6.13-r8169-improve-initialization-of-RSS-registers-on-RTL.patch
  15. 6 6
      target/linux/generic/backport-6.12/780-15-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch
  16. 2 2
      target/linux/generic/backport-6.12/780-16-v6.13-r8169-improve-__rtl8169_set_wol.patch
  17. 1 1
      target/linux/generic/backport-6.12/780-17-v6.13-r8169-improve-rtl_set_d3_pll_down.patch
  18. 1 1
      target/linux/generic/backport-6.12/780-18-v6.13-r8169-align-WAKE_PHY-handling-with-r8125-r8126-vendo.patch
  19. 1 1
      target/linux/generic/backport-6.12/780-19-v6.13-r8169-use-helper-r8169_mod_reg8_cond-to-simplify-rtl.patch
  20. 1 1
      target/linux/generic/backport-6.12/780-20-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch
  21. 3 3
      target/linux/generic/backport-6.12/780-21-v6.14-r8169-remove-unused-flag-RTL_FLAG_TASK_RESET_NO_QUEU.patch
  22. 5 5
      target/linux/generic/backport-6.12/780-22-v6.14-r8169-remove-support-for-chip-version-11.patch
  23. 20 20
      target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch
  24. 4 4
      target/linux/generic/backport-6.12/780-24-v6.14-r8169-add-support-for-RTL8125D-rev.b.patch
  25. 9 9
      target/linux/generic/backport-6.12/780-25-v6.14-r8169-add-support-for-RTL8125BP-rev.b.patch
  26. 0 0
      target/linux/generic/backport-6.12/780-26-v6.15-r8169-make-Kconfig-option-for-LED-support-user-visib.patch
  27. 1 1
      target/linux/generic/backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch
  28. 0 0
      target/linux/generic/backport-6.12/780-28-v6.15-r8169-add-support-for-Intel-Killer-E5000.patch
  29. 2 2
      target/linux/generic/backport-6.12/780-29-v6.15-r8169-add-PHY-c45-ops-for-MDIO_MMD_VENDOR2-registers.patch
  30. 1 1
      target/linux/generic/backport-6.12/780-30-v6.15-r8169-increase-max-jumbo-packet-size-on-RTL8125-RTL8.patch
  31. 35 0
      target/linux/generic/backport-6.12/780-31-v6.15-r8169-switch-away-from-deprecated-pcim_iomap_table.patch
  32. 1 1
      target/linux/generic/backport-6.12/780-32-v6.15-r8169-enable-RTL8168H-RTL8168EP-RTL8168FP-ASPM-suppo.patch
  33. 2 2
      target/linux/generic/backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch

+ 0 - 0
target/linux/generic/backport-6.12/780-25-v6.13-r8169-remove-original-workaround-for-RTL8125-broken-.patch → target/linux/generic/backport-6.12/780-01-v6.13-r8169-remove-original-workaround-for-RTL8125-broken-.patch


+ 0 - 0
target/linux/generic/backport-6.12/780-26-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch → target/linux/generic/backport-6.12/780-02-v6.13-r8169-enable-SG-TSO-on-selected-chip-versions-per-de.patch


+ 0 - 0
target/linux/generic/backport-6.12/780-27-v6.13-r8169-implement-additional-ethtool-stats-ops.patch → target/linux/generic/backport-6.12/780-03-v6.13-r8169-implement-additional-ethtool-stats-ops.patch


+ 0 - 0
target/linux/generic/backport-6.12/780-28-v6.13-r8169-don-t-take-RTNL-lock-in-rtl_task.patch → target/linux/generic/backport-6.12/780-04-v6.13-r8169-don-t-take-RTNL-lock-in-rtl_task.patch


+ 94 - 0
target/linux/generic/backport-6.12/780-05-v6.13-replace-custom-flag-with-disable_work-et-al.patch

@@ -0,0 +1,94 @@
+From e2015942e90a021151a5751776f35830ba063be7 Mon Sep 17 00:00:00 2001
+From: Heiner Kallweit <[email protected]>
+Date: Wed, 16 Oct 2024 22:06:53 +0200
+Subject: [PATCH] r8169: replace custom flag with disable_work() et al
+
+So far we use a custom flag to define when a task can be scheduled and
+when not. Let's use the standard mechanism with disable_work() et al
+instead.
+Note that in rtl8169_close() we can remove the call to cancel_work()
+because we now call disable_work_sync() in rtl8169_down() already.
+
+Signed-off-by: Heiner Kallweit <[email protected]>
+Signed-off-by: Andrew Lunn <[email protected]>
+---
+ drivers/net/ethernet/realtek/r8169_main.c | 18 ++++++------------
+ 1 file changed, 6 insertions(+), 12 deletions(-)
+
+--- a/drivers/net/ethernet/realtek/r8169_main.c
++++ b/drivers/net/ethernet/realtek/r8169_main.c
+@@ -617,7 +617,6 @@ struct rtl8169_tc_offsets {
+ };
+ 
+ enum rtl_flag {
+-	RTL_FLAG_TASK_ENABLED = 0,
+ 	RTL_FLAG_TASK_RESET_PENDING,
+ 	RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE,
+ 	RTL_FLAG_TASK_TX_TIMEOUT,
+@@ -2502,11 +2501,9 @@ u16 rtl8168h_2_get_adc_bias_ioffset(stru
+ 
+ static void rtl_schedule_task(struct rtl8169_private *tp, enum rtl_flag flag)
+ {
+-	if (!test_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags))
+-		return;
+-
+ 	set_bit(flag, tp->wk.flags);
+-	schedule_work(&tp->wk.work);
++	if (!schedule_work(&tp->wk.work))
++		clear_bit(flag, tp->wk.flags);
+ }
+ 
+ static void rtl8169_init_phy(struct rtl8169_private *tp)
+@@ -4800,9 +4797,6 @@ static void rtl_task(struct work_struct
+ 		container_of(work, struct rtl8169_private, wk.work);
+ 	int ret;
+ 
+-	if (!test_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags))
+-		return;
+-
+ 	if (test_and_clear_bit(RTL_FLAG_TASK_TX_TIMEOUT, tp->wk.flags)) {
+ 		/* if chip isn't accessible, reset bus to revive it */
+ 		if (RTL_R32(tp, TxConfig) == ~0) {
+@@ -4886,6 +4880,7 @@ static int r8169_phy_connect(struct rtl8
+ 
+ static void rtl8169_down(struct rtl8169_private *tp)
+ {
++	disable_work_sync(&tp->wk.work);
+ 	/* Clear all task flags */
+ 	bitmap_zero(tp->wk.flags, RTL_FLAG_MAX);
+ 
+@@ -4914,7 +4909,7 @@ static void rtl8169_up(struct rtl8169_pr
+ 	phy_resume(tp->phydev);
+ 	rtl8169_init_phy(tp);
+ 	napi_enable(&tp->napi);
+-	set_bit(RTL_FLAG_TASK_ENABLED, tp->wk.flags);
++	enable_work(&tp->wk.work);
+ 	rtl_reset_work(tp);
+ 
+ 	phy_start(tp->phydev);
+@@ -4931,8 +4926,6 @@ static int rtl8169_close(struct net_devi
+ 	rtl8169_down(tp);
+ 	rtl8169_rx_clear(tp);
+ 
+-	cancel_work(&tp->wk.work);
+-
+ 	free_irq(tp->irq, tp);
+ 
+ 	phy_disconnect(tp->phydev);
+@@ -5165,7 +5158,7 @@ static void rtl_remove_one(struct pci_de
+ 	if (pci_dev_run_wake(pdev))
+ 		pm_runtime_get_noresume(&pdev->dev);
+ 
+-	cancel_work_sync(&tp->wk.work);
++	disable_work_sync(&tp->wk.work);
+ 
+ 	if (IS_ENABLED(CONFIG_R8169_LEDS))
+ 		r8169_remove_leds(tp->leds);
+@@ -5542,6 +5535,7 @@ static int rtl_init_one(struct pci_dev *
+ 	tp->irq = pci_irq_vector(pdev, 0);
+ 
+ 	INIT_WORK(&tp->wk.work, rtl_task);
++	disable_work(&tp->wk.work);
+ 
+ 	rtl_init_mac_address(tp);
+ 

+ 0 - 0
target/linux/generic/backport-6.12/780-30-v6.13-r8169-avoid-duplicated-messages-if-loading-firmware-.patch → target/linux/generic/backport-6.12/780-06-v6.13-r8169-avoid-duplicated-messages-if-loading-firmware-.patch


+ 3 - 3
target/linux/generic/backport-6.12/780-31-v6.13-r8169-remove-rtl_dash_loop_wait_high-low.patch → target/linux/generic/backport-6.12/780-07-v6.13-r8169-remove-rtl_dash_loop_wait_high-low.patch

@@ -15,7 +15,7 @@ Signed-off-by: Andrew Lunn <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -1346,40 +1346,19 @@ static void rtl8168ep_stop_cmac(struct r
+@@ -1345,40 +1345,19 @@ static void rtl8168ep_stop_cmac(struct r
  	RTL_W8(tp, IBCR0, RTL_R8(tp, IBCR0) & ~0x01);
  }
  
@@ -60,7 +60,7 @@ Signed-off-by: Andrew Lunn <[email protected]>
  }
  
  static void rtl8168_driver_start(struct rtl8169_private *tp)
-@@ -1393,7 +1372,8 @@ static void rtl8168_driver_start(struct
+@@ -1392,7 +1371,8 @@ static void rtl8168_driver_start(struct
  static void rtl8168dp_driver_stop(struct rtl8169_private *tp)
  {
  	r8168dp_oob_notify(tp, OOB_CMD_DRIVER_STOP);
@@ -70,7 +70,7 @@ Signed-off-by: Andrew Lunn <[email protected]>
  }
  
  static void rtl8168ep_driver_stop(struct rtl8169_private *tp)
-@@ -1401,7 +1381,8 @@ static void rtl8168ep_driver_stop(struct
+@@ -1400,7 +1380,8 @@ static void rtl8168ep_driver_stop(struct
  	rtl8168ep_stop_cmac(tp);
  	r8168ep_ocp_write(tp, 0x01, 0x180, OOB_CMD_DRIVER_STOP);
  	r8168ep_ocp_write(tp, 0x01, 0x30, r8168ep_ocp_read(tp, 0x30) | 0x01);

+ 0 - 0
target/linux/generic/backport-6.12/780-32-v6.13-r8169-enable-EEE-at-2.5G-per-default-on-RTL8125B.patch → target/linux/generic/backport-6.12/780-08-v6.13-r8169-enable-EEE-at-2.5G-per-default-on-RTL8125B.patch


+ 7 - 7
target/linux/generic/backport-6.12/780-33-v6.13-r8169-add-support-for-RTL8125D.patch → target/linux/generic/backport-6.12/780-09-v6.13-r8169-add-support-for-RTL8125D.patch

@@ -45,7 +45,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	[RTL_GIGA_MAC_VER_65] = {"RTL8126A",		FIRMWARE_8126A_2},
  	[RTL_GIGA_MAC_VER_66] = {"RTL8126A",		FIRMWARE_8126A_3},
  };
-@@ -707,6 +709,7 @@ MODULE_FIRMWARE(FIRMWARE_8168FP_3);
+@@ -706,6 +708,7 @@ MODULE_FIRMWARE(FIRMWARE_8168FP_3);
  MODULE_FIRMWARE(FIRMWARE_8107E_2);
  MODULE_FIRMWARE(FIRMWARE_8125A_3);
  MODULE_FIRMWARE(FIRMWARE_8125B_2);
@@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  MODULE_FIRMWARE(FIRMWARE_8126A_2);
  MODULE_FIRMWARE(FIRMWARE_8126A_3);
  
-@@ -2079,10 +2082,7 @@ static void rtl_set_eee_txidle_timer(str
+@@ -2078,10 +2081,7 @@ static void rtl_set_eee_txidle_timer(str
  		tp->tx_lpi_timer = timer_val;
  		r8168_mac_ocp_write(tp, 0xe048, timer_val);
  		break;
@@ -65,7 +65,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		tp->tx_lpi_timer = timer_val;
  		RTL_W16(tp, EEE_TXIDLE_TIMER_8125, timer_val);
  		break;
-@@ -2293,6 +2293,9 @@ static enum mac_version rtl8169_get_mac_
+@@ -2292,6 +2292,9 @@ static enum mac_version rtl8169_get_mac_
  		{ 0x7cf, 0x64a,	RTL_GIGA_MAC_VER_66 },
  		{ 0x7cf, 0x649,	RTL_GIGA_MAC_VER_65 },
  
@@ -75,7 +75,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		/* 8125B family. */
  		{ 0x7cf, 0x641,	RTL_GIGA_MAC_VER_63 },
  
-@@ -2560,9 +2563,7 @@ static void rtl_init_rxcfg(struct rtl816
+@@ -2557,9 +2560,7 @@ static void rtl_init_rxcfg(struct rtl816
  	case RTL_GIGA_MAC_VER_61:
  		RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST);
  		break;
@@ -86,7 +86,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST |
  			RX_PAUSE_SLOT_ON);
  		break;
-@@ -3874,6 +3875,12 @@ static void rtl_hw_start_8125b(struct rt
+@@ -3871,6 +3872,12 @@ static void rtl_hw_start_8125b(struct rt
  	rtl_hw_start_8125_common(tp);
  }
  
@@ -99,7 +99,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  static void rtl_hw_start_8126a(struct rtl8169_private *tp)
  {
  	rtl_set_def_aspm_entry_latency(tp);
-@@ -3922,6 +3929,7 @@ static void rtl_hw_config(struct rtl8169
+@@ -3919,6 +3926,7 @@ static void rtl_hw_config(struct rtl8169
  		[RTL_GIGA_MAC_VER_53] = rtl_hw_start_8117,
  		[RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
  		[RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		[RTL_GIGA_MAC_VER_65] = rtl_hw_start_8126a,
  		[RTL_GIGA_MAC_VER_66] = rtl_hw_start_8126a,
  	};
-@@ -3939,6 +3947,7 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3936,6 +3944,7 @@ static void rtl_hw_start_8125(struct rtl
  	/* disable interrupt coalescing */
  	switch (tp->mac_version) {
  	case RTL_GIGA_MAC_VER_61:

+ 1 - 1
target/linux/generic/backport-6.12/780-34-v6.13-r8169-fix-inconsistent-indenting-in-rtl8169_get_eth_.patch → target/linux/generic/backport-6.12/780-10-v6.13-r8169-fix-inconsistent-indenting-in-rtl8169_get_eth_.patch

@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -2225,7 +2225,7 @@ static void rtl8169_get_eth_mac_stats(st
+@@ -2224,7 +2224,7 @@ static void rtl8169_get_eth_mac_stats(st
  		le64_to_cpu(tp->counters->tx_broadcast64);
  	mac_stats->MulticastFramesReceivedOK =
  		le64_to_cpu(tp->counters->rx_multicast64);

+ 0 - 0
target/linux/generic/backport-6.12/780-35-v6.13-r8169-align-RTL8125-EEE-config-with-vendor-driver.patch → target/linux/generic/backport-6.12/780-11-v6.13-r8169-align-RTL8125-EEE-config-with-vendor-driver.patch


+ 0 - 0
target/linux/generic/backport-6.12/780-36-v6.13-r8169-align-RTL8125-RTL8126-PHY-config-with-vendor-d.patch → target/linux/generic/backport-6.12/780-12-v6.13-r8169-align-RTL8125-RTL8126-PHY-config-with-vendor-d.patch


+ 0 - 0
target/linux/generic/backport-6.12/780-37-v6.13-r8169-align-RTL8126-EEE-config-with-vendor-driver.patch → target/linux/generic/backport-6.12/780-13-v6.13-r8169-align-RTL8126-EEE-config-with-vendor-driver.patch


+ 1 - 1
target/linux/generic/backport-6.12/780-38-v6.13-r8169-improve-initialization-of-RSS-registers-on-RTL.patch → target/linux/generic/backport-6.12/780-14-v6.13-r8169-improve-initialization-of-RSS-registers-on-RTL.patch

@@ -25,7 +25,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	EEE_TXIDLE_TIMER_8125	= 0x6048,
  };
  
-@@ -3768,8 +3770,8 @@ static void rtl_hw_start_8125_common(str
+@@ -3765,8 +3767,8 @@ static void rtl_hw_start_8125_common(str
  	rtl_pcie_state_l2l3_disable(tp);
  
  	RTL_W16(tp, 0x382, 0x221b);

+ 6 - 6
target/linux/generic/backport-6.12/780-39-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch → target/linux/generic/backport-6.12/780-15-v6.13-r8169-remove-leftover-locks-after-reverted-change.patch

@@ -15,7 +15,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -662,13 +662,9 @@ struct rtl8169_private {
+@@ -661,13 +661,9 @@ struct rtl8169_private {
  		struct work_struct work;
  	} wk;
  
@@ -29,7 +29,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	unsigned supports_gmii:1;
  	unsigned aspm_manageable:1;
  	unsigned dash_enabled:1;
-@@ -722,22 +718,12 @@ static inline struct device *tp_to_dev(s
+@@ -721,22 +717,12 @@ static inline struct device *tp_to_dev(s
  
  static void rtl_lock_config_regs(struct rtl8169_private *tp)
  {
@@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  }
  
  static void rtl_pci_commit(struct rtl8169_private *tp)
-@@ -748,24 +734,18 @@ static void rtl_pci_commit(struct rtl816
+@@ -747,24 +733,18 @@ static void rtl_pci_commit(struct rtl816
  
  static void rtl_mod_config2(struct rtl8169_private *tp, u8 clear, u8 set)
  {
@@ -79,7 +79,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  }
  
  static bool rtl_is_8125(struct rtl8169_private *tp)
-@@ -1571,7 +1551,6 @@ static void __rtl8169_set_wol(struct rtl
+@@ -1570,7 +1550,6 @@ static void __rtl8169_set_wol(struct rtl
  		{ WAKE_MAGIC, Config3, MagicPacket }
  	};
  	unsigned int i, tmp = ARRAY_SIZE(cfg);
@@ -87,7 +87,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	u8 options;
  
  	rtl_unlock_config_regs(tp);
-@@ -1590,14 +1569,12 @@ static void __rtl8169_set_wol(struct rtl
+@@ -1589,14 +1568,12 @@ static void __rtl8169_set_wol(struct rtl
  			r8168_mac_ocp_modify(tp, 0xc0b6, BIT(0), 0);
  	}
  
@@ -102,7 +102,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  	switch (tp->mac_version) {
  	case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06:
-@@ -5458,8 +5435,6 @@ static int rtl_init_one(struct pci_dev *
+@@ -5451,8 +5428,6 @@ static int rtl_init_one(struct pci_dev *
  	tp->supports_gmii = ent->driver_data == RTL_CFG_NO_GBIT ? 0 : 1;
  	tp->ocp_base = OCP_STD_PHY_BASE;
  

+ 2 - 2
target/linux/generic/backport-6.12/780-40-v6.13-r8169-improve-__rtl8169_set_wol.patch → target/linux/generic/backport-6.12/780-16-v6.13-r8169-improve-__rtl8169_set_wol.patch

@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -748,6 +748,20 @@ static void rtl_mod_config5(struct rtl81
+@@ -747,6 +747,20 @@ static void rtl_mod_config5(struct rtl81
  	RTL_W8(tp, Config5, (val & ~clear) | set);
  }
  
@@ -37,7 +37,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  static bool rtl_is_8125(struct rtl8169_private *tp)
  {
  	return tp->mac_version >= RTL_GIGA_MAC_VER_61;
-@@ -1538,58 +1552,37 @@ static void rtl8169_get_wol(struct net_d
+@@ -1537,58 +1551,37 @@ static void rtl8169_get_wol(struct net_d
  
  static void __rtl8169_set_wol(struct rtl8169_private *tp, u32 wolopts)
  {

+ 1 - 1
target/linux/generic/backport-6.12/780-41-v6.13-r8169-improve-rtl_set_d3_pll_down.patch → target/linux/generic/backport-6.12/780-17-v6.13-r8169-improve-rtl_set_d3_pll_down.patch

@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -1431,19 +1431,11 @@ static enum rtl_dash_type rtl_get_dash_t
+@@ -1430,19 +1430,11 @@ static enum rtl_dash_type rtl_get_dash_t
  
  static void rtl_set_d3_pll_down(struct rtl8169_private *tp, bool enable)
  {

+ 1 - 1
target/linux/generic/backport-6.12/780-42-v6.13-r8169-align-WAKE_PHY-handling-with-r8125-r8126-vendo.patch → target/linux/generic/backport-6.12/780-18-v6.13-r8169-align-WAKE_PHY-handling-with-r8125-r8126-vendo.patch

@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -1562,6 +1562,9 @@ static void __rtl8169_set_wol(struct rtl
+@@ -1561,6 +1561,9 @@ static void __rtl8169_set_wol(struct rtl
  	}
  
  	r8169_mod_reg8_cond(tp, Config3, LinkUp, wolopts & WAKE_PHY);

+ 1 - 1
target/linux/generic/backport-6.12/780-43-v6.13-r8169-use-helper-r8169_mod_reg8_cond-to-simplify-rtl.patch → target/linux/generic/backport-6.12/780-19-v6.13-r8169-use-helper-r8169_mod_reg8_cond-to-simplify-rtl.patch

@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -2545,86 +2545,31 @@ static void rtl8169_init_ring_indexes(st
+@@ -2542,86 +2542,31 @@ static void rtl8169_init_ring_indexes(st
  	tp->dirty_tx = tp->cur_tx = tp->cur_rx = 0;
  }
  

+ 1 - 1
target/linux/generic/backport-6.12/780-44-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch → target/linux/generic/backport-6.12/780-20-v6.13-r8169-copy-vendor-driver-2.5G-5G-EEE-advertisement-c.patch

@@ -22,7 +22,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5234,6 +5234,11 @@ static int r8169_mdio_register(struct rt
+@@ -5227,6 +5227,11 @@ static int r8169_mdio_register(struct rt
  		phy_support_eee(tp->phydev);
  	phy_support_asym_pause(tp->phydev);
  

+ 3 - 3
target/linux/generic/backport-6.12/780-45-v6.14-r8169-remove-unused-flag-RTL_FLAG_TASK_RESET_NO_QUEU.patch → target/linux/generic/backport-6.12/780-21-v6.14-r8169-remove-unused-flag-RTL_FLAG_TASK_RESET_NO_QUEU.patch

@@ -16,15 +16,15 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -623,7 +623,6 @@ struct rtl8169_tc_offsets {
+@@ -622,7 +622,6 @@ struct rtl8169_tc_offsets {
+ 
  enum rtl_flag {
- 	RTL_FLAG_TASK_ENABLED = 0,
  	RTL_FLAG_TASK_RESET_PENDING,
 -	RTL_FLAG_TASK_RESET_NO_QUEUE_WAKE,
  	RTL_FLAG_TASK_TX_TIMEOUT,
  	RTL_FLAG_MAX
  };
-@@ -4728,8 +4727,6 @@ static void rtl_task(struct work_struct
+@@ -4722,8 +4721,6 @@ static void rtl_task(struct work_struct
  reset:
  		rtl_reset_work(tp);
  		netif_wake_queue(tp->dev);

+ 5 - 5
target/linux/generic/backport-6.12/780-46-v6.14-r8169-remove-support-for-chip-version-11.patch → target/linux/generic/backport-6.12/780-22-v6.14-r8169-remove-support-for-chip-version-11.patch

@@ -38,7 +38,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	[RTL_GIGA_MAC_VER_14] = {"RTL8401"				},
  	[RTL_GIGA_MAC_VER_17] = {"RTL8168b/8111b"			},
  	[RTL_GIGA_MAC_VER_18] = {"RTL8168cp/8111cp"			},
-@@ -2335,7 +2334,7 @@ static enum mac_version rtl8169_get_mac_
+@@ -2334,7 +2333,7 @@ static enum mac_version rtl8169_get_mac_
  
  		/* 8168B family. */
  		{ 0x7c8, 0x380,	RTL_GIGA_MAC_VER_17 },
@@ -47,7 +47,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		 * { 0x7c8, 0x300,	RTL_GIGA_MAC_VER_11 },
  		 */
  
-@@ -3805,7 +3804,6 @@ static void rtl_hw_config(struct rtl8169
+@@ -3802,7 +3801,6 @@ static void rtl_hw_config(struct rtl8169
  		[RTL_GIGA_MAC_VER_08] = rtl_hw_start_8102e_3,
  		[RTL_GIGA_MAC_VER_09] = rtl_hw_start_8102e_2,
  		[RTL_GIGA_MAC_VER_10] = NULL,
@@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		[RTL_GIGA_MAC_VER_14] = rtl_hw_start_8401,
  		[RTL_GIGA_MAC_VER_17] = rtl_hw_start_8168b,
  		[RTL_GIGA_MAC_VER_18] = rtl_hw_start_8168cp_1,
-@@ -4681,12 +4679,6 @@ static irqreturn_t rtl8169_interrupt(int
+@@ -4678,12 +4676,6 @@ static irqreturn_t rtl8169_interrupt(int
  	if (status & LinkChg)
  		phy_mac_interrupt(tp->phydev);
  
@@ -68,7 +68,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	rtl_irq_disable(tp);
  	napi_schedule(&tp->napi);
  out:
-@@ -5106,9 +5098,6 @@ static void rtl_set_irq_mask(struct rtl8
+@@ -5099,9 +5091,6 @@ static void rtl_set_irq_mask(struct rtl8
  
  	if (tp->mac_version <= RTL_GIGA_MAC_VER_06)
  		tp->irq_mask |= SYSErr | RxFIFOOver;
@@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  }
  
  static int rtl_alloc_irq(struct rtl8169_private *tp)
-@@ -5302,7 +5291,6 @@ static int rtl_jumbo_max(struct rtl8169_
+@@ -5295,7 +5284,6 @@ static int rtl_jumbo_max(struct rtl8169_
  	case RTL_GIGA_MAC_VER_02 ... RTL_GIGA_MAC_VER_06:
  		return JUMBO_7K;
  	/* RTL8168b */

+ 20 - 20
target/linux/generic/backport-6.12/780-47-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch → target/linux/generic/backport-6.12/780-23-v6.14-r8169-adjust-version-numbering-for-RTL8126.patch

@@ -42,7 +42,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  };
  
  static const struct pci_device_id rtl8169_pci_tbl[] = {
-@@ -1228,7 +1228,7 @@ static void rtl_writephy(struct rtl8169_
+@@ -1227,7 +1227,7 @@ static void rtl_writephy(struct rtl8169_
  	case RTL_GIGA_MAC_VER_31:
  		r8168dp_2_mdio_write(tp, location, val);
  		break;
@@ -51,7 +51,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8168g_mdio_write(tp, location, val);
  		break;
  	default:
-@@ -1243,7 +1243,7 @@ static int rtl_readphy(struct rtl8169_pr
+@@ -1242,7 +1242,7 @@ static int rtl_readphy(struct rtl8169_pr
  	case RTL_GIGA_MAC_VER_28:
  	case RTL_GIGA_MAC_VER_31:
  		return r8168dp_2_mdio_read(tp, location);
@@ -60,7 +60,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		return r8168g_mdio_read(tp, location);
  	default:
  		return r8169_mdio_read(tp, location);
-@@ -1574,7 +1574,7 @@ static void __rtl8169_set_wol(struct rtl
+@@ -1573,7 +1573,7 @@ static void __rtl8169_set_wol(struct rtl
  		break;
  	case RTL_GIGA_MAC_VER_34:
  	case RTL_GIGA_MAC_VER_37:
@@ -69,7 +69,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8169_mod_reg8_cond(tp, Config2, PME_SIGNAL, wolopts);
  		break;
  	default:
-@@ -2047,7 +2047,7 @@ static void rtl_set_eee_txidle_timer(str
+@@ -2046,7 +2046,7 @@ static void rtl_set_eee_txidle_timer(str
  		tp->tx_lpi_timer = timer_val;
  		r8168_mac_ocp_write(tp, 0xe048, timer_val);
  		break;
@@ -78,7 +78,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		tp->tx_lpi_timer = timer_val;
  		RTL_W16(tp, EEE_TXIDLE_TIMER_8125, timer_val);
  		break;
-@@ -2255,8 +2255,8 @@ static enum mac_version rtl8169_get_mac_
+@@ -2254,8 +2254,8 @@ static enum mac_version rtl8169_get_mac_
  		enum mac_version ver;
  	} mac_info[] = {
  		/* 8126A family. */
@@ -89,7 +89,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  		/* 8125D family. */
  		{ 0x7cf, 0x688,	RTL_GIGA_MAC_VER_64 },
-@@ -2528,7 +2528,7 @@ static void rtl_init_rxcfg(struct rtl816
+@@ -2525,7 +2525,7 @@ static void rtl_init_rxcfg(struct rtl816
  	case RTL_GIGA_MAC_VER_61:
  		RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST);
  		break;
@@ -98,7 +98,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		RTL_W32(tp, RxConfig, RX_FETCH_DFLT_8125 | RX_DMA_BURST |
  			RX_PAUSE_SLOT_ON);
  		break;
-@@ -2660,7 +2660,7 @@ static void rtl_wait_txrx_fifo_empty(str
+@@ -2657,7 +2657,7 @@ static void rtl_wait_txrx_fifo_empty(str
  	case RTL_GIGA_MAC_VER_61 ... RTL_GIGA_MAC_VER_61:
  		rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
  		break;
@@ -107,7 +107,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
  		rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond, 100, 42);
  		rtl_loop_wait_high(tp, &rtl_rxtx_empty_cond_2, 100, 42);
-@@ -2903,7 +2903,7 @@ static void rtl_enable_exit_l1(struct rt
+@@ -2900,7 +2900,7 @@ static void rtl_enable_exit_l1(struct rt
  	case RTL_GIGA_MAC_VER_37 ... RTL_GIGA_MAC_VER_38:
  		rtl_eri_set_bits(tp, 0xd4, 0x0c00);
  		break;
@@ -116,7 +116,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8168_mac_ocp_modify(tp, 0xc0ac, 0, 0x1f80);
  		break;
  	default:
-@@ -2917,7 +2917,7 @@ static void rtl_disable_exit_l1(struct r
+@@ -2914,7 +2914,7 @@ static void rtl_disable_exit_l1(struct r
  	case RTL_GIGA_MAC_VER_34 ... RTL_GIGA_MAC_VER_38:
  		rtl_eri_clear_bits(tp, 0xd4, 0x1f00);
  		break;
@@ -125,7 +125,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8168_mac_ocp_modify(tp, 0xc0ac, 0x1f80, 0);
  		break;
  	default:
-@@ -2943,8 +2943,8 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2940,8 +2940,8 @@ static void rtl_hw_aspm_clkreq_enable(st
  
  		rtl_mod_config5(tp, 0, ASPM_en);
  		switch (tp->mac_version) {
@@ -136,7 +136,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  			val8 = RTL_R8(tp, INT_CFG0_8125) | INT_CFG0_CLKREQEN;
  			RTL_W8(tp, INT_CFG0_8125, val8);
  			break;
-@@ -2955,7 +2955,7 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2952,7 +2952,7 @@ static void rtl_hw_aspm_clkreq_enable(st
  
  		switch (tp->mac_version) {
  		case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48:
@@ -145,7 +145,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  			/* reset ephy tx/rx disable timer */
  			r8168_mac_ocp_modify(tp, 0xe094, 0xff00, 0);
  			/* chip can trigger L1.2 */
-@@ -2967,7 +2967,7 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2964,7 +2964,7 @@ static void rtl_hw_aspm_clkreq_enable(st
  	} else {
  		switch (tp->mac_version) {
  		case RTL_GIGA_MAC_VER_46 ... RTL_GIGA_MAC_VER_48:
@@ -154,7 +154,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  			r8168_mac_ocp_modify(tp, 0xe092, 0x00ff, 0);
  			break;
  		default:
-@@ -2975,8 +2975,8 @@ static void rtl_hw_aspm_clkreq_enable(st
+@@ -2972,8 +2972,8 @@ static void rtl_hw_aspm_clkreq_enable(st
  		}
  
  		switch (tp->mac_version) {
@@ -165,7 +165,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  			val8 = RTL_R8(tp, INT_CFG0_8125) & ~INT_CFG0_CLKREQEN;
  			RTL_W8(tp, INT_CFG0_8125, val8);
  			break;
-@@ -3696,12 +3696,12 @@ static void rtl_hw_start_8125_common(str
+@@ -3693,12 +3693,12 @@ static void rtl_hw_start_8125_common(str
  	/* disable new tx descriptor format */
  	r8168_mac_ocp_modify(tp, 0xeb58, 0x0001, 0x0000);
  
@@ -182,7 +182,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0400);
  	else if (tp->mac_version == RTL_GIGA_MAC_VER_63)
  		r8168_mac_ocp_modify(tp, 0xe614, 0x0700, 0x0200);
-@@ -3719,8 +3719,8 @@ static void rtl_hw_start_8125_common(str
+@@ -3716,8 +3716,8 @@ static void rtl_hw_start_8125_common(str
  	r8168_mac_ocp_modify(tp, 0xe056, 0x00f0, 0x0030);
  	r8168_mac_ocp_modify(tp, 0xe040, 0x1000, 0x0000);
  	r8168_mac_ocp_modify(tp, 0xea1c, 0x0003, 0x0001);
@@ -193,7 +193,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		r8168_mac_ocp_modify(tp, 0xea1c, 0x0300, 0x0000);
  	else
  		r8168_mac_ocp_modify(tp, 0xea1c, 0x0004, 0x0000);
-@@ -3839,8 +3839,8 @@ static void rtl_hw_config(struct rtl8169
+@@ -3836,8 +3836,8 @@ static void rtl_hw_config(struct rtl8169
  		[RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
  		[RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
  		[RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
@@ -204,7 +204,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	};
  
  	if (hw_configs[tp->mac_version])
-@@ -3861,8 +3861,8 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3858,8 +3858,8 @@ static void rtl_hw_start_8125(struct rtl
  			RTL_W32(tp, i, 0);
  		break;
  	case RTL_GIGA_MAC_VER_63:
@@ -215,7 +215,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		for (i = 0xa00; i < 0xa80; i += 4)
  			RTL_W32(tp, i, 0);
  		RTL_W16(tp, INT_CFG1_8125, 0x0000);
-@@ -4094,7 +4094,7 @@ static void rtl8169_cleanup(struct rtl81
+@@ -4091,7 +4091,7 @@ static void rtl8169_cleanup(struct rtl81
  		RTL_W8(tp, ChipCmd, RTL_R8(tp, ChipCmd) | StopReq);
  		rtl_loop_wait_high(tp, &rtl_txcfg_empty_cond, 100, 666);
  		break;
@@ -224,7 +224,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		rtl_enable_rxdvgate(tp);
  		fsleep(2000);
  		break;
-@@ -4251,7 +4251,7 @@ static unsigned int rtl_quirk_packet_pad
+@@ -4248,7 +4248,7 @@ static unsigned int rtl_quirk_packet_pad
  
  	switch (tp->mac_version) {
  	case RTL_GIGA_MAC_VER_34:
@@ -233,7 +233,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		padto = max_t(unsigned int, padto, ETH_ZLEN);
  		break;
  	default:
-@@ -5272,7 +5272,7 @@ static void rtl_hw_initialize(struct rtl
+@@ -5265,7 +5265,7 @@ static void rtl_hw_initialize(struct rtl
  	case RTL_GIGA_MAC_VER_40 ... RTL_GIGA_MAC_VER_48:
  		rtl_hw_init_8168g(tp);
  		break;

+ 4 - 4
target/linux/generic/backport-6.12/780-48-v6.14-r8169-add-support-for-RTL8125D-rev.b.patch → target/linux/generic/backport-6.12/780-24-v6.14-r8169-add-support-for-RTL8125D-rev.b.patch

@@ -46,7 +46,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	[RTL_GIGA_MAC_VER_70] = {"RTL8126A",		FIRMWARE_8126A_2},
  	[RTL_GIGA_MAC_VER_71] = {"RTL8126A",		FIRMWARE_8126A_3},
  };
-@@ -706,6 +708,7 @@ MODULE_FIRMWARE(FIRMWARE_8107E_2);
+@@ -705,6 +707,7 @@ MODULE_FIRMWARE(FIRMWARE_8107E_2);
  MODULE_FIRMWARE(FIRMWARE_8125A_3);
  MODULE_FIRMWARE(FIRMWARE_8125B_2);
  MODULE_FIRMWARE(FIRMWARE_8125D_1);
@@ -54,7 +54,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  MODULE_FIRMWARE(FIRMWARE_8126A_2);
  MODULE_FIRMWARE(FIRMWARE_8126A_3);
  
-@@ -2259,6 +2262,7 @@ static enum mac_version rtl8169_get_mac_
+@@ -2258,6 +2261,7 @@ static enum mac_version rtl8169_get_mac_
  		{ 0x7cf, 0x649,	RTL_GIGA_MAC_VER_70 },
  
  		/* 8125D family. */
@@ -62,7 +62,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		{ 0x7cf, 0x688,	RTL_GIGA_MAC_VER_64 },
  
  		/* 8125B family. */
-@@ -3839,6 +3843,7 @@ static void rtl_hw_config(struct rtl8169
+@@ -3836,6 +3840,7 @@ static void rtl_hw_config(struct rtl8169
  		[RTL_GIGA_MAC_VER_61] = rtl_hw_start_8125a_2,
  		[RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
  		[RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
@@ -70,7 +70,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  		[RTL_GIGA_MAC_VER_70] = rtl_hw_start_8126a,
  		[RTL_GIGA_MAC_VER_71] = rtl_hw_start_8126a,
  	};
-@@ -3857,6 +3862,7 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3854,6 +3859,7 @@ static void rtl_hw_start_8125(struct rtl
  	switch (tp->mac_version) {
  	case RTL_GIGA_MAC_VER_61:
  	case RTL_GIGA_MAC_VER_64:

+ 9 - 9
target/linux/generic/backport-6.12/780-49-v6.14-r8169-add-support-for-RTL8125BP-rev.b.patch → target/linux/generic/backport-6.12/780-25-v6.14-r8169-add-support-for-RTL8125BP-rev.b.patch

@@ -44,7 +44,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	[RTL_GIGA_MAC_VER_70] = {"RTL8126A",		FIRMWARE_8126A_2},
  	[RTL_GIGA_MAC_VER_71] = {"RTL8126A",		FIRMWARE_8126A_3},
  };
-@@ -632,6 +634,7 @@ enum rtl_dash_type {
+@@ -631,6 +633,7 @@ enum rtl_dash_type {
  	RTL_DASH_NONE,
  	RTL_DASH_DP,
  	RTL_DASH_EP,
@@ -52,7 +52,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  };
  
  struct rtl8169_private {
-@@ -709,6 +712,7 @@ MODULE_FIRMWARE(FIRMWARE_8125A_3);
+@@ -708,6 +711,7 @@ MODULE_FIRMWARE(FIRMWARE_8125A_3);
  MODULE_FIRMWARE(FIRMWARE_8125B_2);
  MODULE_FIRMWARE(FIRMWARE_8125D_1);
  MODULE_FIRMWARE(FIRMWARE_8125D_2);
@@ -60,7 +60,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  MODULE_FIRMWARE(FIRMWARE_8126A_2);
  MODULE_FIRMWARE(FIRMWARE_8126A_3);
  
-@@ -1361,10 +1365,19 @@ static void rtl8168ep_driver_start(struc
+@@ -1360,10 +1364,19 @@ static void rtl8168ep_driver_start(struc
  		rtl_loop_wait_high(tp, &rtl_ep_ocp_read_cond, 10000, 30);
  }
  
@@ -80,7 +80,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	else
  		rtl8168ep_driver_start(tp);
  }
-@@ -1385,10 +1398,19 @@ static void rtl8168ep_driver_stop(struct
+@@ -1384,10 +1397,19 @@ static void rtl8168ep_driver_stop(struct
  		rtl_loop_wait_low(tp, &rtl_ep_ocp_read_cond, 10000, 10);
  }
  
@@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	else
  		rtl8168ep_driver_stop(tp);
  }
-@@ -1411,6 +1433,7 @@ static bool rtl_dash_is_enabled(struct r
+@@ -1410,6 +1432,7 @@ static bool rtl_dash_is_enabled(struct r
  	case RTL_DASH_DP:
  		return r8168dp_check_dash(tp);
  	case RTL_DASH_EP:
@@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		return r8168ep_check_dash(tp);
  	default:
  		return false;
-@@ -1425,6 +1448,8 @@ static enum rtl_dash_type rtl_get_dash_t
+@@ -1424,6 +1447,8 @@ static enum rtl_dash_type rtl_get_dash_t
  		return RTL_DASH_DP;
  	case RTL_GIGA_MAC_VER_51 ... RTL_GIGA_MAC_VER_53:
  		return RTL_DASH_EP;
@@ -117,7 +117,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	default:
  		return RTL_DASH_NONE;
  	}
-@@ -2261,6 +2286,9 @@ static enum mac_version rtl8169_get_mac_
+@@ -2260,6 +2285,9 @@ static enum mac_version rtl8169_get_mac_
  		{ 0x7cf, 0x64a,	RTL_GIGA_MAC_VER_71 },
  		{ 0x7cf, 0x649,	RTL_GIGA_MAC_VER_70 },
  
@@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		/* 8125D family. */
  		{ 0x7cf, 0x689,	RTL_GIGA_MAC_VER_65 },
  		{ 0x7cf, 0x688,	RTL_GIGA_MAC_VER_64 },
-@@ -3844,6 +3872,7 @@ static void rtl_hw_config(struct rtl8169
+@@ -3841,6 +3869,7 @@ static void rtl_hw_config(struct rtl8169
  		[RTL_GIGA_MAC_VER_63] = rtl_hw_start_8125b,
  		[RTL_GIGA_MAC_VER_64] = rtl_hw_start_8125d,
  		[RTL_GIGA_MAC_VER_65] = rtl_hw_start_8125d,
@@ -135,7 +135,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		[RTL_GIGA_MAC_VER_70] = rtl_hw_start_8126a,
  		[RTL_GIGA_MAC_VER_71] = rtl_hw_start_8126a,
  	};
-@@ -3863,6 +3892,7 @@ static void rtl_hw_start_8125(struct rtl
+@@ -3860,6 +3889,7 @@ static void rtl_hw_start_8125(struct rtl
  	case RTL_GIGA_MAC_VER_61:
  	case RTL_GIGA_MAC_VER_64:
  	case RTL_GIGA_MAC_VER_65:

+ 0 - 0
target/linux/generic/backport-6.12/780-50-v6.15-r8169-make-Kconfig-option-for-LED-support-user-visib.patch → target/linux/generic/backport-6.12/780-26-v6.15-r8169-make-Kconfig-option-for-LED-support-user-visib.patch


+ 1 - 1
target/linux/generic/backport-6.12/780-51-v6.15-r8169-don-t-scan-PHY-addresses-0.patch → target/linux/generic/backport-6.12/780-27-v6.15-r8169-don-t-scan-PHY-addresses-0.patch

@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5229,6 +5229,7 @@ static int r8169_mdio_register(struct rt
+@@ -5222,6 +5222,7 @@ static int r8169_mdio_register(struct rt
  	new_bus->priv = tp;
  	new_bus->parent = &pdev->dev;
  	new_bus->irq[0] = PHY_MAC_INTERRUPT;

+ 0 - 0
target/linux/generic/backport-6.12/780-52-v6.15-r8169-add-support-for-Intel-Killer-E5000.patch → target/linux/generic/backport-6.12/780-28-v6.15-r8169-add-support-for-Intel-Killer-E5000.patch


+ 2 - 2
target/linux/generic/backport-6.12/780-53-v6.15-r8169-add-PHY-c45-ops-for-MDIO_MMD_VENDOR2-registers.patch → target/linux/generic/backport-6.12/780-29-v6.15-r8169-add-PHY-c45-ops-for-MDIO_MMD_VENDOR2-registers.patch

@@ -19,7 +19,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5207,6 +5207,33 @@ static int r8169_mdio_write_reg(struct m
+@@ -5200,6 +5200,33 @@ static int r8169_mdio_write_reg(struct m
  	return 0;
  }
  
@@ -53,7 +53,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  static int r8169_mdio_register(struct rtl8169_private *tp)
  {
  	struct pci_dev *pdev = tp->pci_dev;
-@@ -5237,6 +5264,11 @@ static int r8169_mdio_register(struct rt
+@@ -5230,6 +5257,11 @@ static int r8169_mdio_register(struct rt
  	new_bus->read = r8169_mdio_read_reg;
  	new_bus->write = r8169_mdio_write_reg;
  

+ 1 - 1
target/linux/generic/backport-6.12/780-54-v6.15-r8169-increase-max-jumbo-packet-size-on-RTL8125-RTL8.patch → target/linux/generic/backport-6.12/780-30-v6.15-r8169-increase-max-jumbo-packet-size-on-RTL8125-RTL8.patch

@@ -28,7 +28,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  
  static const struct {
  	const char *name;
-@@ -5366,6 +5367,9 @@ static int rtl_jumbo_max(struct rtl8169_
+@@ -5359,6 +5360,9 @@ static int rtl_jumbo_max(struct rtl8169_
  	/* RTL8168c */
  	case RTL_GIGA_MAC_VER_18 ... RTL_GIGA_MAC_VER_24:
  		return JUMBO_6K;

+ 35 - 0
target/linux/generic/backport-6.12/780-31-v6.15-r8169-switch-away-from-deprecated-pcim_iomap_table.patch

@@ -0,0 +1,35 @@
+From 34e5ededf4b8ad4c9e58f0cab8596e26c8fa59a2 Mon Sep 17 00:00:00 2001
+From: Heiner Kallweit <[email protected]>
+Date: Wed, 12 Mar 2025 20:21:42 +0100
+Subject: [PATCH] r8169: switch away from deprecated pcim_iomap_table
+
+Avoid using deprecated pcim_iomap_table by switching to
+pcim_iomap_region.
+
+Signed-off-by: Heiner Kallweit <[email protected]>
+Reviewed-by: Jacob Keller <[email protected]>
+Reviewed-by: Simon Horman <[email protected]>
+Link: https://patch.msgid.link/[email protected]
+Signed-off-by: Paolo Abeni <[email protected]>
+---
+ drivers/net/ethernet/realtek/r8169_main.c | 9 ++++-----
+ 1 file changed, 4 insertions(+), 5 deletions(-)
+
+--- a/drivers/net/ethernet/realtek/r8169_main.c
++++ b/drivers/net/ethernet/realtek/r8169_main.c
+@@ -5446,11 +5446,10 @@ static int rtl_init_one(struct pci_dev *
+ 	if (region < 0)
+ 		return dev_err_probe(&pdev->dev, -ENODEV, "no MMIO resource found\n");
+ 
+-	rc = pcim_iomap_regions(pdev, BIT(region), KBUILD_MODNAME);
+-	if (rc < 0)
+-		return dev_err_probe(&pdev->dev, rc, "cannot remap MMIO, aborting\n");
+-
+-	tp->mmio_addr = pcim_iomap_table(pdev)[region];
++	tp->mmio_addr = pcim_iomap_region(pdev, region, KBUILD_MODNAME);
++	if (IS_ERR(tp->mmio_addr))
++		return dev_err_probe(&pdev->dev, PTR_ERR(tp->mmio_addr),
++				     "cannot remap MMIO, aborting\n");
+ 
+ 	txconfig = RTL_R32(tp, TxConfig);
+ 	if (txconfig == ~0U)

+ 1 - 1
target/linux/generic/backport-6.12/780-55-v6.15-r8169-enable-RTL8168H-RTL8168EP-RTL8168FP-ASPM-suppo.patch → target/linux/generic/backport-6.12/780-32-v6.15-r8169-enable-RTL8168H-RTL8168EP-RTL8168FP-ASPM-suppo.patch

@@ -16,7 +16,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -5404,7 +5404,7 @@ done:
+@@ -5397,7 +5397,7 @@ done:
  /* register is set if system vendor successfully tested ASPM 1.2 */
  static bool rtl_aspm_is_safe(struct rtl8169_private *tp)
  {

+ 2 - 2
target/linux/generic/backport-6.12/780-56-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch → target/linux/generic/backport-6.12/780-33-v6.15-r8169-disable-RTL8126-ZRX-DC-timeout.patch

@@ -17,7 +17,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/drivers/net/ethernet/realtek/r8169_main.c
 +++ b/drivers/net/ethernet/realtek/r8169_main.c
-@@ -2855,6 +2855,32 @@ static u32 rtl_csi_read(struct rtl8169_p
+@@ -2852,6 +2852,32 @@ static u32 rtl_csi_read(struct rtl8169_p
  		RTL_R32(tp, CSIDR) : ~0;
  }
  
@@ -50,7 +50,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  static void rtl_set_aspm_entry_latency(struct rtl8169_private *tp, u8 val)
  {
  	struct pci_dev *pdev = tp->pci_dev;
-@@ -3827,6 +3853,7 @@ static void rtl_hw_start_8125d(struct rt
+@@ -3824,6 +3850,7 @@ static void rtl_hw_start_8125d(struct rt
  
  static void rtl_hw_start_8126a(struct rtl8169_private *tp)
  {