[PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs

illusion.wang posted 15 patches 1 month, 2 weeks ago
Only 14 patches received!
There is a newer version of this series
.../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   |   41 +
.../nbl/nbl_channel/nbl_channel.c             | 1518 +++++
.../nbl/nbl_channel/nbl_channel.h             |  214 +
.../nebula-matrix/nbl/nbl_common/nbl_common.c | 1063 ++++
.../nebula-matrix/nbl/nbl_common/nbl_common.h |   69 +
.../net/ethernet/nebula-matrix/nbl/nbl_core.h |  145 +
.../nebula-matrix/nbl/nbl_core/nbl_dev.c      | 3277 +++++++++++
.../nebula-matrix/nbl/nbl_core/nbl_dev.h      |  343 ++
.../nebula-matrix/nbl/nbl_core/nbl_dev_user.c | 1607 ++++++
.../nebula-matrix/nbl/nbl_core/nbl_dev_user.h |   76 +
.../nebula-matrix/nbl/nbl_core/nbl_dispatch.c | 4756 ++++++++++++++++
.../nebula-matrix/nbl/nbl_core/nbl_dispatch.h |   89 +
.../nebula-matrix/nbl/nbl_core/nbl_service.c  | 4895 +++++++++++++++++
.../nebula-matrix/nbl/nbl_core/nbl_service.h  |  301 +
.../nebula-matrix/nbl/nbl_core/nbl_sysfs.c    |   79 +
.../nebula-matrix/nbl/nbl_core/nbl_sysfs.h    |   21 +
.../nebula-matrix/nbl/nbl_hw/nbl_adminq.c     | 1520 +++++
.../nebula-matrix/nbl/nbl_hw/nbl_adminq.h     |  196 +
.../nebula-matrix/nbl/nbl_hw/nbl_hw.h         |  184 +
.../nbl_hw/nbl_hw_leonis/base/nbl_datapath.h  |   14 +
.../nbl_hw_leonis/base/nbl_datapath_dpa.h     |  765 +++
.../nbl_hw_leonis/base/nbl_datapath_dped.h    | 2152 ++++++++
.../nbl_hw_leonis/base/nbl_datapath_dstore.h  |  957 ++++
.../nbl_hw_leonis/base/nbl_datapath_ucar.h    |  414 ++
.../nbl_hw_leonis/base/nbl_datapath_upa.h     |  822 +++
.../nbl_hw_leonis/base/nbl_datapath_uped.h    | 1499 +++++
.../nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe.h   |   16 +
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_acl.h   | 2417 ++++++++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h  |  665 +++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_fem.h   | 1490 +++++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_ipro.h  | 1397 +++++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_mcc.h   |  412 ++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp0.h   |  619 +++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp1.h   |  701 +++
.../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp2.h   |  619 +++
.../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c    | 2094 +++++++
.../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.h    |  204 +
.../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.c  | 3062 +++++++++++
.../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.h  | 1844 +++++++
.../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.c | 3864 +++++++++++++
.../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.h |   12 +
.../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.c   | 1373 +++++
.../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.h   |   25 +
.../nbl_hw_leonis/nbl_resource_leonis.c       | 1073 ++++
.../nbl_hw_leonis/nbl_resource_leonis.h       |   26 +
.../nebula-matrix/nbl/nbl_hw/nbl_hw_reg.h     |  187 +
.../nebula-matrix/nbl/nbl_hw/nbl_interrupt.c  |  409 ++
.../nebula-matrix/nbl/nbl_hw/nbl_interrupt.h  |   13 +
.../nebula-matrix/nbl/nbl_hw/nbl_p4_actions.h |   59 +
.../nebula-matrix/nbl/nbl_hw/nbl_queue.c      |   56 +
.../nebula-matrix/nbl/nbl_hw/nbl_queue.h      |   11 +
.../nebula-matrix/nbl/nbl_hw/nbl_resource.c   |  409 ++
.../nebula-matrix/nbl/nbl_hw/nbl_resource.h   |  853 +++
.../nebula-matrix/nbl/nbl_hw/nbl_txrx.c       | 2026 +++++++
.../nebula-matrix/nbl/nbl_hw/nbl_txrx.h       |  188 +
.../nebula-matrix/nbl/nbl_hw/nbl_vsi.c        |  270 +
.../nebula-matrix/nbl/nbl_hw/nbl_vsi.h        |   12 +
.../nbl/nbl_include/nbl_def_channel.h         |  785 +++
.../nbl/nbl_include/nbl_def_common.h          |  515 ++
.../nbl/nbl_include/nbl_def_dev.h             |   37 +
.../nbl/nbl_include/nbl_def_dispatch.h        |  192 +
.../nbl/nbl_include/nbl_def_hw.h              |  142 +
.../nbl/nbl_include/nbl_def_resource.h        |  188 +
.../nbl/nbl_include/nbl_def_service.h         |  164 +
.../nbl/nbl_include/nbl_include.h             |  624 +++
.../nbl/nbl_include/nbl_product_base.h        |   21 +
.../net/ethernet/nebula-matrix/nbl/nbl_main.c |  477 ++
73 files changed, 56677 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_dev_user.c
create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.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_dpa.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_datapath_upa.h
create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_uped.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_acl.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_fem.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/base/nbl_ppe_mcc.h
create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp0.h
create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp1.h
create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp2.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_p4_actions.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
[PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs
Posted by illusion.wang 1 month, 2 weeks ago
The patch series add the nbl driver, which will support the 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.
Our Driver architecture  supports Kernel Mode and Coexistence Mode(kernel and dpdk)

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 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 layer definitions and implementation
  net/nebula-matrix: add Dev start, stop operation
  net/nebula-matrix: fully support ndo operations
  net/nebula-matrix: add kernel/user coexist mode support

 .../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   |   41 +
 .../nbl/nbl_channel/nbl_channel.c             | 1518 +++++
 .../nbl/nbl_channel/nbl_channel.h             |  214 +
 .../nebula-matrix/nbl/nbl_common/nbl_common.c | 1063 ++++
 .../nebula-matrix/nbl/nbl_common/nbl_common.h |   69 +
 .../net/ethernet/nebula-matrix/nbl/nbl_core.h |  145 +
 .../nebula-matrix/nbl/nbl_core/nbl_dev.c      | 3277 +++++++++++
 .../nebula-matrix/nbl/nbl_core/nbl_dev.h      |  343 ++
 .../nebula-matrix/nbl/nbl_core/nbl_dev_user.c | 1607 ++++++
 .../nebula-matrix/nbl/nbl_core/nbl_dev_user.h |   76 +
 .../nebula-matrix/nbl/nbl_core/nbl_dispatch.c | 4756 ++++++++++++++++
 .../nebula-matrix/nbl/nbl_core/nbl_dispatch.h |   89 +
 .../nebula-matrix/nbl/nbl_core/nbl_service.c  | 4895 +++++++++++++++++
 .../nebula-matrix/nbl/nbl_core/nbl_service.h  |  301 +
 .../nebula-matrix/nbl/nbl_core/nbl_sysfs.c    |   79 +
 .../nebula-matrix/nbl/nbl_core/nbl_sysfs.h    |   21 +
 .../nebula-matrix/nbl/nbl_hw/nbl_adminq.c     | 1520 +++++
 .../nebula-matrix/nbl/nbl_hw/nbl_adminq.h     |  196 +
 .../nebula-matrix/nbl/nbl_hw/nbl_hw.h         |  184 +
 .../nbl_hw/nbl_hw_leonis/base/nbl_datapath.h  |   14 +
 .../nbl_hw_leonis/base/nbl_datapath_dpa.h     |  765 +++
 .../nbl_hw_leonis/base/nbl_datapath_dped.h    | 2152 ++++++++
 .../nbl_hw_leonis/base/nbl_datapath_dstore.h  |  957 ++++
 .../nbl_hw_leonis/base/nbl_datapath_ucar.h    |  414 ++
 .../nbl_hw_leonis/base/nbl_datapath_upa.h     |  822 +++
 .../nbl_hw_leonis/base/nbl_datapath_uped.h    | 1499 +++++
 .../nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe.h   |   16 +
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_acl.h   | 2417 ++++++++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_epro.h  |  665 +++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_fem.h   | 1490 +++++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_ipro.h  | 1397 +++++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_mcc.h   |  412 ++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp0.h   |  619 +++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp1.h   |  701 +++
 .../nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp2.h   |  619 +++
 .../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.c    | 2094 +++++++
 .../nbl_hw/nbl_hw_leonis/nbl_flow_leonis.h    |  204 +
 .../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.c  | 3062 +++++++++++
 .../nbl/nbl_hw/nbl_hw_leonis/nbl_hw_leonis.h  | 1844 +++++++
 .../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.c | 3864 +++++++++++++
 .../nbl_hw/nbl_hw_leonis/nbl_hw_leonis_regs.h |   12 +
 .../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.c   | 1373 +++++
 .../nbl_hw/nbl_hw_leonis/nbl_queue_leonis.h   |   25 +
 .../nbl_hw_leonis/nbl_resource_leonis.c       | 1073 ++++
 .../nbl_hw_leonis/nbl_resource_leonis.h       |   26 +
 .../nebula-matrix/nbl/nbl_hw/nbl_hw_reg.h     |  187 +
 .../nebula-matrix/nbl/nbl_hw/nbl_interrupt.c  |  409 ++
 .../nebula-matrix/nbl/nbl_hw/nbl_interrupt.h  |   13 +
 .../nebula-matrix/nbl/nbl_hw/nbl_p4_actions.h |   59 +
 .../nebula-matrix/nbl/nbl_hw/nbl_queue.c      |   56 +
 .../nebula-matrix/nbl/nbl_hw/nbl_queue.h      |   11 +
 .../nebula-matrix/nbl/nbl_hw/nbl_resource.c   |  409 ++
 .../nebula-matrix/nbl/nbl_hw/nbl_resource.h   |  853 +++
 .../nebula-matrix/nbl/nbl_hw/nbl_txrx.c       | 2026 +++++++
 .../nebula-matrix/nbl/nbl_hw/nbl_txrx.h       |  188 +
 .../nebula-matrix/nbl/nbl_hw/nbl_vsi.c        |  270 +
 .../nebula-matrix/nbl/nbl_hw/nbl_vsi.h        |   12 +
 .../nbl/nbl_include/nbl_def_channel.h         |  785 +++
 .../nbl/nbl_include/nbl_def_common.h          |  515 ++
 .../nbl/nbl_include/nbl_def_dev.h             |   37 +
 .../nbl/nbl_include/nbl_def_dispatch.h        |  192 +
 .../nbl/nbl_include/nbl_def_hw.h              |  142 +
 .../nbl/nbl_include/nbl_def_resource.h        |  188 +
 .../nbl/nbl_include/nbl_def_service.h         |  164 +
 .../nbl/nbl_include/nbl_include.h             |  624 +++
 .../nbl/nbl_include/nbl_product_base.h        |   21 +
 .../net/ethernet/nebula-matrix/nbl/nbl_main.c |  477 ++
 73 files changed, 56677 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_dev_user.c
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_core/nbl_dev_user.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_dpa.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_datapath_upa.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_datapath_uped.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_acl.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_fem.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/base/nbl_ppe_mcc.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp0.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp1.h
 create mode 100644 drivers/net/ethernet/nebula-matrix/nbl/nbl_hw/nbl_hw_leonis/base/nbl_ppe_pp2.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_p4_actions.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.43.0
Re: [PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs
Posted by Paolo Abeni 1 month, 2 weeks ago
On 12/23/25 4:50 AM, illusion.wang wrote:
> The patch series add the nbl driver, which will support the 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.
> Our Driver architecture  supports Kernel Mode and Coexistence Mode(kernel and dpdk)

Not a real review, but this series has several basic issues:

- each patch should compile and build without warnings on all arches
- don't use inline in c code
- avoid using 'module_params'
- the preferred line width is still 80 chars
- strip changed-id from the commit message
- respect the reverse christmas tree order for variable declaration
- commit messages lines should be wrapped at 72 chars

Note that you can clone the NIPA repository:

https://github.com/linux-netdev/nipa/

and use the ingest_mdir.py script to validate most of the above check
before submission (otherwise you should do that manually).

However...

## Form letter - net-next-closed

The net-next tree is closed for new drivers, features, code refactoring
and optimizations due to the merge window and the winter break. We are
currently accepting bug fixes only.

Please repost when net-next reopens after Jan 2nd.

RFC patches sent for review only are obviously welcome at any time.
回复:[PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs
Posted by Illusion Wang 1 month, 1 week ago



------------------------------------------------------------------
发件人:Paolo Abeni <pabeni@redhat.com>
发送时间:2025年12月23日(周二) 15:08
收件人:Illusion Wang<illusion.wang@nebula-matrix.com>; Dimon<dimon.zhao@nebula-matrix.com>; Alvin<alvin.wang@nebula-matrix.com>; Sam<sam.chen@nebula-matrix.com>; netdev<netdev@vger.kernel.org>
抄 送:open list<linux-kernel@vger.kernel.org>
主 题:Re: [PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs


On 12/23/25 4:50 AM, illusion.wang wrote:
> The patch series add the nbl driver, which will support the 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.
> Our Driver architecture  supports Kernel Mode and Coexistence Mode(kernel and dpdk)

Not a real review, but this series has several basic issues:

- each patch should compile and build without warnings on all arches
- don't use inline in c code
- avoid using 'module_params'
- the preferred line width is still 80 chars
>>>>>

Thanks for your quick reply!
However, I noticed that at
https://github.com/torvalds/linux/commit/bdc48fa11e46f867ea4d75fa59ee87a7f48be144,
And the checkpatch tool checks for a line width of 100 columns. If we make the change to 80 characters, it might reduce readability.
Could our driver set the limit to 100 columns instead?

>>>>>
- strip changed-id from the commit message
- respect the reverse christmas tree order for variable declaration
- commit messages lines should be wrapped at 72 chars

Note that you can clone the NIPA repository:

https://github.com/linux-netdev/nipa/

and use the ingest_mdir.py script to validate most of the above check
before submission (otherwise you should do that manually).

However...

## Form letter - net-next-closed

The net-next tree is closed for new drivers, features, code refactoring
and optimizations due to the merge window and the winter break. We are
currently accepting bug fixes only.

Please repost when net-next reopens after Jan 2nd.

RFC patches sent for review only are obviously welcome at any time.
Re: 回复:[PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs
Posted by Paolo Abeni 1 month, 1 week ago
On 12/29/25 2:47 AM, Illusion Wang wrote:
> 发件人:Paolo Abeni <pabeni@redhat.com>
> 发送时间:2025年12月23日(周二) 15:08
> 收件人:Illusion Wang<illusion.wang@nebula-matrix.com>; Dimon<dimon.zhao@nebula-matrix.com>; Alvin<alvin.wang@nebula-matrix.com>; Sam<sam.chen@nebula-matrix.com>; netdev<netdev@vger.kernel.org>
> 抄 送:open list<linux-kernel@vger.kernel.org>
> 主 题:Re: [PATCH v1 net-next 00/15] nbl driver for Nebulamatrix NICs
> 
> 
> On 12/23/25 4:50 AM, illusion.wang wrote:
>> The patch series add the nbl driver, which will support the 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.
>> Our Driver architecture  supports Kernel Mode and Coexistence Mode(kernel and dpdk)
> 
> Not a real review, but this series has several basic issues:
> 
> - each patch should compile and build without warnings on all arches
> - don't use inline in c code
> - avoid using 'module_params'
> - the preferred line width is still 80 chars
>>>>>>
> 
> Thanks for your quick reply!
> However, I noticed that at
> https://github.com/torvalds/linux/commit/bdc48fa11e46f867ea4d75fa59ee87a7f48be144,
> And the checkpatch tool checks for a line width of 100 columns. If we make the change to 80 characters, it might reduce readability.
> Could our driver set the limit to 100 columns instead?

Please use consistent top quoting in your next replies. This one is
quite unreadable.

Networking still uses 80 column boundaries: please adapt your code
accordingly.

Thanks,

Paolo