Message ID | 20231226083432.24920-1-quic_snehshah@quicinc.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [net,v2] net: stmmac: Fix ethool link settings ops for integrated PCS | expand |
On Tue, Dec 26, 2023 at 02:04:32PM +0530, Sneh Shah wrote: > Currently get/set_link_ksettings ethtool ops are dependent on PCS. > When PCS is integrated, it will not have separate link config. > Bypass configuring and checking PCS for integrated PCS. > > Fixes: ("aa571b6275fb net: stmmac: add new switch to struct plat_stmmacenet_data") Nit: a correct format for the line above is: Fixes: aa571b6275fb ("net: stmmac: add new switch to struct plat_stmmacenet_data") > Tested-by: Andrew Halaney <ahalaney@redhat.com> # sa8775p-ride > Signed-off-by: Sneh Shah <quic_snehshah@quicinc.com> ...
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c index f628411ae4ae..e3ba4cd47b8d 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_ethtool.c @@ -311,8 +311,9 @@ static int stmmac_ethtool_get_link_ksettings(struct net_device *dev, { struct stmmac_priv *priv = netdev_priv(dev); - if (priv->hw->pcs & STMMAC_PCS_RGMII || - priv->hw->pcs & STMMAC_PCS_SGMII) { + if (!(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS) && + (priv->hw->pcs & STMMAC_PCS_RGMII || + priv->hw->pcs & STMMAC_PCS_SGMII)) { struct rgmii_adv adv; u32 supported, advertising, lp_advertising; @@ -397,8 +398,9 @@ stmmac_ethtool_set_link_ksettings(struct net_device *dev, { struct stmmac_priv *priv = netdev_priv(dev); - if (priv->hw->pcs & STMMAC_PCS_RGMII || - priv->hw->pcs & STMMAC_PCS_SGMII) { + if (!(priv->plat->flags & STMMAC_FLAG_HAS_INTEGRATED_PCS) && + (priv->hw->pcs & STMMAC_PCS_RGMII || + priv->hw->pcs & STMMAC_PCS_SGMII)) { /* Only support ANE */ if (cmd->base.autoneg != AUTONEG_ENABLE) return -EINVAL;