Re: [PATCH] sfc: Export fibre-specific link modes for 1/10G
From: Erik Ekman <hidden>
Date: 2021-10-19 17:51:33
On Tue, 19 Oct 2021 at 19:34, Erik Ekman [off-list ref] wrote:
On Tue, 19 Oct 2021 at 17:53, Martin Habets [off-list ref] wrote:quoted
On Tue, Oct 19, 2021 at 05:31:52PM +0200, Andrew Lunn wrote:quoted
On Mon, Oct 18, 2021 at 08:37:08PM +0200, Erik Ekman wrote:quoted
These modes were added to ethtool.h in 5711a98221443 ("net: ethtool: add support for 1000BaseX and missing 10G link modes") back in 2016. Only setting CR mode for 10G, similar to how 25/40/50/100G modes are set up. Tested using SFN5122F-R7 (with 2 SFP+ ports) and a 1000BASE-BX10 SFP module.Did you test with a Copper SFP modules?I have tested it with a copper SFP PHY at 1G and that works fine. I don't have the hardware to test copper 10G (RJ45).quoted
quoted
quoted
+++ b/drivers/net/ethernet/sfc/mcdi_port_common.c@@ -133,9 +133,9 @@ void mcdi_to_ethtool_linkset(u32 media, u32 cap, unsigned long *linkset) case MC_CMD_MEDIA_QSFP_PLUS: SET_BIT(FIBRE); if (cap & (1 << MC_CMD_PHY_CAP_1000FDX_LBN)) - SET_BIT(1000baseT_Full); + SET_BIT(1000baseX_Full);I'm wondering if you should have both? The MAC is doing 1000BaseX. But it could then be connected to a copper PHY which then does 1000baseT_Full? At 1G, it is however more likely to be using SGMII, not 1000BaseX.
If you mean that the card has only copper phys on the card, then a different case in the switch statement is run (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/sfc/mcdi_port_common.c#n149). Should we still return both if the only baseT support is via an SFP module?
Yes, we can return both. Similarly, is there a reason only CR modes are set for fiber ports, when I expect LR/SR/etc to work as well? I can set the modes for 10G similar to the example in 5711a98221443 ("net: ethtool: add support for 1000BaseX and missing 10G link modes"): CR/SR/LR/ER I inserted a LR SFP+ module and ethtool -m could list its settings at least.quoted
Yes, they should both be set. We actually did a 10Gbase-T version of Siena, the SFN51x1T.For the baseT-version of the cards the supported modes are set further down in the file (https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/net/ethernet/sfc/mcdi_port_common.c#n149), so they are not affected by this change. Thanks /Erik