mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net-next v13 0/5] net: rnpgbe: Add TX/RX and link status support
@ 2026-09-20  9:24 Dong Yibo
  2026-09-20  9:26 ` [PATCH net-next v13 1/5] net: rnpgbe: Add interrupt handling Dong Yibo
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Dong Yibo @ 2026-09-20  9:24 UTC (permalink / raw)
  To: andrew+netdev, davem, edumazet, kuba, pabeni, vadim.fedorenko,
	u.kleine-koenig
  Cc: netdev, linux-kernel, dong100, yaojun

Hi maintainers,

This patch series adds the packet transmission, reception, and link status
management features to the RNPGBE driver, building upon the previously
introduced mailbox communication and basic driver infrastructure.

The series introduces:
- MSI-X interrupt handling with NAPI support
- TX path with scatter-gather DMA and completion handling
- RX path with page pool buffer management
- Unicast/Multicast filter.
- Firmware link-event processing and carrier management

These changes enable the RNPGBE driver to support basic TX/RX
network operations.

---
Changelog:
v12 -> v13:
[patch 1/5]:
1. Remove __MUCSE_DOWN. (Jakub Kicinski)
2. Move the NAPI shutdown synchronization from the patch3 into this
   patch. Mask queue interrupts before disabling NAPI, wait for in-flight
   poll callbacks with synchronize_net(), and mask the interrupts again
   afterwards.
3. Clarify that the mailbox workqueue is plumbing for asynchronous
   firmware event handling added later in the series.
4. Update the queue-count, interrupt-scheme, and interrupt-disable
   comments to match the current implementation.
[patch 2/5]:
1. Use WRITE_ONCE() when publishing and clearing TX/RX ring pointers to
   pair with the lockless READ_ONCE() statistics path.
2. Remove the unused mucse argument from rnpgbe_setup_tx_resources().
3. Clarify the commit message description of the hardware's 56-bit DMA
   addressing capability. Keep the dma_set_mask_and_coherent() return
   value unchecked, as the DMA API documents that masks wider than 32
   bits do not fail.
[patch 3/5]:
1. Clarify the initial RX ring fill and allocation retry timing.
2. Document the sticky AXI fault return semantics and the RX resource
   teardown preconditions.
3. Move rnpgbe_clean_rx_ring() before its first caller and remove the
   unnecessary forward declaration.
[patch 5/5]:
1. Update the GMAC link state before acknowledging firmware link
   events, keeping mailbox ownership throughout event processing.
2. Coalesce a pending level-like link event before sending port or
   link-report commands, avoiding collisions in the shared mailbox window.
3. Remove the unused periodic link-service scheduling and run the
   service task only when a link event is received.
4. Distinguish an empty mailbox from reset and other mailbox errors,
   report actual failures with a rate-limited warning, and document the
   firmware mailbox lock and acknowledgment protocol.

Links:
v1:  https://lore.kernel.org/netdev/20260325091204.94015-1-dong100@mucse.com/
v2:  https://lore.kernel.org/netdev/20260403025713.527841-1-dong100@mucse.com/
v3:  https://lore.kernel.org/netdev/20260507081539.171844-1-dong100@mucse.com/
v4:  https://lore.kernel.org/netdev/20260526033539.164061-1-dong100@mucse.com/
v5:  https://lore.kernel.org/netdev/20260528023150.239532-1-dong100@mucse.com/
v6:  https://lore.kernel.org/netdev/20260604112750.769215-1-dong100@mucse.com/
v7:  https://lore.kernel.org/netdev/20260611100036.36370-1-dong100@mucse.com/
v8:  https://lore.kernel.org/netdev/20260731120322.895955-1-dong100@mucse.com/
v9:  https://lore.kernel.org/netdev/20260814111317.1741087-1-dong100@mucse.com/
v10: https://lore.kernel.org/netdev/F44E6669E6C9E7C4+20260831073608.401988-2-dong100@mucse.com/
v11: https://lore.kernel.org/netdev/745DADAC2A5786BD+20260911112416.2142101-1-dong100@mucse.com/
v12: https://lore.kernel.org/netdev/64BE41C2D2C0836A+20260914013019.2262317-1-dong100@mucse.com/

---

Dong Yibo (5):
  net: rnpgbe: Add interrupt handling
  net: rnpgbe: Add basic TX packet transmission support
  net: rnpgbe: Add basic RX data path support
  net: rnpgbe: Add receive mode support
  net: rnpgbe: Add link status handling support

 drivers/net/ethernet/mucse/Kconfig            |    1 +
 drivers/net/ethernet/mucse/rnpgbe/Makefile    |    3 +-
 drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h    |  201 +-
 .../net/ethernet/mucse/rnpgbe/rnpgbe_chip.c   |  137 +-
 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_hw.h |   43 +
 .../net/ethernet/mucse/rnpgbe/rnpgbe_lib.c    | 2221 +++++++++++++++++
 .../net/ethernet/mucse/rnpgbe/rnpgbe_lib.h    |   84 +
 .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c   |  162 +-
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx.c    |  181 +-
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx.h    |    4 +
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.c |  283 +++
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.h |   60 +
 12 files changed, 3344 insertions(+), 36 deletions(-)
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.c
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_lib.h

-- 
2.50.1


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

end of thread, other threads:[~2026-09-21 10:20 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-20  9:24 [PATCH net-next v13 0/5] net: rnpgbe: Add TX/RX and link status support Dong Yibo
2026-09-20  9:26 ` [PATCH net-next v13 1/5] net: rnpgbe: Add interrupt handling Dong Yibo
2026-09-21 10:20   ` netdev-bot+sashiko
2026-09-20  9:26 ` [PATCH net-next v13 2/5] net: rnpgbe: Add basic TX packet transmission support Dong Yibo
2026-09-21 10:20   ` netdev-bot+sashiko
2026-09-20  9:26 ` [PATCH net-next v13 3/5] net: rnpgbe: Add basic RX data path support Dong Yibo
2026-09-21 10:20   ` netdev-bot+sashiko
2026-09-20  9:26 ` [PATCH net-next v13 4/5] net: rnpgbe: Add receive mode support Dong Yibo
2026-09-20  9:27 ` [PATCH net-next v13 5/5] net: rnpgbe: Add link status handling support Dong Yibo
2026-09-21 10:20   ` netdev-bot+sashiko

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®