linux/drivers/net/phy
Horatiu Vultur bc1a59cff9 phy: mscc: Fix timestamping for vsc8584
There was a problem when we received frames and the frames were
timestamped. The driver is configured to store the nanosecond part of
the timestmap in the ptp reserved bits and it would take the second part
by reading the LTC. The problem is that when reading the LTC we are in
atomic context and to read the second part will go over mdio bus which
might sleep, so we get an error.
The fix consists in actually put all the frames in a queue and start the
aux work and in that work to read the LTC and then calculate the full
received time.

Fixes: 7d272e63e0 ("net: phy: mscc: timestamping and PHC support")
Signed-off-by: Horatiu Vultur <horatiu.vultur@microchip.com>
Reviewed-by: Vadim Fedorenko <vadim.fedorenko@linux.dev>
Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Link: https://patch.msgid.link/20250818081029.1300780-1-horatiu.vultur@microchip.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2025-08-19 17:52:02 -07:00
..
aquantia net: phy: aquantia: fix commenting format 2025-04-29 15:13:21 -07:00
mediatek net: phy: add Kconfig symbol PHY_PACKAGE 2025-06-16 14:59:30 -07:00
mscc phy: mscc: Fix timestamping for vsc8584 2025-08-19 17:52:02 -07:00
qcom treewide: rename GPIO set callbacks back to their original names 2025-08-07 10:07:06 +02:00
realtek net: phy: realtek: add error handling to rtl8211f_get_wol 2025-06-25 16:54:31 -07:00
Kconfig net: phy: add Kconfig symbol PHY_PACKAGE 2025-06-16 14:59:30 -07:00
Makefile net: phy: add Kconfig symbol PHY_PACKAGE 2025-06-16 14:59:30 -07:00
adin.c
adin1100.c
air_en8811h.c net: phy: air_en8811h: Introduce resume/suspend and clk_restore_context to ensure correct CKO settings after network interface reinitialization. 2025-07-01 19:35:43 -07:00
amd.c
as21xxx.c net: phy: Add support for Aeonsemi AS21xxx PHYs 2025-05-21 15:56:10 -07:00
ax88796b.c
ax88796b_rust.rs
bcm-cygnus.c
bcm-phy-lib.c
bcm-phy-lib.h
bcm-phy-ptp.c
bcm7xxx.c
bcm63xx.c
bcm87xx.c net: phy: bcm87xx: simplify .match_phy_device OP 2025-05-21 15:56:09 -07:00
bcm54140.c
bcm84881.c
broadcom.c net: phy: bcm54811: PHY initialization 2025-07-09 19:32:31 -07:00
cicada.c
cortina.c
davicom.c
dp83tc811.c
dp83td510.c
dp83tg720.c net: phy: dp83tg720: switch to adaptive polling and remove random delays 2025-06-13 18:09:47 -07:00
dp83640.c net: ptp: introduce .supported_perout_flags to ptp_clock_info 2025-04-15 20:20:58 -07:00
dp83640_reg.h
dp83822.c net: phy: simplify phy_get_internal_delay() 2025-06-12 18:23:54 -07:00
dp83848.c
dp83867.c net: phy: dp83867: use 2ns delay if not specified in DTB 2025-05-12 18:43:35 -07:00
dp83869.c net: phy: simplify phy_get_internal_delay() 2025-06-12 18:23:54 -07:00
et1011c.c
fixed_phy.c net: phy: fixed_phy: constify status argument where possible 2025-05-20 18:17:43 -07:00
icplus.c net: phy: pass PHY driver to .match_phy_device OP 2025-05-21 15:56:09 -07:00
intel-xway.c net: phy: simplify phy_get_internal_delay() 2025-06-12 18:23:54 -07:00
linkmode.c
lxt.c
marvell-88q2xxx.c net: phy: marvell-88q2xxx: Enable temperature measurement in probe again 2025-05-15 12:32:09 +02:00
marvell-88x2222.c
marvell.c
marvell10g.c net: phy: pass PHY driver to .match_phy_device OP 2025-05-21 15:56:09 -07:00
mdio-boardinfo.c net: phy: directly copy struct mdio_board_info in mdiobus_register_board_info 2025-06-13 16:37:23 -07:00
mdio-boardinfo.h net: phy: improve mdio-boardinfo.h 2025-06-13 16:37:23 -07:00
mdio-open-alliance.h
mdio_bus.c net: mdiobus: release reset_gpio in mdiobus_unregister_device() 2025-08-12 12:32:58 +02:00
mdio_bus_provider.c net: mdiobus: release reset_gpio in mdiobus_unregister_device() 2025-08-12 12:32:58 +02:00
mdio_device.c net: phy: assign default match function for non-PHY MDIO devices 2025-06-12 18:12:37 -07:00
mdio_devres.c
meson-gxl.c
micrel.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2025-07-26 11:49:45 -07:00
microchip.c net: phy: microchip: limit 100M workaround to link-down events on LAN88xx 2025-07-10 18:08:16 -07:00
microchip_rds_ptp.c net: ptp: introduce .supported_perout_flags to ptp_clock_info 2025-04-15 20:20:58 -07:00
microchip_rds_ptp.h
microchip_t1.c
microchip_t1s.c
mii_timestamper.c
motorcomm.c
mxl-86110.c net: phy: add driver for MaxLinear MxL86110 PHY 2025-05-27 09:36:17 +02:00
mxl-gpy.c
national.c
ncn26000.c
nxp-c45-tja11xx-macsec.c
nxp-c45-tja11xx.c net: phy: nxp-c45-tja11xx: fix the PHY ID mismatch issue when using C45 2025-08-12 12:01:07 +02:00
nxp-c45-tja11xx.h
nxp-cbtx.c
nxp-tja11xx.c net: phy: pass PHY driver to .match_phy_device OP 2025-05-21 15:56:09 -07:00
open_alliance_helpers.c
open_alliance_helpers.h
phy-c45.c net: phy: move definition of genphy_c45_driver to phy_device.c 2025-06-12 18:23:08 -07:00
phy-caps.h
phy-core.c net: phy: MII-Lite PHY interface mode 2025-07-09 19:32:30 -07:00
phy.c
phy_caps.c net: phy: MII-Lite PHY interface mode 2025-07-09 19:32:30 -07:00
phy_device.c net: phy: Don't register LEDs for genphy 2025-07-14 17:54:06 -07:00
phy_led_triggers.c net: phy: leds: fix memory leak 2025-04-22 18:25:18 -07:00
phy_link_topology.c
phy_package.c net: phy: make phy_package a separate module 2025-06-16 14:59:30 -07:00
phylib-internal.h net: phy: move __phy_package_[read|write]_mmd to phy_package.c 2025-06-16 14:59:29 -07:00
phylib.h
phylink.c net: phy: MII-Lite PHY interface mode 2025-07-09 19:32:30 -07:00
qsemi.c
qt2025.rs
rockchip.c
sfp-bus.c
sfp.c net: sfp: add quirk for Potron SFP+ XGSPON ONU Stick 2025-06-19 15:42:33 -07:00
sfp.h
smsc.c net: phy: smsc: add proper reset flags for LAN8710A 2025-07-30 18:14:11 -07:00
spi_ks8995.c sysfs: treewide: switch back to bin_attribute::read()/write() 2025-06-17 10:44:13 +02:00
ste10Xp.c
stubs.c
swphy.c
swphy.h
teranetics.c net: phy: pass PHY driver to .match_phy_device OP 2025-05-21 15:56:09 -07:00
uPD60620.c
vitesse.c
xilinx_gmii2rgmii.c