On Fri, Aug 04, 2023 at 08:55:58PM +0000, Hawkins, Nick wrote: > Greetings Andrew, > > For some reason I do not see your replies for v1 of this patch or > the mdio driver on lore.kernel. Apologies as I did not intend to > not address your previous review comments. My mistake. > > >> +static int umac_int_phy_init(struct umac_priv *umac) > >> +{ > >> + struct phy_device *phy_dev = umac->int_phy_dev; > >> + unsigned int value; > >> + > >> + value = phy_read(phy_dev, 0); > >> + if (value & 0x4000) > >> + pr_info("Internal PHY loopback is enabled - clearing\n"); > > > How is the PHY getting into loopback mode? The MAC driver should never > > touch the PHY, because you have no idea what the PHY actually is, > > unless it is internal. > > It would only be in loopback mode if it was previously configured > that way. I will remove it. The PHY is internal to the ASIC > and is always the same. Given that information is it acceptable Hi Nick So what you call a PHY is probably a PCS. Please look at the API used in driver/net/pcs/. The real PHYs are external. Given that this is a BMC, you probably have lots of i2c busses. So you can support an SFP on the SERDES. So it would be better if you used the phylink interface, not phylib. This should also solve your interface mode switching. Andrew