All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 net-next 00/15] nbl driver for Nebulamatrix NICs
@ 2026-01-09 10:01 illusion.wang
  2026-01-09 10:01 ` [PATCH v2 net-next 01/15] net/nebula-matrix: add minimum nbl build framework illusion.wang
                   ` (15 more replies)
  0 siblings, 16 replies; 19+ messages in thread
From: illusion.wang @ 2026-01-09 10:01 UTC (permalink / raw)
  To: dimon.zhao, illusion.wang, alvin.wang, sam.chen, netdev
  Cc: andrew+netdev, corbet, kuba, linux-doc, lorenzo, pabeni, horms,
	vadim.fedorenko, lukas.bulwahn, edumazet, open list

The patch series add the nbl driver, which will support nebula-matrix
18100 and 18110 series of network cards.
This submission is the first phase. which includes the PF-based and
VF-based Ethernet transmit and receive functionality. Once this is
merged. will submit addition patches to implement support for other
features. such as ethtool support, debugfs support and etc.

Changes v1->v2
Link to v1: https://lore.kernel.org/netdev/20251223035113.31122-1-illusion.wang@nebula-matrix.com/
1.Format Issues and Compilation Issues
- Paolo Abeni
2.add sysfs patch and drop coexisting patch
- Andrew Lunn
3.delete some unimportant ndo operations
4.add machine generated headers patch
5.Modify the issues found in patch1-2 and apply the same fixes to other
patches
6.modify issues found by nipa

illusion.wang (15):
  net/nebula-matrix: add minimum nbl build framework
  net/nebula-matrix: add simple probe/remove
  net/nebula-matrix: add HW layer definitions and implementation
  net/nebula-matrix: add machine-generated headers and chip definitions
  net/nebula-matrix: add channel layer definitions and implementation
  net/nebula-matrix: add resource layer definitions and implementation
  net/nebula-matrix: add intr resource definitions and implementation
  net/nebula-matrix: add vsi, queue, adminq resource definitions and
    implementation
  net/nebula-matrix: add flow resource definitions and implementation
  net/nebula-matrix: add txrx resource definitions and implementation
  net/nebula-matrix: add Dispatch layer definitions and implementation
  net/nebula-matrix: add Service layer definitions and implementation
  net/nebula-matrix: add Dev init,remove operation
  net/nebula-matrix: add Dev start, stop operation
  net/nebula-matrix: add st_sysfs and vf name sysfs

 .../ethernet/nebula-matrix/m18100.rst         |   52 +
 MAINTAINERS                                   |   10 +
 drivers/net/ethernet/Kconfig                  |    1 +
 drivers/net/ethernet/Makefile                 |    1 +
 drivers/net/ethernet/nebula-matrix/Kconfig    |   39 +
 drivers/net/ethernet/nebula-matrix/Makefile   |    6 +
 .../net/ethernet/nebula-matrix/nbl/Makefile   |   29 +
 .../nbl/nbl_channel/nbl_channel.c             | 1482 ++++++
 .../nbl/nbl_channel/nbl_channel.h             |  205 +
 .../nebula-matrix/nbl/nbl_common/nbl_common.c |  784 +++
 .../nebula-matrix/nbl/nbl_common/nbl_common.h |   54 +
 .../net/ethernet/nebula-matrix/nbl/nbl_core.h |  144 +
 .../nebula-matrix/nbl/nbl_core/nbl_dev.c      | 3194 ++++++++++++
 .../nebula-matrix/nbl/nbl_core/nbl_dev.h      |  270 ++
 .../nebula-matrix/nbl/nbl_core/nbl_dispatch.c | 4265 +++++++++++++++++
 .../nebula-matrix/nbl/nbl_core/nbl_dispatch.h |   78 +
 .../nebula-matrix/nbl/nbl_core/nbl_service.c  | 3804 +++++++++++++++
 .../nebula-matrix/nbl/nbl_core/nbl_service.h  |  240 +
 .../nebula-matrix/nbl/nbl_core/nbl_sysfs.c    |   85 +
 .../nebula-matrix/nbl/nbl_core/nbl_sysfs.h    |   20 +
 .../nebula-matrix/nbl/nbl_hw/nbl_adminq.c     | 1446 ++++++
 .../nebula-matrix/nbl/nbl_hw/nbl_adminq.h     |  160 +
 .../nebula-matrix/nbl/nbl_hw/nbl_hw.h         |  172 +
 .../nbl_hw/nbl_hw_leonis/base/nbl_datapath.h  |   11 +
 .../nbl_hw_leonis/base/nbl_datapath_dped.h    | 2152 +++++++++
 .../nbl_hw_leonis/base/nbl_datapath_dstore.h  |  929 ++++
 .../nbl_hw_leonis/base/nbl_datapath_ucar.h    |  414 ++
 .../nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe.h   |   10 +
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h  |  665 +++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_ipro.h  | 1397 ++++++
 .../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c    | 2268 +++++++++
 .../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.h    |  204 +
 .../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.c  | 3186 ++++++++++++
 .../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.h  | 1714 +++++++
 .../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.c | 3863 +++++++++++++++
 .../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.h |   12 +
 .../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.c   | 1430 ++++++
 .../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.h   |   23 +
 .../nbl_hw_leonis/nbl_resource_leonis.c       | 1067 +++++
 .../nbl_hw_leonis/nbl_resource_leonis.h       |   28 +
 .../nebula-matrix/nbl/nbl_hw/nbl_hw_reg.h     |  156 +
 .../nebula-matrix/nbl/nbl_hw/nbl_interrupt.c  |  448 ++
 .../nebula-matrix/nbl/nbl_hw/nbl_interrupt.h  |   13 +
 .../nebula-matrix/nbl/nbl_hw/nbl_queue.c      |   60 +
 .../nebula-matrix/nbl/nbl_hw/nbl_queue.h      |   11 +
 .../nebula-matrix/nbl/nbl_hw/nbl_resource.c   |  444 ++
 .../nebula-matrix/nbl/nbl_hw/nbl_resource.h   |  878 ++++
 .../nebula-matrix/nbl/nbl_hw/nbl_txrx.c       | 2150 +++++++++
 .../nebula-matrix/nbl/nbl_hw/nbl_txrx.h       |  184 +
 .../nebula-matrix/nbl/nbl_hw/nbl_vsi.c        |  168 +
 .../nebula-matrix/nbl/nbl_hw/nbl_vsi.h        |   12 +
 .../nbl/nbl_include/nbl_def_channel.h         |  715 +++
 .../nbl/nbl_include/nbl_def_common.h          |  410 ++
 .../nbl/nbl_include/nbl_def_dev.h             |   32 +
 .../nbl/nbl_include/nbl_def_dispatch.h        |  190 +
 .../nbl/nbl_include/nbl_def_hw.h              |  157 +
 .../nbl/nbl_include/nbl_def_resource.h        |  183 +
 .../nbl/nbl_include/nbl_def_service.h         |  156 +
 .../nbl/nbl_include/nbl_include.h             |  542 +++
 .../nbl/nbl_include/nbl_product_base.h        |   20 +
 .../net/ethernet/nebula-matrix/nbl/nbl_main.c |  435 ++
 61 files changed, 43278 insertions(+)
 create mode 100644 Documentation/networking/device_drivers/ethernet/nebula-matrix/m18100.rst
 create mode 100644 drivers/net/ethernet/nebula-matrix/Kconfig
 create mode 100644 drivers/net/ethernet/nebula-matrix/Makefile
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/Makefile
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_channel/nbl_channel.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_channel/nbl_channel.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_common/nbl_common.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dispatch.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_service.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_sysfs.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_sysfs.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_adminq.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_dped.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_dstore.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_ucar.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_ipro.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_flow_leonis.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_queue_leonis.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_queue_leonis.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/nbl_resource_leonis.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_reg.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_interrupt.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_queue.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_queue.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_resource.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_txrx.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_vsi.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_channel.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_common.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_dev.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_dispatch.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_hw.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_resource.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_def_service.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_include.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_include/nbl_product_base.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_main.c

