2021-10-13 10:50:27

by Paul Menzel

[permalink] [raw]
Subject: [PATCH] net: sfp: add quirk for Finisar FTLF8536P4BCL

From: Taras Chornyi <[email protected]>

Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR, but
reports 25G & 100GBd SR in it's EEPROM.

Signed-off-by: Vadym Kochan <[email protected]>
Signed-off-by: Taras Chornyi <[email protected]>

[Upstream from https://github.com/dentproject/dentOS/pull/133/commits/b87b10ef72ea4638e80588facf3c9c2c1be67b40]

Signed-off-by: Paul Menzel <[email protected]>
---
drivers/net/phy/sfp-bus.c | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c
index 7362f8c3271c..162b4030a863 100644
--- a/drivers/net/phy/sfp-bus.c
+++ b/drivers/net/phy/sfp-bus.c
@@ -55,6 +55,13 @@ static void sfp_quirk_ubnt_uf_instant(const struct sfp_eeprom_id *id,
phylink_set(modes, 1000baseX_Full);
}

+static void sfp_quirk_finisar_25g(const struct sfp_eeprom_id *id,
+ unsigned long *modes)
+{
+ phylink_set(modes, 1000baseX_Full);
+ phylink_set(modes, 10000baseSR_Full);
+}
+
static const struct sfp_quirk sfp_quirks[] = {
{
// Alcatel Lucent G-010S-P can operate at 2500base-X, but
@@ -78,7 +85,13 @@ static const struct sfp_quirk sfp_quirks[] = {
.vendor = "UBNT",
.part = "UF-INSTANT",
.modes = sfp_quirk_ubnt_uf_instant,
- },
+ }, {
+ // Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR,
+ // but reports 25G & 100GBd SR in it's EEPROM
+ .vendor = "FINISAR CORP.",
+ .part = "FTLF8536P4BCL",
+ .modes = sfp_quirk_finisar_25g,
+ }
};

static size_t sfp_strlen(const char *str, size_t maxlen)
--
2.33.0


2021-10-14 18:54:26

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: [PATCH] net: sfp: add quirk for Finisar FTLF8536P4BCL

On Wed, Oct 13, 2021 at 12:45:42PM +0200, Paul Menzel wrote:
> From: Taras Chornyi <[email protected]>
>
> Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR, but
> reports 25G & 100GBd SR in it's EEPROM.
>
> Signed-off-by: Vadym Kochan <[email protected]>
> Signed-off-by: Taras Chornyi <[email protected]>
>
> [Upstream from https://github.com/dentproject/dentOS/pull/133/commits/b87b10ef72ea4638e80588facf3c9c2c1be67b40]
>
> Signed-off-by: Paul Menzel <[email protected]>

Hi Paul,

Please can you send me the file resulting from:

ethtool -m ethX raw on > file

please - it will be binary data, and that is exactly what I'm after.
I would like to see what the EEPROM contains before making a decision
on this patch.

Thanks.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!

2021-10-18 11:06:52

by Vadym Kochan

[permalink] [raw]
Subject: Re: [PATCH] net: sfp: add quirk for Finisar FTLF8536P4BCL


Also adding hexdump version to have it in mail:

00000000 03 04 07 00 00 00 00 00 00 00 00 06 ff 00 00 00 |................|
00000010 02 00 0a 07 46 49 4e 49 53 41 52 20 43 4f 52 50 |....FINISAR CORP|
00000020 2e 20 20 20 02 00 90 65 46 54 4c 46 38 35 33 36 |. ...eFTLF8536|
00000030 50 34 42 43 4c 20 20 20 41 20 20 20 03 52 00 b8 |P4BCL A .R..|
00000040 08 1a 70 00 55 55 48 32 30 46 4c 20 20 20 20 20 |..p.UUH20FL |
00000050 20 20 20 20 31 36 30 32 31 32 20 20 68 f0 08 64 | 160212 h..d|
00000060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000100 4b 00 fb 00 46 00 00 00 8c a0 75 30 88 b8 79 18 |K...F.....u0..y.|
00000110 17 70 01 f4 16 76 03 e8 3d e9 04 eb 31 2d 06 31 |.p...v..=...1-.1|
00000120 4d f1 00 64 3d e9 00 9e 00 00 00 00 00 00 00 00 |M..d=...........|
00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000140 00 00 00 00 3f 80 00 00 00 00 00 00 00 01 00 00 |....?...........|
00000150 00 01 00 00 00 01 00 00 00 01 00 00 00 00 00 f4 |................|
00000160 26 f1 83 b6 00 51 00 00 0a c6 00 1e 24 4b b0 00 |&....Q......$K..|
00000170 05 28 00 00 05 28 00 00 00 00 00 00 00 00 00 01 |.(...(..........|
00000180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000200


Attachments:
FTLF8536P4BCL.bin (512.00 B)

2021-10-18 14:48:36

by Russell King (Oracle)

[permalink] [raw]
Subject: Re: [PATCH] net: sfp: add quirk for Finisar FTLF8536P4BCL

On Wed, Oct 13, 2021 at 12:45:42PM +0200, Paul Menzel wrote:
> From: Taras Chornyi <[email protected]>
>
> Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR, but
> reports 25G & 100GBd SR in it's EEPROM.
>
> Signed-off-by: Vadym Kochan <[email protected]>
> Signed-off-by: Taras Chornyi <[email protected]>
>
> [Upstream from https://github.com/dentproject/dentOS/pull/133/commits/b87b10ef72ea4638e80588facf3c9c2c1be67b40]
>
> Signed-off-by: Paul Menzel <[email protected]>

Thanks Vadym for the eeprom dump.

> diff --git a/drivers/net/phy/sfp-bus.c b/drivers/net/phy/sfp-bus.c
> index 7362f8c3271c..162b4030a863 100644
> --- a/drivers/net/phy/sfp-bus.c
> +++ b/drivers/net/phy/sfp-bus.c
> @@ -55,6 +55,13 @@ static void sfp_quirk_ubnt_uf_instant(const struct sfp_eeprom_id *id,
> phylink_set(modes, 1000baseX_Full);
> }
>
> +static void sfp_quirk_finisar_25g(const struct sfp_eeprom_id *id,
> + unsigned long *modes)
> +{
> + phylink_set(modes, 1000baseX_Full);
> + phylink_set(modes, 10000baseSR_Full);
> +}

I'd ask that this is named "sfp_quirk_1g10g()" please - it isn't
doing anything that is specific to Finisar, it is merely stating
that 1000base-X and 10000base-SR are supported.

> + }, {
> + // Finisar FTLF8536P4BCL can operate at 1000base-X and 10000base-SR,
> + // but reports 25G & 100GBd SR in it's EEPROM

This file doesn't wrap over column 80, so please continue to keeping
it that way.

// Finisar FTLF8536P4BCL can operate at 1000base-X and
// 10000base-SR, but reports 25G & 100GBd SR in it's EEPROM

Thanks.

--
RMK's Patch system: https://www.armlinux.org.uk/developer/patches/
FTTP is here! 40Mbps down 10Mbps up. Decent connectivity at last!