On Tue, Jan 12, 2021 at 10:16:32PM +0100, Marek Behún wrote: > On Tue, 12 Jan 2021 22:38:08 +0200 > Vladimir Oltean <olte...@gmail.com> wrote: > > > > + phylink_set(mask, 10000baseT_Full); > > > + phylink_set(mask, 10000baseCR_Full); > > > + phylink_set(mask, 10000baseSR_Full); > > > + phylink_set(mask, 10000baseLR_Full); > > > + phylink_set(mask, 10000baseLRM_Full); > > > + phylink_set(mask, 10000baseER_Full); > > > > Why did you remove 1000baseKR_Full from here? > > I am confused now. Should 1000baseKR_Full be here? 10g-kr is 10g-r with > clause 73 autonegotiation, so they are not compatible, or are they?
ETHTOOL_LINK_MODE_10000baseKR_Full_BIT and most of everything else from enum ethtool_link_mode_bit_indices are network-side media interfaces (aka between the PHY and the link partner). Whereas PHY_INTERFACE_MODE_10GKR and most of everything else from phy_interface_t is a system-side media independent interface (aka between the MAC and the PHY). What the 6393X does not support is PHY_INTERFACE_MODE_10GKR, and my feedback from your previous series did not ask you to remove 1000baseKR_Full from phylink_validate. There's nothing that would prevent somebody from attaching a PHY with a different (and compatible) system-side SERDES protocol, and 10GBase-KR on the media side. What Russell said is that he's seriously thinking about reworking the phylink_validate API so that the MAC driver would not need to sign off on things it does not care about (such as what media-side interface will the PHY use, of which there is an ever increasing plethora). But at the moment, the API is what it is, and you should put as many media-side link modes as possible, at the given speed and duplex that the MAC supports. _I_ am confused. What did you say you were happy to help with?