lkml.org 
[lkml]   [2021]   [Dec]   [6]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.15 09/24] net/mlx4_en: Update reported link modes for 1/10G
    Date
    From: Erik Ekman <erik@kryo.se>

    [ Upstream commit 2191b1dfef7d45f44b5008d2148676d9f2c82874 ]

    When link modes were initially added in commit 2c762679435dc
    ("net/mlx4_en: Use PTYS register to query ethtool settings") and
    later updated for the new ethtool API in commit 3d8f7cc78d0eb
    ("net: mlx4: use new ETHTOOL_G/SSETTINGS API") the only 1/10G non-baseT
    link modes configured were 1000baseKX, 10000baseKX4 and 10000baseKR.
    It looks like these got picked to represent other modes since nothing
    better was available.

    Switch to using more specific link modes added in commit 5711a98221443
    ("net: ethtool: add support for 1000BaseX and missing 10G link modes").

    Tested with MCX311A-XCAT connected via DAC.
    Before:

    % sudo ethtool enp3s0
    Settings for enp3s0:
    Supported ports: [ FIBRE ]
    Supported link modes: 1000baseKX/Full
    10000baseKR/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: No
    Supported FEC modes: Not reported
    Advertised link modes: 1000baseKX/Full
    10000baseKR/Full
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: No
    Advertised FEC modes: Not reported
    Speed: 10000Mb/s
    Duplex: Full
    Auto-negotiation: off
    Port: Direct Attach Copper
    PHYAD: 0
    Transceiver: internal
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000014 (20)
    link ifdown
    Link detected: yes

    With this change:

    % sudo ethtool enp3s0
    Settings for enp3s0:
    Supported ports: [ FIBRE ]
    Supported link modes: 1000baseX/Full
    10000baseCR/Full
    10000baseSR/Full
    Supported pause frame use: Symmetric Receive-only
    Supports auto-negotiation: No
    Supported FEC modes: Not reported
    Advertised link modes: 1000baseX/Full
    10000baseCR/Full
    10000baseSR/Full
    Advertised pause frame use: Symmetric
    Advertised auto-negotiation: No
    Advertised FEC modes: Not reported
    Speed: 10000Mb/s
    Duplex: Full
    Auto-negotiation: off
    Port: Direct Attach Copper
    PHYAD: 0
    Transceiver: internal
    Supports Wake-on: d
    Wake-on: d
    Current message level: 0x00000014 (20)
    link ifdown
    Link detected: yes

    Tested-by: Michael Stapelberg <michael@stapelberg.ch>
    Signed-off-by: Erik Ekman <erik@kryo.se>
    Reviewed-by: Tariq Toukan <tariqt@nvidia.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/net/ethernet/mellanox/mlx4/en_ethtool.c | 6 +++---
    1 file changed, 3 insertions(+), 3 deletions(-)

    diff --git a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
    index ef518b1040f72..fde521b1eecad 100644
    --- a/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
    +++ b/drivers/net/ethernet/mellanox/mlx4/en_ethtool.c
    @@ -663,7 +663,7 @@ void __init mlx4_en_init_ptys2ethtool_map(void)
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_1000BASE_T, SPEED_1000,
    ETHTOOL_LINK_MODE_1000baseT_Full_BIT);
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_1000BASE_CX_SGMII, SPEED_1000,
    - ETHTOOL_LINK_MODE_1000baseKX_Full_BIT);
    + ETHTOOL_LINK_MODE_1000baseX_Full_BIT);
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_1000BASE_KX, SPEED_1000,
    ETHTOOL_LINK_MODE_1000baseKX_Full_BIT);
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_10GBASE_T, SPEED_10000,
    @@ -675,9 +675,9 @@ void __init mlx4_en_init_ptys2ethtool_map(void)
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_10GBASE_KR, SPEED_10000,
    ETHTOOL_LINK_MODE_10000baseKR_Full_BIT);
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_10GBASE_CR, SPEED_10000,
    - ETHTOOL_LINK_MODE_10000baseKR_Full_BIT);
    + ETHTOOL_LINK_MODE_10000baseCR_Full_BIT);
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_10GBASE_SR, SPEED_10000,
    - ETHTOOL_LINK_MODE_10000baseKR_Full_BIT);
    + ETHTOOL_LINK_MODE_10000baseSR_Full_BIT);
    MLX4_BUILD_PTYS2ETHTOOL_CONFIG(MLX4_20GBASE_KR2, SPEED_20000,
    ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT,
    ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT);
    --
    2.33.0
    \
     
     \ /
      Last update: 2021-12-06 22:14    [W:4.395 / U:0.140 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site