• Erik Ekman's avatar
    sfc: Export fibre-specific supported link modes · c62041c5
    Erik Ekman authored
    The 1/10GbaseT modes were set up for cards with SFP+ cages in
    3497ed8c ("sfc: report supported link speeds on SFP connections").
    10GbaseT was likely used since no 10G fibre mode existed.
    
    The missing fibre modes for 1/10G were added to ethtool.h in 5711a982
    ("net: ethtool: add support for 1000BaseX and missing 10G link modes")
    shortly thereafter.
    
    The user guide available at https://support-nic.xilinx.com/wp/drivers
    lists support for the following cable and transceiver types in section 2.9:
    - QSFP28 100G Direct Attach Cables
    - QSFP28 100G SR Optical Transceivers (with SR4 modules listed)
    - SFP28 25G Direct Attach Cables
    - SFP28 25G SR Optical Transceivers
    - QSFP+ 40G Direct Attach Cables
    - QSFP+ 40G Active Optical Cables
    - QSFP+ 40G SR4 Optical Transceivers
    - QSFP+ to SFP+ Breakout Direct Attach Cables
    - QSFP+ to SFP+ Breakout Active Optical Cables
    - SFP+ 10G Direct Attach Cables
    - SFP+ 10G SR Optical Transceivers
    - SFP+ 10G LR Optical Transceivers
    - SFP 1000BASE‐T Transceivers
    - 1G Optical Transceivers
    (From user guide issue 28. Issue 16 which also includes older cards like
    SFN5xxx/SFN6xxx has matching lists for 1/10/40G transceiver types.)
    
    Regarding SFP+ 10GBASE‐T transceivers the latest guide says:
    "Solarflare adapters do not support 10GBASE‐T transceiver modules."
    
    Tested using SFN5122F-R7 (with 2 SFP+ ports). Supported link modes do not change
    depending on module used (tested with 1000BASE-T, 1000BASE-BX10, 10GBASE-LR).
    Before:
    
    $ ethtool ext
    Settings for ext:
    	Supported ports: [ FIBRE ]
    	Supported link modes:   1000baseT/Full
    	                        10000baseT/Full
    	Supported pause frame use: Symmetric Receive-only
    	Supports auto-negotiation: No
    	Supported FEC modes: Not reported
    	Advertised link modes:  Not reported
    	Advertised pause frame use: No
    	Advertised auto-negotiation: No
    	Advertised FEC modes: Not reported
    	Link partner advertised link modes:  Not reported
    	Link partner advertised pause frame use: No
    	Link partner advertised auto-negotiation: No
    	Link partner advertised FEC modes: Not reported
    	Speed: 1000Mb/s
    	Duplex: Full
    	Auto-negotiation: off
    	Port: FIBRE
    	PHYAD: 255
    	Transceiver: internal
            Current message level: 0x000020f7 (8439)
                                   drv probe link ifdown ifup rx_err tx_err hw
    	Link detected: yes
    
    After:
    
    $ ethtool ext
    Settings for ext:
    	Supported ports: [ FIBRE ]
    	Supported link modes:   1000baseT/Full
    	                        1000baseX/Full
    	                        10000baseCR/Full
    	                        10000baseSR/Full
    	                        10000baseLR/Full
    	Supported pause frame use: Symmetric Receive-only
    	Supports auto-negotiation: No
    	Supported FEC modes: Not reported
    	Advertised link modes:  Not reported
    	Advertised pause frame use: No
    	Advertised auto-negotiation: No
    	Advertised FEC modes: Not reported
    	Link partner advertised link modes:  Not reported
    	Link partner advertised pause frame use: No
    	Link partner advertised auto-negotiation: No
    	Link partner advertised FEC modes: Not reported
    	Speed: 1000Mb/s
    	Duplex: Full
    	Auto-negotiation: off
    	Port: FIBRE
    	PHYAD: 255
    	Transceiver: internal
    	Supports Wake-on: g
    	Wake-on: d
            Current message level: 0x000020f7 (8439)
                                   drv probe link ifdown ifup rx_err tx_err hw
    	Link detected: yes
    Signed-off-by: default avatarErik Ekman <erik@kryo.se>
    Acked-by: default avatarMartin Habets <habetsm.xilinx@gmail.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    c62041c5
mcdi_port_common.c 37.1 KB