On Sun, Mar 21, 2021 at 07:44:19PM +0200, Vladimir Oltean wrote: > On Sun, Mar 21, 2021 at 05:25:00PM +0100, Pavel Machek wrote: > > Bitfield manipulation in enetc_mac_config() looks wrong. Fix > > it. Untested. > > > > Signed-off-by: Pavel Machek (CIP) <pa...@denx.de> > > > > diff --git a/drivers/net/ethernet/freescale/enetc/enetc_pf.c > > b/drivers/net/ethernet/freescale/enetc/enetc_pf.c > > index 224fc37a6757..b85079493933 100644 > > --- a/drivers/net/ethernet/freescale/enetc/enetc_pf.c > > +++ b/drivers/net/ethernet/freescale/enetc/enetc_pf.c > > @@ -505,7 +505,7 @@ static void enetc_mac_config(struct enetc_hw *hw, > > phy_interface_t phy_mode) > > if (phy_interface_mode_is_rgmii(phy_mode)) { > > val = enetc_port_rd(hw, ENETC_PM0_IF_MODE); > > val &= ~ENETC_PM0_IFM_EN_AUTO; > > - val &= ENETC_PM0_IFM_IFMODE_MASK; > > + val &= ~ENETC_PM0_IFM_IFMODE_MASK; > > val |= ENETC_PM0_IFM_IFMODE_GMII | ENETC_PM0_IFM_RG; > > enetc_port_wr(hw, ENETC_PM0_IF_MODE, val); > > } > > > > -- > > DENX Software Engineering GmbH, Managing Director: Wolfgang Denk > > HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany > > Fixes: c76a97218dcb ("net: enetc: force the RGMII speed and duplex instead of > operating in inband mode") > Reviewed-by: Vladimir Oltean <vladimir.olt...@nxp.com> > > Note that for normal operation, the bug was inconsequential, due to the > fact that we write the IF_MODE register in two stages, first in > .phylink_mac_config (which incorrectly cleared out a bunch of stuff), > then we update the speed and duplex to the correct values in > .phylink_mac_link_up. Maybe loopback mode was broken. > > Thanks!
I forgot to mention, target tree should be "net" and patch should be queued up for stable.