Backport phylink patches for PCS/PHY caps OPs. This makes it easier to align future generic PCS patch and permit supporting special PHY that needs specific tune if "in-band" mode is enabled (for example Aeonsemi PHYs) This is also mainly using the upstream version of the Mediatek patch 739-net-add-negotiation-of-in-band-capabilities. All affected patch automatically refreshed. Link: https://github.com/openwrt/openwrt/pull/20461 Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
41 lines
1.4 KiB
Diff
41 lines
1.4 KiB
Diff
From 8cc5f4cb94c0b1c7c1ba8013c14fd02ffb1a25f3 Mon Sep 17 00:00:00 2001
|
|
From: "Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>
|
|
Date: Fri, 8 Nov 2024 16:01:44 +0000
|
|
Subject: [PATCH 1/5] net: phylink: move manual flow control setting
|
|
|
|
Move the handling of manual flow control configuration to a common
|
|
location during resolve. We currently evaluate this for all but
|
|
fixed links.
|
|
|
|
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
|
|
Link: https://patch.msgid.link/E1t9RQe-002Feh-T1@rmk-PC.armlinux.org.uk
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/phy/phylink.c | 5 +++--
|
|
1 file changed, 3 insertions(+), 2 deletions(-)
|
|
|
|
--- a/drivers/net/phy/phylink.c
|
|
+++ b/drivers/net/phy/phylink.c
|
|
@@ -1433,7 +1433,6 @@ static void phylink_resolve(struct work_
|
|
switch (pl->cur_link_an_mode) {
|
|
case MLO_AN_PHY:
|
|
link_state = pl->phy_state;
|
|
- phylink_apply_manual_flow(pl, &link_state);
|
|
mac_config = link_state.link;
|
|
break;
|
|
|
|
@@ -1494,11 +1493,13 @@ static void phylink_resolve(struct work_
|
|
link_state.pause = pl->phy_state.pause;
|
|
mac_config = true;
|
|
}
|
|
- phylink_apply_manual_flow(pl, &link_state);
|
|
break;
|
|
}
|
|
}
|
|
|
|
+ if (pl->cur_link_an_mode != MLO_AN_FIXED)
|
|
+ phylink_apply_manual_flow(pl, &link_state);
|
|
+
|
|
if (mac_config) {
|
|
if (link_state.interface != pl->link_config.interface) {
|
|
/* The interface has changed, force the link down and
|