Message ID | 20190531135748.23740-3-andrew@lunn.ch |
---|---|
State | Accepted |
Delegated to: | John Linville |
Headers | show |
Series | Add 100BaseT1 and 1000BaseT1 | expand |
On Fri, May 31, 2019 at 03:57:48PM +0200, Andrew Lunn wrote: > The kernel can now indicate if the PHY supports operating over a > single pair at 100Mbps or 1000Mbps. > > Signed-off-by: Andrew Lunn <andrew@lunn.ch> > --- Reviewed-by: Michal Kubecek <mkubecek@suse.cz> > ethtool.8.in | 2 ++ > ethtool.c | 6 ++++++ > 2 files changed, 8 insertions(+) > > diff --git a/ethtool.8.in b/ethtool.8.in > index 430d11b915af..6af63455c636 100644 > --- a/ethtool.8.in > +++ b/ethtool.8.in > @@ -639,8 +639,10 @@ lB l lB. > 0x002 10baseT Full > 0x004 100baseT Half > 0x008 100baseT Full > +0x80000000000000000 100baseT1 Full > 0x010 1000baseT Half (not supported by IEEE standards) > 0x020 1000baseT Full > +0x100000000000000000 1000baseT1 Full > 0x20000 1000baseKX Full > 0x20000000000 1000baseX Full > 0x800000000000 2500baseT Full This reminds me the earlier discussion about which syntax extension would be more useful: ethtool -s <dev> advertise 100baseT1/Full 1000baseT1/Full (listing modes to be advertised) or ethtool -s <dev> advertise 100baseT1/Full off 1000baseT1/Full on (enabling/disabling selected modes). But maybe we could support both; after all, it's unlikely there would ever be a link mode named "on" or "off". Michal
diff --git a/ethtool.8.in b/ethtool.8.in index 430d11b915af..6af63455c636 100644 --- a/ethtool.8.in +++ b/ethtool.8.in @@ -639,8 +639,10 @@ lB l lB. 0x002 10baseT Full 0x004 100baseT Half 0x008 100baseT Full +0x80000000000000000 100baseT1 Full 0x010 1000baseT Half (not supported by IEEE standards) 0x020 1000baseT Full +0x100000000000000000 1000baseT1 Full 0x20000 1000baseKX Full 0x20000000000 1000baseX Full 0x800000000000 2500baseT Full diff --git a/ethtool.c b/ethtool.c index 66a907edd97b..05fe05a080cd 100644 --- a/ethtool.c +++ b/ethtool.c @@ -545,6 +545,8 @@ static void init_global_link_mode_masks(void) ETHTOOL_LINK_MODE_200000baseLR4_ER4_FR4_Full_BIT, ETHTOOL_LINK_MODE_200000baseDR4_Full_BIT, ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT, + ETHTOOL_LINK_MODE_100baseT1_Full_BIT, + ETHTOOL_LINK_MODE_1000baseT1_Full_BIT, }; static const enum ethtool_link_mode_bit_indices additional_advertised_flags_bits[] = { @@ -634,10 +636,14 @@ static void dump_link_caps(const char *prefix, const char *an_prefix, "100baseT/Half" }, { 1, ETHTOOL_LINK_MODE_100baseT_Full_BIT, "100baseT/Full" }, + { 0, ETHTOOL_LINK_MODE_100baseT1_Full_BIT, + "100baseT1/Full" }, { 0, ETHTOOL_LINK_MODE_1000baseT_Half_BIT, "1000baseT/Half" }, { 1, ETHTOOL_LINK_MODE_1000baseT_Full_BIT, "1000baseT/Full" }, + { 0, ETHTOOL_LINK_MODE_1000baseT1_Full_BIT, + "1000baseT1/Full" }, { 0, ETHTOOL_LINK_MODE_1000baseKX_Full_BIT, "1000baseKX/Full" }, { 0, ETHTOOL_LINK_MODE_2500baseX_Full_BIT,
The kernel can now indicate if the PHY supports operating over a single pair at 100Mbps or 1000Mbps. Signed-off-by: Andrew Lunn <andrew@lunn.ch> --- ethtool.8.in | 2 ++ ethtool.c | 6 ++++++ 2 files changed, 8 insertions(+)