| From | Sean Anderson <> | Subject | [PATCH net-next v3 10/47] net: phylink: Adjust link settings based on rate adaptation | Date | Fri, 15 Jul 2022 17:59:17 -0400 |
| |
If the phy is configured to use pause-based rate adaptation, ensure that the link is full duplex with pause frame reception enabled. Note that these settings may be overridden by ethtool.
Signed-off-by: Sean Anderson <sean.anderson@seco.com> ---
Changes in v3: - New
drivers/net/phy/phylink.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 7fa21941878e..7f65413aa778 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -1445,6 +1445,10 @@ static void phylink_phy_change(struct phy_device *phydev, bool up) pl->phy_state.speed = phy_interface_speed(phydev->interface, phydev->speed); pl->phy_state.duplex = phydev->duplex; + if (phydev->rate_adaptation == RATE_ADAPT_PAUSE) { + pl->phy_state.duplex = DUPLEX_FULL; + rx_pause = true; + } pl->phy_state.pause = MLO_PAUSE_NONE; if (tx_pause) pl->phy_state.pause |= MLO_PAUSE_TX; -- 2.35.1.1320.gc452695387.dirty
|