Commit Graph

9 Commits

Author SHA1 Message Date
Izabela Bakollari 62b9346939 net: sfp: Remove unused function declaration sfp_link_configure()
JIRA: https://issues.redhat.com/browse/RHEL-33716

commit a6ab5c29b8d2039db885e26058ed8f8853e383ab
Author: Yue Haibing <yuehaibing@huawei.com>
Date:   Sat Aug 5 18:57:40 2023 +0800

    net: sfp: Remove unused function declaration sfp_link_configure()

    Commit ce0aa27ff3 ("sfp: add sfp-bus to bridge between network devices and sfp cages")
    declared but never implemented it.

    Signed-off-by: Yue Haibing <yuehaibing@huawei.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Izabela Bakollari <ibakolla@redhat.com>
2024-08-09 15:39:28 +02:00
Adrien Thierry 6fa202aa2c net: sfp: add support for setting signalling rate
JIRA: https://issues.redhat.com/browse/RHEL-2799

commit dc18582211b34bce8250ddf3cac2a2230e192120
Author: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Date:   Wed May 17 11:38:12 2023 +0100

    net: sfp: add support for setting signalling rate

    Add support to the SFP layer to allow phylink to set the signalling
    rate for a SFP module. The rate given will be in units of kilo-baud
    (1000 baud).

    Reviewed-by: Simon Horman <simon.horman@corigine.com>
    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Adrien Thierry <athierry@redhat.com>
2023-09-19 14:18:18 -04:00
Adrien Thierry c83fdf3eed net: sfp: augment SFP parsing with phy_interface_t bitmap
JIRA: https://issues.redhat.com/browse/RHEL-2799

commit fd580c9830316edad6f8b1d9f542563730658efe
Author: Russell King <rmk+kernel@armlinux.org.uk>
Date:   Fri Sep 30 16:21:00 2022 +0200

    net: sfp: augment SFP parsing with phy_interface_t bitmap

    We currently parse the SFP EEPROM to a bitmap of ethtool link modes,
    and then attempt to convert the link modes to a PHY interface mode.
    While this works at present, there are cases where this is sub-optimal.
    For example, where a module can operate with several different PHY
    interface modes.

    To start addressing this, arrange for the SFP EEPROM parsing to also
    provide a bitmap of the possible PHY interface modes.

    Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Marek Behún <kabel@kernel.org>
    Signed-off-by: David S. Miller <davem@davemloft.net>

Signed-off-by: Adrien Thierry <athierry@redhat.com>
2023-09-19 14:17:58 -04:00
Adrien Thierry 6eb8624ddd net: sfp: move Alcatel Lucent 3FE46541AA fixup
JIRA: https://issues.redhat.com/browse/RHEL-2799

commit 275416754e9a262c97a1ad6f806a4bc6e0464aa2
Author: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Date:   Tue Sep 13 20:06:37 2022 +0100

    net: sfp: move Alcatel Lucent 3FE46541AA fixup

    Add a new fixup mechanism to the SFP quirks, and use it for this
    module.

    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Adrien Thierry <athierry@redhat.com>
2023-09-19 14:17:34 -04:00
Adrien Thierry 1fddcbcd98 net: sfp: move quirk handling into sfp.c
JIRA: https://issues.redhat.com/browse/RHEL-2799

commit 23571c7b96437483d28a990c906cc81f5f66374e
Author: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Date:   Tue Sep 13 20:06:32 2022 +0100

    net: sfp: move quirk handling into sfp.c

    We need to handle more quirks than just those which affect the link
    modes of the module. Move the quirk lookup into sfp.c, and pass the
    quirk to sfp-bus.c

    Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Adrien Thierry <athierry@redhat.com>
2023-09-19 14:17:34 -04:00
Andrew Lunn d740513f05 phy: sfp: add netlink SFP support to generic SFP code
The new netlink API for reading SFP data requires a new op to be
implemented. The idea of the new netlink SFP code is that userspace is
responsible to parsing the EEPROM data and requesting pages, rather
than have the kernel decide what pages are interesting and returning
them. This allows greater flexibility for newer formats.

Currently the generic SFP code only supports simple SFPs. Allow i2c
address 0x50 and 0x51 to be accessed with page and bank must always be
0. This interface will later be extended when for example QSFP support
is added.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Vladyslav Tarasiuk <vladyslavt@nvidia.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2021-04-11 16:34:56 -07:00
Russell King 74c551ca5a net: sfp: add module start/stop upstream notifications
When dealing with some copper modules, we can't positively know the
module capabilities are until we have probed the PHY. Without the full
capabilities, we may end up failing a module that we could otherwise
drive with a restricted set of capabilities.

An example of this would be a module with a NBASE-T PHY plugged into
a host that supports phy interface modes 2500BASE-X and SGMII. The
PHY supports 10GBASE-R, 5000BASE-X, 2500BASE-X, SGMII interface modes,
which means a subset of the capabilities are compatible with the host.

However, reading the module EEPROM leads us to believe that the module
only supports ethtool link mode 10GBASE-T, which is incompatible with
the host - and thus results in the module being rejected.

This patch adds an extra notification which are triggered after the
SFP module's PHY probe, and a corresponding notification just before
the PHY is removed.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-12-11 11:53:41 -08:00
Russell King b5bfc21af5 net: sfp: do not probe SFP module before we're attached
When we probe a SFP module, we expect to be able to call the upstream
device's module_insert() function so that the upstream link can be
configured.  However, when the upstream device is delayed, we currently
may end up probing the module before the upstream device is available,
and lose the module_insert() call.

Avoid this by holding off probing the module until the SFP bus is
properly connected to both the SFP socket driver and the upstream
driver.

Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-02-08 15:11:25 -08:00
Russell King ce0aa27ff3 sfp: add sfp-bus to bridge between network devices and sfp cages
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
2017-08-06 20:55:29 -07:00