Re: [PATCH net-next v11 0/5] net: rnpgbe: Add TX/RX and link status support
From: Yibo Dong
Date: Fri Sep 11 2026 - 07:50:00 EST
Hi,
Please ignore v11. I found that the In-Reply-To threading is incorrect
starting with patch 2.
I will resend the series with corrected threading (24 hours later).
Thanks,
Dong Yibo
On Fri, Sep 11, 2026 at 07:24:16PM +0800, Dong Yibo wrote:
> 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:
> v10 -> v11:
> [patch 1/5]:
> 1. Drop MSI and single-vector MSI-X support. Require at least two MSI-X
> vectors, reserving vector 0 for mailbox events and using the remaining
> vectors for the data path. (Jakub Kicinski)
> 2. Prevent NAPI from re-enabling queue interrupts after the device is down.
> 3. Set the real Tx/Rx queue counts before registering the netdev.
> 4. Preserve the configured Tx/Rx queue counts when tearing down q_vectors.
> [patch 2/5]:
> 1. Treat a Tx DMA timeout as a terminal AXI fault for the current driver
> instance, and document why Tx cleanup ignores the repeated idle-wait error
> after the fault is recorded.
> 2. Free q_vectors after an RCU grace period, matching the RCU-protected
> statistics collection path.
> [patch 3/5]:
> 1. Arm Rx allocation retry timers only after NAPI has been enabled.
> 2. Mask queue interrupts again after disabling NAPI and calling
> synchronize_net(), preventing a completed poll from re-enabling them
> during device shutdown.
> 3. Clarify the hardware guarantee for the first RX descriptor length.
> [patch 4/5]:
> 1. Advertise unicast address filtering support to the networking core.
> 2. Program receive filters under the netdev address lock before enabling Rx,
> and clarify the hardware multicast hash calculation.
> 3. Clear the RAR valid bit before changing an address, and set it only after
> the complete new address has been written.
> [patch 5/5]:
> 1. Quiesce Tx DMA before notifying firmware that the port is down.
> 2. Remove the stale mailbox-event boolean return value and document why a
> failed mailbox read is not retried as transient lock contention.
> 3. Document the firmware link-event retry rate and mailbox ACK protocol.
>
> Links:
> v1: https://lore.kernel.org/netdev/20260325091204.94015-1-dong100@xxxxxxxxx/
> v2: https://lore.kernel.org/netdev/20260403025713.527841-1-dong100@xxxxxxxxx/
> v3: https://lore.kernel.org/netdev/20260507081539.171844-1-dong100@xxxxxxxxx/
> v4: https://lore.kernel.org/netdev/20260526033539.164061-1-dong100@xxxxxxxxx/
> v5: https://lore.kernel.org/netdev/20260528023150.239532-1-dong100@xxxxxxxxx/
> v6: https://lore.kernel.org/netdev/20260604112750.769215-1-dong100@xxxxxxxxx/
> v7: https://lore.kernel.org/netdev/20260611100036.36370-1-dong100@xxxxxxxxx/
> v8: https://lore.kernel.org/netdev/20260731120322.895955-1-dong100@xxxxxxxxx/
> v9: https://lore.kernel.org/netdev/20260814111317.1741087-1-dong100@xxxxxxxxx/
> v10: https://lore.kernel.org/netdev/F44E6669E6C9E7C4+20260831073608.401988-2-dong100@xxxxxxxxx/
>
> ---
>
> Dong Yibo (5):
> net: rnpgbe: Add interrupt handling
> net: rnpgbe: Add basic TX packet transmission support
> net: rnpgbe: Add RX packet reception 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 | 118 +-
> drivers/net/ethernet/mucse/rnpgbe/rnpgbe_hw.h | 43 +
> .../net/ethernet/mucse/rnpgbe/rnpgbe_lib.c | 2248 +++++++++++++++++
> .../net/ethernet/mucse/rnpgbe/rnpgbe_lib.h | 84 +
> .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c | 158 +-
> .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx.c | 32 +-
> .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx.h | 1 +
> .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.c | 235 ++
> .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.h | 43 +
> 12 files changed, 3138 insertions(+), 29 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
>