Re: [PATCH net-next 3/5] net: lan966x: add port module support

From: Russell King (Oracle)
Date: Thu Nov 18 2021 - 04:59:55 EST


On Thu, Nov 18, 2021 at 10:57:03AM +0100, Horatiu Vultur wrote:
> > > +static void decode_sgmii_word(u16 lp_abil, struct lan966x_port_status *status)
> > > +{
> > > + status->an_complete = true;
> > > + if (!(lp_abil & LPA_SGMII_LINK)) {
> > > + status->link = false;
> > > + return;
> > > + }
> > > +
> > > + switch (lp_abil & LPA_SGMII_SPD_MASK) {
> > > + case LPA_SGMII_10:
> > > + status->speed = SPEED_10;
> > > + break;
> > > + case LPA_SGMII_100:
> > > + status->speed = SPEED_100;
> > > + break;
> > > + case LPA_SGMII_1000:
> > > + status->speed = SPEED_1000;
> > > + break;
> > > + default:
> > > + status->link = false;
> > > + return;
> > > + }
> > > + if (lp_abil & LPA_SGMII_FULL_DUPLEX)
> > > + status->duplex = DUPLEX_FULL;
> > > + else
> > > + status->duplex = DUPLEX_HALF;
> > > +}
> >
> > The above mentioned function will also handle SGMII as well.
>
> I noticed that you have phylink_decode_sgmii_work(), so I will try to
> export it also.

Another approach would be to split phylink_mii_c22_pcs_decode_state()
so that the appropriate decode function is selected depending on the
interface state, which may be a better idea.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!