Hi Ramon, On Tue, Sep 28, 2021 at 04:34:58PM +0300, Ramon Fried wrote: > On Tue, Sep 28, 2021 at 2:48 AM Vladimir Oltean <vladimir.olt...@nxp.com> > wrote: > > > > Instead of trying to guess which operating modes need in-band > > negotiation to be active and which ones don't, parse the available > > information from the device tree. That will be correct in the cases we > > can already guess, and more. > > > > Signed-off-by: Vladimir Oltean <vladimir.olt...@nxp.com> > > --- > > drivers/net/mscc_eswitch/felix_switch.c | 10 ++++------ > > 1 file changed, 4 insertions(+), 6 deletions(-) > > > > diff --git a/drivers/net/mscc_eswitch/felix_switch.c > > b/drivers/net/mscc_eswitch/felix_switch.c > > index 6aa79784460d..1df7d03fc40c 100644 > > --- a/drivers/net/mscc_eswitch/felix_switch.c > > +++ b/drivers/net/mscc_eswitch/felix_switch.c > > @@ -16,6 +16,7 @@ > > */ > > > > #include <dm/device_compat.h> > > +#include <dm/of_extra.h> > > #include <linux/delay.h> > > #include <net/dsa.h> > > #include <asm/io.h> > > @@ -210,17 +211,14 @@ static int felix_init_sxgmii(struct mii_dev *imdio, > > int pidx) > > static void felix_start_pcs(struct udevice *dev, int port, > > struct phy_device *phy, struct mii_dev *imdio) > > { > > - bool autoneg = true; > > - > > - if (phy->phy_id == PHY_FIXED_ID || > > - phy->interface == PHY_INTERFACE_MODE_SGMII_2500)
Thanks a lot for the quick review and for merging a large portion of the changes. This patch now conflicts with commit 7c2d5d1642cb ("net: freescale: replace usage of phy-mode = "sgmii-2500" with "2500base-x""), because the phy->interface is now PHY_INTERFACE_MODE_2500BASEX. Would you like me to resend this series so that it applies cleanly? There is also one other change I would like to make in the sja1105 driver, and I will also try to split it up in two, to avoid breaking the 100KB email limit which triggers mailing list moderation warnings. > > - autoneg = false; > > + ofnode node = dsa_port_get_ofnode(dev, port); > > + bool inband_an = ofnode_eth_uses_inband_aneg(node); > > > > switch (phy->interface) { > > case PHY_INTERFACE_MODE_SGMII: > > case PHY_INTERFACE_MODE_SGMII_2500: > > case PHY_INTERFACE_MODE_QSGMII: > > - felix_init_sgmii(imdio, port, autoneg); > > + felix_init_sgmii(imdio, port, inband_an); > > break; > > case PHY_INTERFACE_MODE_XGMII: > > case PHY_INTERFACE_MODE_XFI: > > -- > > 2.25.1 > > > Reviewed-by: Ramon Fried <rfried....@gmail.com>