1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/freescale
Laurent Badel c730ab423b net: fec: Fix temporary RMII clock reset on link up
fec_restart() does a hard reset of the MAC module when the link status
changes to up. This temporarily resets the R_CNTRL register which controls
the MII mode of the ENET_OUT clock. In the case of RMII, the clock
frequency momentarily drops from 50MHz to 25MHz until the register is
reconfigured. Some link partners do not tolerate this glitch and
invalidate the link causing failure to establish a stable link when using
PHY polling mode. Since as per IEEE802.3 the criteria for link validity
are PHY-specific, what the partner should tolerate cannot be assumed, so
avoid resetting the MII clock by using software reset instead of hardware
reset when the link is up. This is generally relevant only if the SoC
provides the clock to an external PHY and the PHY is configured for RMII.

Signed-off-by: Laurent Badel <laurentbadel@eaton.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2021-01-26 18:24:39 -08:00
..
dpaa net: freescale: dpaa: simplify the return dpaa_eth_refill_bpools() 2020-12-09 17:05:37 -08:00
dpaa2 dpaa2-eth: fix the size of the mapped SGT buffer 2020-12-16 11:01:07 -08:00
enetc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2020-12-11 22:29:38 -08:00
fman ethernet: select CONFIG_CRC32 as needed 2020-12-04 14:42:21 -08:00
fs_enet net: ethernet: fs_enet: Add missing MODULE_LICENSE 2021-01-05 16:56:35 -08:00
fec.h net: fec: Fix temporary RMII clock reset on link up 2021-01-26 18:24:39 -08:00
fec_main.c net: fec: Fix temporary RMII clock reset on link up 2021-01-26 18:24:39 -08:00
fec_mpc52xx.c net: fec_mpc52xx: Replace in_interrupt() usage 2020-09-29 14:02:54 -07:00
fec_mpc52xx.h drivers/net: fix up stale paths from driver reorg 2012-01-30 12:54:40 -05:00
fec_mpc52xx_phy.c mdio: Move allocation of interrupts into core 2016-01-07 14:31:26 -05:00
fec_ptp.c drivers/net/ethernet: clean up mis-targeted comments 2020-09-25 16:29:00 -07:00
fsl_pq_mdio.c net: freescale: convert comma to semicolon 2020-12-09 16:23:08 -08:00
gianfar.c gianfar: Account for Tx PTP timestamp in the skb headroom 2020-10-30 09:36:01 -07:00
gianfar.h net/freescale: Clean drivers from static versions 2020-03-03 17:54:55 -08:00
gianfar_ethtool.c net: gianfar: reject unsupported coalescing params 2020-03-12 11:32:35 -07:00
Kconfig ethernet: select CONFIG_CRC32 as needed 2020-12-04 14:42:21 -08:00
Makefile net: dsa: felix: fix link error 2020-01-08 16:05:54 -08:00
ucc_geth.c ethernet: ucc_geth: fix use-after-free in ucc_geth_remove() 2020-12-21 17:29:43 -08:00
ucc_geth.h ethernet: ucc_geth: fix definition and size of ucc_geth_tx_global_pram 2020-12-21 17:24:19 -08:00
ucc_geth_ethtool.c net/freescale: Don't set zero if FW not-available in ucc_geth 2020-03-03 17:54:55 -08:00
xgmac_mdio.c net/fsl: quieten expected MDIO access failures 2020-09-24 20:13:26 -07:00