@@ -443,6 +443,8 @@ static void init_global_link_mode_masks(void)
ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT,
ETHTOOL_LINK_MODE_100baseT1_Full_BIT,
ETHTOOL_LINK_MODE_1000baseT1_Full_BIT,
+ ETHTOOL_LINK_MODE_100baseFX_Half_BIT,
+ ETHTOOL_LINK_MODE_100baseFX_Full_BIT,
};
static const enum ethtool_link_mode_bit_indices
additional_advertised_flags_bits[] = {
@@ -639,6 +641,10 @@ static void dump_link_caps(const char *prefix, const char *an_prefix,
"200000baseDR4/Full" },
{ 0, ETHTOOL_LINK_MODE_200000baseCR4_Full_BIT,
"200000baseCR4/Full" },
+ { 0, ETHTOOL_LINK_MODE_100baseFX_Half_BIT,
+ "100baseFx/Half" },
+ { 1, ETHTOOL_LINK_MODE_100baseFX_Full_BIT,
+ "100baseFx/Full" },
};
int indent;
int did1, new_line_pend;
@@ -147,6 +147,8 @@ static const struct link_mode_info link_modes[] = {
[ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT] = __REAL(400000),
[ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT] = __REAL(400000),
[ETHTOOL_LINK_MODE_FEC_LLRS_BIT] = __SPECIAL(FEC),
+ [ETHTOOL_LINK_MODE_100baseFX_Half_BIT] = __HALF_DUPLEX(100),
+ [ETHTOOL_LINK_MODE_100baseFX_Full_BIT] = __REAL(100),
};
const unsigned int link_modes_count = ARRAY_SIZE(link_modes);
@@ -1598,6 +1598,8 @@ enum ethtool_link_mode_bit_indices {
ETHTOOL_LINK_MODE_400000baseDR8_Full_BIT = 72,
ETHTOOL_LINK_MODE_400000baseCR8_Full_BIT = 73,
ETHTOOL_LINK_MODE_FEC_LLRS_BIT = 74,
+ ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,
+ ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,
/* must be last entry */
__ETHTOOL_LINK_MODE_MASK_NBITS
};
The kernel can now indicate if the PHY supports operating over a fiber cable at 100Mbps either Full or Half duplex. Signed-off-by: Dan Murphy <dmurphy@ti.com> --- ethtool.c | 6 ++++++ netlink/settings.c | 2 ++ uapi/linux/ethtool.h | 2 ++ 3 files changed, 10 insertions(+)