• E
    net/mlx4_en: Update reported link modes for 1/10G · 171e192d
    Erik Ekman 提交于
    stable inclusion
    from stable-v5.10.87
    commit 6d22a96d12d736971d5b3e5007956fec5724f27e
    bugzilla: 186049 https://gitee.com/openeuler/kernel/issues/I4QVYL
    
    Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=6d22a96d12d736971d5b3e5007956fec5724f27e
    
    --------------------------------
    
    [ Upstream commit 2191b1df ]
    
    When link modes were initially added in commit 2c762679
    ("net/mlx4_en: Use PTYS register to query ethtool settings") and
    later updated for the new ethtool API in commit 3d8f7cc7
    ("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 5711a982
    ("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: NMichael Stapelberg <michael@stapelberg.ch>
    Signed-off-by: NErik Ekman <erik@kryo.se>
    Reviewed-by: NTariq Toukan <tariqt@nvidia.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    Signed-off-by: NSasha Levin <sashal@kernel.org>
    Signed-off-by: NChen Jun <chenjun102@huawei.com>
    Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
    171e192d
en_ethtool.c 61.1 KB