linux-stable/drivers/net/phy
Oleksij Rempel 510f02febb net: phy: micrel: Fix forced link mode for KSZ886X switches
Address a link speed detection issue in KSZ886X PHY driver when in
forced link mode. Previously, link partners like "ASIX AX88772B"
with KSZ8873 could fall back to 10Mbit instead of configured 100Mbit.

The issue arises as KSZ886X PHY continues sending Fast Link Pulses (FLPs)
even with autonegotiation off, misleading link partners in autoneg mode,
leading to incorrect link speed detection.

Now, when autonegotiation is disabled, the driver sets the link state
forcefully using KSZ886X_CTRL_FORCE_LINK bit. This action, beyond just
disabling autonegotiation, makes the PHY state more reliably detected by
link partners using parallel detection, thus fixing the link speed
misconfiguration.

With autonegotiation enabled, link state is not forced, allowing proper
autonegotiation process participation.

Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Divya Koppera <divya.koppera@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2023-10-20 11:50:46 +01:00
..
mscc net: phy: mscc: macsec: reject PN update requests 2023-10-10 10:30:31 +02:00
adin.c
adin1100.c
amd.c net: phy: amd: Support the Altima AMI101L 2023-10-03 11:44:09 +02:00
aquantia.h
aquantia_hwmon.c net: phy: aquantia: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
aquantia_main.c
at803x.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-10 14:10:53 -07:00
ax88796b.c net: phy: fix regression with AX88772A PHY driver 2023-09-19 17:03:44 +02:00
bcm-cygnus.c
bcm-phy-lib.c net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bcm-phy-lib.h net: phy: broadcom: Add support for setting LED brightness 2023-06-09 10:38:43 +01:00
bcm-phy-ptp.c
bcm7xxx.c net: phy: bcm7xxx: Add missing 16nm EPHY statistics 2023-10-18 18:13:13 -07:00
bcm63xx.c
bcm87xx.c
bcm54140.c net: phy: bcm54140: constify pointers to hwmon_channel_info 2023-04-09 19:02:09 -07:00
bcm84881.c
broadcom.c net: phy: broadcom: add support for BCM5221 phy 2023-10-06 16:01:27 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c net: phy: dp83td510: fix kernel stall during netboot in DP83TD510E PHY driver 2023-06-22 19:43:55 -07:00
dp83640.c dp83640: Use list_for_each_entry() helper 2023-08-23 09:39:15 +01:00
dp83640_reg.h
dp83822.c
dp83848.c
dp83867.c net: phy: dp83867: Add support for hardware blinking LEDs 2023-10-06 11:38:19 +01:00
dp83869.c net: phy: dp83869: support mii mode when rgmii strap cfg is used 2023-05-09 11:57:53 +02:00
et1011c.c
fixed_phy.c
icplus.c
intel-xway.c
Kconfig net: phy: amd: Support the Altima AMI101L 2023-10-03 11:44:09 +02:00
linkmode.c
lxt.c
Makefile net: phy: provide phylib stubs for hardware timestamping operations 2023-08-02 19:11:06 -07:00
marvell-88q2xxx.c net: phy: marvell-88q2xxx: add driver for the Marvell 88Q2110 PHY 2023-07-20 12:24:06 +02:00
marvell-88x2222.c net: phy/pcs: Explicitly include correct DT includes 2023-07-26 21:55:37 -07:00
marvell.c net: phy: marvell: Add support for offloading LED blinking 2023-08-10 17:35:00 -07:00
marvell10g.c net: phy: marvell10g: fix 88x3310 power up 2023-07-23 11:47:07 +01:00
mdio-boardinfo.c
mdio-boardinfo.h
mdio-open-alliance.h
mdio_bus.c net: mdio_bus: validate "addr" for mdiobus_is_registered_device() 2023-07-25 20:07:57 -07:00
mdio_device.c
mdio_devres.c net: mdio: fix owner field for mdio buses registered using device-tree 2023-03-19 10:48:35 +00:00
mediatek-ge-soc.c net: phy: mediatek-ge-soc: support PHY LEDs 2023-08-15 18:57:59 -07:00
mediatek-ge.c net: phy: add driver for MediaTek SoC built-in GE PHYs 2023-06-12 11:55:04 +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 forced link mode for KSZ886X switches 2023-10-20 11:50:46 +01:00
microchip.c
microchip_t1.c
microchip_t1s.c net: phy: microchip_t1s: add support for Microchip LAN865x Rev.B0 PHYs 2023-05-30 11:49:55 +02:00
mii_timestamper.c
motorcomm.c net: phy: motorcomm: Add pad drive strength cfg support 2023-07-24 10:36:45 +01:00
mxl-gpy.c net: phy: mxl-gpy: extend interrupt fix to all impacted variants 2023-06-01 09:59:36 -07:00
national.c
ncn26000.c
nxp-c45-tja11xx.c net: phy: nxp-c45-tja11xx: reset PCS if the link goes down 2023-08-01 21:06:26 -07: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: phy: tja11xx: replace deprecated strncpy with ethtool_sprintf 2023-10-13 17:23:58 -07:00
phy-c45.c net: phy: c45: detect the BASE-T1 speed from the ability register 2023-07-20 12:24:06 +02:00
phy-core.c net: phy: Introduce PSGMII PHY interface mode 2023-08-14 08:12:53 +01:00
phy.c net: phy: fix regression with AX88772A PHY driver 2023-09-19 17:03:44 +02:00
phy_device.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-08-18 12:44:56 -07:00
phy_led_triggers.c
phylink.c net: phylink: remove a bunch of unused validation methods 2023-10-17 17:51:53 -07:00
qsemi.c
realtek.c net: phy: realtek: Disable clock on suspend 2023-06-07 09:52:24 +01:00
rockchip.c
sfp-bus.c net: sfp: handle 100G/25G active optical cables in sfp_parse_support 2023-08-19 19:22:14 +01:00
sfp.c net: sfp: improve Nokia GPON sfp fixup 2023-10-05 18:05:06 -07: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: replace deprecated strncpy with ethtool_sprintf 2023-10-16 16:15:00 -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
xilinx_gmii2rgmii.c