|
|
Subscribe / Log in / New account

Add driver for 1Gbe network chips from MUCSE

From:  Dong Yibo <dong100-AT-mucse.com>
To:  davem-AT-davemloft.net, edumazet-AT-google.com, kuba-AT-kernel.org, pabeni-AT-redhat.com, horms-AT-kernel.org, corbet-AT-lwn.net, andrew+netdev-AT-lunn.ch, danishanwar-AT-ti.com, vadim.fedorenko-AT-linux.dev
Subject:  [PATCH net-next v14 0/5] Add driver for 1Gbe network chips from MUCSE
Date:  Tue, 14 Oct 2025 15:27:06 +0800
Message-ID:  <20251014072711.13448-1-dong100@mucse.com>
Cc:  netdev-AT-vger.kernel.org, linux-doc-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, dong100-AT-mucse.com
Archive-link:  Article

Hi maintainers,

This patch series adds support for MUCSE RNPGBE 1Gbps PCIe Ethernet controllers
(N500/N210 series), including build infrastructure, hardware initialization,
mailbox (MBX) communication with firmware, and basic netdev registration
(Can show mac witch is got from firmware, and tx/rx will be added later).

Series breakdown (5 patches):
 01/05: net: ethernet/mucse: Add build support for rnpgbe
       - Kconfig/Makefile for MUCSE vendor, basic PCI probe (no netdev)
 02/05: net: ethernet/mucse: Add N500/N210 chip support
       - netdev allocation, BAR mapping
 03/05: net: ethernet/mucse: Add basic MBX ops for PF-FW communication
       - base read/write, write with poll ack, poll and read data
 04/05: net: ethernet/mucse: Add FW commands (sync, reset, MAC query)
       - FW sync retry logic, MAC address retrieval, reset hw with
         base mbx ops in patch4
 05/05: net: ethernet/mucse: Complete netdev registration
       - HW reset, MAC setup, netdev_ops registration

Changelog:
v13 -> v14:
  [patch 1/5]:
  1. Update rnpgbe.rst (Remove copyright, fix out of order and remove
     support statements). (Jakub Kicinski)
  2. remove 'select PAGE_POOL' in Kconfig. (Jakub Kicinski)
  3. Fix MODULE_AUTHOR in rnpgbe_main.c. (Jakub Kicinski)
  [patch 5/5]:
  1. Remove mucse_hw_operations define, call func directly. (Jakub Kicinski)
  2. Add err_powerdown to handle erros after powerup. (Jakub Kicinski)
  3. Remove use deprecated netdev->stats.tx_dropped. (Jakub Kicinski)

links:
v13: https://lore.kernel.org/netdev/20250922014111.225155-1-do...
v12: https://lore.kernel.org/netdev/20250916112952.26032-1-don...
v11: https://lore.kernel.org/netdev/20250909120906.1781444-1-d...
v10: https://lore.kernel.org/netdev/20250903025430.864836-1-do...
v9 : https://lore.kernel.org/netdev/20250828025547.568563-1-do...
v8 : https://lore.kernel.org/netdev/20250827034509.501980-1-do...
v7 : https://lore.kernel.org/netdev/20250822023453.1910972-1-d...
v6 : https://lore.kernel.org/netdev/20250820092154.1643120-1-d...
v5 : https://lore.kernel.org/netdev/20250818112856.1446278-1-d...
v4 : https://lore.kernel.org/netdev/20250814073855.1060601-1-d...
v3 : https://lore.kernel.org/netdev/20250812093937.882045-1-do...
v2 : https://lore.kernel.org/netdev/20250721113238.18615-1-don...
v1 : https://lore.kernel.org/netdev/20250703014859.210110-1-do...

Dong Yibo (5):
  net: rnpgbe: Add build support for rnpgbe
  net: rnpgbe: Add n500/n210 chip support with BAR2 mapping
  net: rnpgbe: Add basic mbx ops support
  net: rnpgbe: Add basic mbx_fw support
  net: rnpgbe: Add register_netdev

 .../device_drivers/ethernet/index.rst         |   1 +
 .../device_drivers/ethernet/mucse/rnpgbe.rst  |  17 +
 MAINTAINERS                                   |   8 +
 drivers/net/ethernet/Kconfig                  |   1 +
 drivers/net/ethernet/Makefile                 |   1 +
 drivers/net/ethernet/mucse/Kconfig            |  33 ++
 drivers/net/ethernet/mucse/Makefile           |   7 +
 drivers/net/ethernet/mucse/rnpgbe/Makefile    |  11 +
 drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h    |  81 ++++
 .../net/ethernet/mucse/rnpgbe/rnpgbe_chip.c   | 143 ++++++
 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_hw.h |  17 +
 .../net/ethernet/mucse/rnpgbe/rnpgbe_main.c   | 318 +++++++++++++
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx.c    | 416 ++++++++++++++++++
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx.h    |  20 +
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.c | 195 ++++++++
 .../net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.h | 121 +++++
 16 files changed, 1390 insertions(+)
 create mode 100644 Documentation/networking/device_drivers/ethernet/mucse/rnpgbe.rst
 create mode 100644 drivers/net/ethernet/mucse/Kconfig
 create mode 100644 drivers/net/ethernet/mucse/Makefile
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/Makefile
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe.h
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_chip.c
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_hw.h
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_main.c
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_mbx.c
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_mbx.h
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.c
 create mode 100644 drivers/net/ethernet/mucse/rnpgbe/rnpgbe_mbx_fw.h

-- 
2.25.1




Copyright © 2025, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds