mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net v1 0/2] net: phy: smsc: use IRQ + relaxed polling to fix missed link-up
@ 2025-07-07 15:32 Oleksij Rempel
  2025-07-07 15:32 ` [PATCH net v1 1/2] net: phy: enable polling when driver implements get_next_update_time Oleksij Rempel
  2025-07-07 15:32 ` [PATCH net v1 2/2] net: phy: smsc: add adaptive polling to recover missed link-up on LAN8700 Oleksij Rempel
  0 siblings, 2 replies; 5+ messages in thread
From: Oleksij Rempel @ 2025-07-07 15:32 UTC (permalink / raw)
  To: Andrew Lunn, Heiner Kallweit, David S. Miller, Eric Dumazet,
	Jakub Kicinski, Paolo Abeni
  Cc: Oleksij Rempel, kernel, linux-kernel, Russell King, netdev,
	Andre Edich, Lukas Wunner

This series makes the SMSC LAN8700 (LAN9512) family reliable again
when it is forced to 10 Mb/s and the link partner still advertises
autonegotiation:

Patch 1 – core: treat get_next_update_time() as a reason to keep
the phylib timer running.

Patch 2 – smsc-phy: combine the existing interrupt line with a new
adaptive poll:
- poll every 1 s while the link is down or for 30 s after the last
  interrupt (catches the silent link-up),
- poll only every 30 s once the link is up (reduces wake-ups and saves
  power).  IRQs are still delivered immediately, so genuine link changes
  are reported with minimal latency.

Testing:
Baseline, parallel-detection and advertisement test suites were run on a
LAN9512 (LAN8700 core) against an Intel I350 NIC. All relevant tests
passed.

Thanks,
Oleksij Rempel

Oleksij Rempel (2):
  net: phy: enable polling when driver implements get_next_update_time
  net: phy: smsc: add adaptive polling to recover missed link-up on
    LAN8700

 drivers/net/phy/smsc.c | 43 ++++++++++++++++++++++++++++++++++++++++++
 include/linux/phy.h    |  2 +-
 2 files changed, 44 insertions(+), 1 deletion(-)

--
2.39.5


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2025-07-08  9:20 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2025-07-07 15:32 [PATCH net v1 0/2] net: phy: smsc: use IRQ + relaxed polling to fix missed link-up Oleksij Rempel
2025-07-07 15:32 ` [PATCH net v1 1/2] net: phy: enable polling when driver implements get_next_update_time Oleksij Rempel
2025-07-07 15:32 ` [PATCH net v1 2/2] net: phy: smsc: add adaptive polling to recover missed link-up on LAN8700 Oleksij Rempel
2025-07-07 18:10   ` Lukas Wunner
2025-07-08  9:19     ` Oleksij Rempel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®