724-net-phy-realtek-use-genphy_soft_reset-for-2.5G-PHYs.patch 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. From 85cd45580f5e3b26068cccb7d6173f200e754dc0 Mon Sep 17 00:00:00 2001
  2. From: Daniel Golle <[email protected]>
  3. Date: Sun, 2 Apr 2023 23:56:16 +0100
  4. Subject: [PATCH 1/2] net: phy: realtek: use genphy_soft_reset for 2.5G PHYs
  5. Some vendor bootloaders do weird things with those PHYs which result in
  6. link modes being reported wrongly. Start from a clean sheet by resetting
  7. the PHY.
  8. Reported-by: Yevhen Kolomeiko <[email protected]>
  9. Signed-off-by: Daniel Golle <[email protected]>
  10. ---
  11. drivers/net/phy/realtek.c | 6 ++++++
  12. 1 file changed, 6 insertions(+)
  13. --- a/drivers/net/phy/realtek.c
  14. +++ b/drivers/net/phy/realtek.c
  15. @@ -1070,6 +1070,7 @@ static struct phy_driver realtek_drvs[]
  16. .write_page = rtl821x_write_page,
  17. .read_mmd = rtl822x_read_mmd,
  18. .write_mmd = rtl822x_write_mmd,
  19. + .soft_reset = genphy_soft_reset,
  20. }, {
  21. PHY_ID_MATCH_EXACT(0x001cc840),
  22. .name = "RTL8226B_RTL8221B 2.5Gbps PHY",
  23. @@ -1082,6 +1083,7 @@ static struct phy_driver realtek_drvs[]
  24. .write_page = rtl821x_write_page,
  25. .read_mmd = rtl822x_read_mmd,
  26. .write_mmd = rtl822x_write_mmd,
  27. + .soft_reset = genphy_soft_reset,
  28. }, {
  29. PHY_ID_MATCH_EXACT(0x001cc838),
  30. .name = "RTL8226-CG 2.5Gbps PHY",
  31. @@ -1092,6 +1094,7 @@ static struct phy_driver realtek_drvs[]
  32. .resume = rtlgen_resume,
  33. .read_page = rtl821x_read_page,
  34. .write_page = rtl821x_write_page,
  35. + .soft_reset = genphy_soft_reset,
  36. }, {
  37. PHY_ID_MATCH_EXACT(0x001cc848),
  38. .name = "RTL8226B-CG_RTL8221B-CG 2.5Gbps PHY",
  39. @@ -1102,6 +1105,7 @@ static struct phy_driver realtek_drvs[]
  40. .resume = rtlgen_resume,
  41. .read_page = rtl821x_read_page,
  42. .write_page = rtl821x_write_page,
  43. + .soft_reset = genphy_soft_reset,
  44. }, {
  45. PHY_ID_MATCH_EXACT(0x001cc849),
  46. .name = "RTL8221B-VB-CG 2.5Gbps PHY",
  47. @@ -1113,6 +1117,7 @@ static struct phy_driver realtek_drvs[]
  48. .resume = rtlgen_resume,
  49. .read_page = rtl821x_read_page,
  50. .write_page = rtl821x_write_page,
  51. + .soft_reset = genphy_soft_reset,
  52. }, {
  53. PHY_ID_MATCH_EXACT(0x001cc84a),
  54. .name = "RTL8221B-VM-CG 2.5Gbps PHY",
  55. @@ -1124,6 +1129,7 @@ static struct phy_driver realtek_drvs[]
  56. .resume = rtlgen_resume,
  57. .read_page = rtl821x_read_page,
  58. .write_page = rtl821x_write_page,
  59. + .soft_reset = genphy_soft_reset,
  60. }, {
  61. PHY_ID_MATCH_EXACT(0x001cc961),
  62. .name = "RTL8366RB Gigabit Ethernet",