[V12 00/18] add-hinic3-PMD-driver

Stephen Hemminger stephen at networkplumber.org
Tue Sep 23 17:57:56 CEST 2025


On Fri, 19 Sep 2025 19:24:04 +0800
Feifei Wang <wff_light at vip.163.com> wrote:

> The hinic3 PMD (**librte_net_hinic3**) provides poll mode driver support
> for 25Gbps/100Gbps/200Gbps Huawei SPx series Network Adapters.
> 
> V12:
> -modify get_bit function
> -remove define but not used macro
> -modify time_before macro
> 
> v11:
> -reorder code to avoid forward declarations
> -remove unused casts
> -use assignment instead of memcpy
> -change some LOG level to DEBUG level
> -remove unused function
> -remove unused check in mtu_set/dev_config/valn_filter_set
> -defer start/stop
> -use strlpy instead snprintf 
> -remove unnecessary line breaks, fit on line
> 
> v10:
> -add prefix to some functions
> -use memcpy instead of rte_memcpy for simple fixed copies
> -modify LOG messege format
> -modify meson.build files
> -remove unused check in queue_start/stop/intr
> -remove unused function 
> -remove function that stubbed out
> -modify some api log level
> -remove features unsuppurted
> -modify some casts
> -change xstats_cal_num return type
> -modify stats get function 
>  
> v9:
> -resolve type conflict issue
> 
> v8:
> -resolve CI compile error
> -modify mbox section
> 
> v7:
> -remove unused-functions
> 
> v6:
> -modify based on community comments
> -remove mml files
> 
> v5:
> -fix build err
> 
> v4: 
> -solve patch application conflict issue 
>  
> v3:
> -fix checkpatchs errors issue
> 
> v2:
> -modify CI compile errors
> 
> v1:
> -modify community comments and compile issues
> -remove the compilation flags in the meson build
> -remove (void) cur_link_machine_state
> -remove '*** BLURE HERE ***' in cover letter
> 
> Feifei Wang (2):
>   net/hinic3: add dev ops
>   net/hinic3: add Rx/Tx functions
> 
> Xin Wang (7):
>   net/hinic3: add basic header files
>   net/hinic3: add support for cmdq mechanism
>   net/hinic3: add NIC event module
>   net/hinic3: add context and work queue support
>   net/hinic3: add futions for initialization
>   net/hinic3: add device initialization
>   net/hinic3: add RSS promiscuous ops
> 
> Yi Chen (9):
>   doc: add hinic3 driver
>   net/hinic3: add hardware interfaces of BAR operation
>   net/hinic3: add eq mechanism
>   net/hinic3: add mgmt module function code
>   net/hinic3: add module about hardware operation
>   net/hinic3: add a NIC business configuration module
>   net/hinic3: add a mailbox communication module
>   net/hinic3: add flow control and FDIR module
>   drivers/net: add hinic3 PMD build and doc files
> 
>  .mailmap                                   |    4 +-
>  MAINTAINERS                                |    6 +
>  doc/guides/nics/features/hinic3.ini        |   60 +
>  doc/guides/nics/hinic3.rst                 |   47 +
>  doc/guides/nics/index.rst                  |    1 +
>  doc/guides/rel_notes/release_25_11.rst     |    4 +
>  drivers/net/hinic3/base/hinic3_cmd.h       |  135 +
>  drivers/net/hinic3/base/hinic3_cmdq.c      |  962 ++++++
>  drivers/net/hinic3/base/hinic3_cmdq.h      |  222 ++
>  drivers/net/hinic3/base/hinic3_compat.h    |  133 +
>  drivers/net/hinic3/base/hinic3_csr.h       |  104 +
>  drivers/net/hinic3/base/hinic3_eqs.c       |  700 ++++
>  drivers/net/hinic3/base/hinic3_eqs.h       |   92 +
>  drivers/net/hinic3/base/hinic3_hw_cfg.c    |  190 ++
>  drivers/net/hinic3/base/hinic3_hw_cfg.h    |  110 +
>  drivers/net/hinic3/base/hinic3_hw_comm.c   |  442 +++
>  drivers/net/hinic3/base/hinic3_hw_comm.h   |  365 ++
>  drivers/net/hinic3/base/hinic3_hwdev.c     |  549 +++
>  drivers/net/hinic3/base/hinic3_hwdev.h     |  166 +
>  drivers/net/hinic3/base/hinic3_hwif.c      |  739 ++++
>  drivers/net/hinic3/base/hinic3_hwif.h      |  145 +
>  drivers/net/hinic3/base/hinic3_mbox.c      | 1189 +++++++
>  drivers/net/hinic3/base/hinic3_mbox.h      |  181 +
>  drivers/net/hinic3/base/hinic3_mgmt.c      |  340 ++
>  drivers/net/hinic3/base/hinic3_mgmt.h      |  102 +
>  drivers/net/hinic3/base/hinic3_nic_cfg.c   | 1785 ++++++++++
>  drivers/net/hinic3/base/hinic3_nic_cfg.h   | 1517 +++++++++
>  drivers/net/hinic3/base/hinic3_nic_event.c |  400 +++
>  drivers/net/hinic3/base/hinic3_nic_event.h |   38 +
>  drivers/net/hinic3/base/hinic3_wq.c        |  139 +
>  drivers/net/hinic3/base/hinic3_wq.h        |  109 +
>  drivers/net/hinic3/base/meson.build        |   16 +
>  drivers/net/hinic3/hinic3_ethdev.c         | 3565 ++++++++++++++++++++
>  drivers/net/hinic3/hinic3_ethdev.h         |  164 +
>  drivers/net/hinic3/hinic3_fdir.c           | 1364 ++++++++
>  drivers/net/hinic3/hinic3_fdir.h           |  398 +++
>  drivers/net/hinic3/hinic3_flow.c           | 1476 ++++++++
>  drivers/net/hinic3/hinic3_flow.h           |  196 ++
>  drivers/net/hinic3/hinic3_nic_io.c         |  802 +++++
>  drivers/net/hinic3/hinic3_nic_io.h         |  171 +
>  drivers/net/hinic3/hinic3_rx.c             | 1057 ++++++
>  drivers/net/hinic3/hinic3_rx.h             |  354 ++
>  drivers/net/hinic3/hinic3_tx.c             | 1025 ++++++
>  drivers/net/hinic3/hinic3_tx.h             |  314 ++
>  drivers/net/hinic3/meson.build             |   30 +
>  drivers/net/meson.build                    |    1 +
>  46 files changed, 21908 insertions(+), 1 deletion(-)
>  create mode 100644 doc/guides/nics/features/hinic3.ini
>  create mode 100644 doc/guides/nics/hinic3.rst
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmd.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmdq.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_cmdq.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_compat.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_csr.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_eqs.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_eqs.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_hw_cfg.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_hw_cfg.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_hw_comm.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_hw_comm.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_hwdev.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_hwdev.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_hwif.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_hwif.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_mbox.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_mbox.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_mgmt.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_mgmt.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_nic_cfg.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_nic_cfg.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_nic_event.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_nic_event.h
>  create mode 100644 drivers/net/hinic3/base/hinic3_wq.c
>  create mode 100644 drivers/net/hinic3/base/hinic3_wq.h
>  create mode 100644 drivers/net/hinic3/base/meson.build
>  create mode 100644 drivers/net/hinic3/hinic3_ethdev.c
>  create mode 100644 drivers/net/hinic3/hinic3_ethdev.h
>  create mode 100644 drivers/net/hinic3/hinic3_fdir.c
>  create mode 100644 drivers/net/hinic3/hinic3_fdir.h
>  create mode 100644 drivers/net/hinic3/hinic3_flow.c
>  create mode 100644 drivers/net/hinic3/hinic3_flow.h
>  create mode 100644 drivers/net/hinic3/hinic3_nic_io.c
>  create mode 100644 drivers/net/hinic3/hinic3_nic_io.h
>  create mode 100644 drivers/net/hinic3/hinic3_rx.c
>  create mode 100644 drivers/net/hinic3/hinic3_rx.h
>  create mode 100644 drivers/net/hinic3/hinic3_tx.c
>  create mode 100644 drivers/net/hinic3/hinic3_tx.h
>  create mode 100644 drivers/net/hinic3/meson.build
> 

Queued to next-net. Thank you for following up on all the review


More information about the dev mailing list