Configure autoneg for phy connected CPU ports. This allows us to use autoneg between the CPU port's phy and the link partner's phy. This enables us to negoatiate pause frame transmission to prioritise packet delivery over throughput.
Signed-off-by: Robert Beckett <bob.beck...@collabora.com> --- net/dsa/port.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/net/dsa/port.c b/net/dsa/port.c index f071acf2842b..1b6832eac2c5 100644 --- a/net/dsa/port.c +++ b/net/dsa/port.c @@ -538,10 +538,20 @@ static int dsa_port_setup_phy_of(struct dsa_port *dp, bool enable) return PTR_ERR(phydev); if (enable) { + phydev->supported = PHY_GBIT_FEATURES | SUPPORTED_MII | + SUPPORTED_AUI | SUPPORTED_FIBRE | + SUPPORTED_BNC | SUPPORTED_Pause | + SUPPORTED_Asym_Pause; + phydev->advertising = phydev->supported; + err = genphy_config_init(phydev); if (err < 0) goto err_put_dev; + err = genphy_config_aneg(phydev); + if (err < 0) + goto err_put_dev; + err = genphy_resume(phydev); if (err < 0) goto err_put_dev; -- 2.18.0