The 11/18/2021 09:59, Russell King (Oracle) wrote: > > 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. I have tried to look for phylink_mii_c22_pcs_decode_state() and I have found it only here [1], and seems that it depends on [2]. But not much activity happened to these series since October. Do you think they will still get in? [1] https://patchwork.kernel.org/project/netdevbpf/patch/20211022160959.3350916-1-sean.anderson@xxxxxxxx/ [2] https://lore.kernel.org/netdev/20211022155914.3347672-1-sean.anderson@xxxxxxxx/ > > -- > RMK's Patch system: https://www.armlinux.org.uk/developer/patches/ > FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last! -- /Horatiu