Thread (10 messages) flat view 10 messages, 3 authors, 2021-10-19

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help