linux-stable/drivers/net/phy
Russell King (Oracle) 25391e82ff net: phylink: simplify how SFP PHYs are attached
There are a few issues with how SFP PHYs are attached:

a) The phylink_sfp_connect_phy() and phylink_sfp_config_phy() code
   validates the configuration three times:

1. To discover the support/advertising masks that the PHY/PCS/MAC
   can support in order to select an interface.
2. To validate the selected interface.
3. When the PHY is brought up after being attached, another validation
   is done.

   This is needlessly complex.

b) The configuration is set prior to the PHY being attached, which
   means we don't have the PHY available in phylink_major_config()
   for phylink_pcs_neg_mode() to make decisions upon.

We have already added an extra step to validate the selected interface,
so we can now move the attachment and bringup of the PHY earlier,
inside phylink_sfp_config_phy(). This results in the validation at
step 2 above becoming entirely unnecessary, so remove that too.

Reviewed-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Tested-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1t3bcb-000c8H-3e@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2024-10-29 11:57:32 -07:00
..
aquantia net: phy: aquantia: fix return value check in aqr107_config_mdi() 2024-10-15 09:53:53 -07:00
mscc move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
qcom net: phy: qca83xx: use PHY_ID_MATCH_EXACT 2024-09-06 18:23:08 -07:00
adin1100.c net: phy: adin1100: Add interrupt support for link change 2024-01-31 16:22:29 -08:00
adin.c net: phy: adin: allow control of Fast Link Down 2023-11-29 19:49:38 -08:00
air_en8811h.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
amd.c net: phy: amd: Support the Altima AMI101L 2023-10-03 11:44:09 +02:00
ax88796b_rust.rs rust: net::phy unified read/write API for C22 and C45 registers 2024-08-30 10:27:35 +01:00
ax88796b.c net: phy: fix regression with AX88772A PHY driver 2023-09-19 17:03:44 +02:00
bcm7xxx.c net: phy: bcm7xxx: Add missing 16nm EPHY statistics 2023-10-18 18:13:13 -07:00
bcm63xx.c
bcm87xx.c net: phy: fill in missing MODULE_DESCRIPTION()s 2023-11-01 21:50:56 -07:00
bcm54140.c net: phy: extend PHY package API to support multiple global address 2023-12-17 20:10:07 +00:00
bcm84881.c net: phy: bcm84881: Fix some error handling paths 2024-10-04 16:19:00 -07:00
bcm-cygnus.c
bcm-phy-lib.c net: phy: bcm-phy-lib: Implement BroadR-Reach link modes 2024-07-14 20:38:35 -07:00
bcm-phy-lib.h net: phy: bcm-phy-lib: Implement BroadR-Reach link modes 2024-07-14 20:38:35 -07:00
bcm-phy-ptp.c move asm/unaligned.h to linux/unaligned.h 2024-10-02 17:23:23 -04:00
broadcom.c net: phy: bcm-phy-lib: Implement BroadR-Reach link modes 2024-07-14 20:38:35 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c phy: dp83td510: Utilize ALCD for cable length measurement when link is active 2024-08-26 09:33:58 -07:00
dp83tg720.c net: phy: dp83tg720: Add cable testing support 2024-08-16 10:16:26 -07:00
dp83640_reg.h
dp83640.c net: Add struct kernel_ethtool_ts_info 2024-07-15 08:02:26 -07:00
dp83822.c net: phy: dp83822: Fix reset pin definitions 2024-10-19 16:14:21 -05:00
dp83848.c
dp83867.c net: phy: dp83867: Add support for active-low LEDs 2024-02-02 10:12:21 +00:00
dp83869.c net: phy: dp83869: fix memory corruption when enabling fiber 2024-10-03 15:39:47 -07:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: set phy_mask before calling mdiobus_register() 2022-06-13 23:11:24 -07:00
icplus.c
intel-xway.c net: phy: intel-xway: add support for PHY LEDs 2024-10-15 11:24:22 +02:00
Kconfig net: phy: microchip_t1s: add support for Microchip's LAN867X Rev.C2 2024-10-11 15:54:40 -07:00
linkmode.c
lxt.c
Makefile net: phy: add Applied Micro QT2025 PHY driver 2024-08-30 10:27:35 +01:00
marvell10g.c net: phy: add helpers to handle sfp phy connect/disconnect 2024-08-23 13:04:34 +01:00
marvell-88q2xxx.c net: phy: marvell-88q2xxx: Enable auto negotiation for mv88q2110 2024-10-08 18:18:16 -07:00
marvell-88x2222.c net: phy: add helpers to handle sfp phy connect/disconnect 2024-08-23 13:04:34 +01:00
marvell.c net: phy: marvell: Add mdix status reporting 2024-10-22 12:59:38 +02:00
mdio_bus.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
mdio_device.c driver core: have match() callback in struct bus_type take a const * 2024-07-03 15:16:54 +02:00
mdio_devres.c net: fill in MODULE_DESCRIPTION()s for mdio_devres 2024-02-15 08:03:46 -08:00
mdio-boardinfo.c
mdio-boardinfo.h
mdio-open-alliance.h drivers/net/phy: add helpers to get/set PLCA configuration 2023-01-11 08:35:02 +00:00
mediatek-ge-soc.c net: phy: mediatek-ge-soc: Propagate error code correctly in cal_cycle() 2024-10-20 11:06:47 -05:00
mediatek-ge.c net: phy: mediatek-ge: do not disable EEE advertisement 2024-04-17 10:44:20 +01:00
meson-gxl.c net: phy: meson-gxl: enable edpd tunable support for G12A internal PHY 2023-04-04 18:56:01 -07:00
micrel.c net: phy: micrel: Fix the KSZ9131 MDI-X status issue 2024-07-30 15:10:53 -07:00
microchip_t1.c net: phy: microchip_t1: SQI support for LAN887x 2024-10-08 18:24:16 -07:00
microchip_t1s.c net: phy: microchip_t1s: configure collision detection based on PLCA mode 2024-10-11 15:54:40 -07:00
microchip.c net: phy: microchip: lan937x: add support for 100BaseTX PHY 2024-07-09 15:12:04 +02:00
mii_timestamper.c
motorcomm.c net: phy: Add driver for Motorcomm yt8821 2.5G ethernet phy 2024-09-05 15:21:12 +02:00
mxl-gpy.c net: phy: mxl-gpy: correctly describe LED polarity 2024-10-15 11:24:21 +02:00
national.c
ncn26000.c drivers/net/phy: add driver for the onsemi NCN26000 10BASE-T1S PHY 2023-01-11 08:35:03 +00:00
nxp-c45-tja11xx-macsec.c net: phy: nxp-c45-tja11xx: implement mdo_insert_tx_tag 2023-12-27 13:08:10 +00:00
nxp-c45-tja11xx.c net: phy: c45-tja11xx: add support for outputting RMII reference clock 2024-10-15 10:44:52 +02:00
nxp-c45-tja11xx.h net: phy: c45-tja11xx: add support for outputting RMII reference clock 2024-10-15 10:44:52 +02:00
nxp-cbtx.c net: phy: add basic driver for NXP CBTX PHY 2023-04-21 20:04:09 -07:00
nxp-tja11xx.c net: Convert some ethtool_sprintf() to ethtool_puts() 2023-12-08 10:56:25 +00:00
open_alliance_helpers.c phy: Add Open Alliance helpers for the PHY framework 2024-08-16 10:16:26 -07:00
open_alliance_helpers.h phy: Add Open Alliance helpers for the PHY framework 2024-08-16 10:16:26 -07:00
phy_device.c net: phy: support 'active-high' property for PHY LEDs 2024-10-15 11:24:21 +02:00
phy_led_triggers.c
phy_link_topology.c net: phy: Introduce ethernet link topology representation 2024-08-23 13:04:34 +01:00
phy-c45.c net: phy: Immediately call adjust_link if only tx_lpi_enabled changes 2024-03-05 19:21:17 -08:00
phy-core.c net: phy: Add support for PHY timing-role configuration via device tree 2024-10-08 10:50:15 +02:00
phy.c net: phy: Check for read errors in SIOCGMIIREG 2024-09-04 17:01:21 -07:00
phylink.c net: phylink: simplify how SFP PHYs are attached 2024-10-29 11:57:32 -07:00
qsemi.c
qt2025.rs net: phy: qt2025: Fix warning: unused import DeviceId 2024-10-02 17:44:00 -07:00
realtek.c net: phy: realtek: add RTL8125D-internal PHY 2024-10-20 11:06:47 -05:00
rockchip.c
sfp-bus.c net: sfp: Add helper to return the SFP bus name 2024-08-23 13:04:34 +01:00
sfp.c net: sfp: change quirks for Alcatel Lucent G-010S-P 2024-10-21 10:33:22 +02:00
sfp.h net: sfp: Remove unused function declaration sfp_link_configure() 2023-08-07 08:53:55 +01:00
smsc.c net: phy: smsc: use devm_clk_get_optional_enabled_with_rate() 2024-10-08 15:36:28 -07:00
spi_ks8995.c net: phy: ks8995: drop of_match_ptr for ID table 2023-03-15 08:11:02 +00:00
ste10Xp.c
stubs.c net: phy: provide phylib stubs for hardware timestamping operations 2023-08-02 19:11:06 -07:00
swphy.c
swphy.h
teranetics.c
uPD60620.c
vitesse.c net: phy: vitesse: implement MDI-X configuration in vsc73xx 2024-08-27 14:26:49 -07:00
xilinx_gmii2rgmii.c net: phy: xilinx-gmii2rgmii: Adopt clock support 2024-05-29 13:10:57 +01:00