-- 
2.47.3


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

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

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-09 10:01 [PATCH v2 net-next 00/15] nbl driver for Nebulamatrix NICs illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 01/15] net/nebula-matrix: add minimum nbl build framework illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 02/15] net/nebula-matrix: add simple probe/remove illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 03/15] net/nebula-matrix: add HW layer definitions and implementation illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 04/15] net/nebula-matrix: add machine-generated headers and chip definitions illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 05/15] net/nebula-matrix: add channel layer definitions and implementation illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 06/15] net/nebula-matrix: add resource " illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 07/15] net/nebula-matrix: add intr resource " illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 08/15] net/nebula-matrix: add vsi, queue, adminq " illusion.wang
2026-01-09 18:38   ` Andrew Lunn
2026-01-09 10:01 ` [PATCH v2 net-next 09/15] net/nebula-matrix: add flow " illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 10/15] net/nebula-matrix: add txrx " illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 11/15] net/nebula-matrix: add Dispatch layer " illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 12/15] net/nebula-matrix: add Service " illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 13/15] net/nebula-matrix: add Dev init,remove operation illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 14/15] net/nebula-matrix: add Dev start, stop operation illusion.wang
2026-01-09 10:01 ` [PATCH v2 net-next 15/15] net/nebula-matrix: add st_sysfs and vf name sysfs illusion.wang
2026-01-09 18:40   ` Andrew Lunn
2026-01-10  0:20 ` [PATCH v2 net-next 00/15] nbl driver for Nebulamatrix NICs Jakub Kicinski

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.