[dpdk-dev] [PATCH v6 00/15] A new net PMD - hinic

Ziyang Xuan xuanziyang2 at huawei.com
Thu Jun 27 10:10:12 CEST 2019


This patch set adds support of a new net PMD
for Huawei Intelligent nic. This patch provides supoort
for basic RX/TX and the contorl path needed for it.
Later on new features will be added like VLAN, VFs, etc.

Basic features:
1. Basic device operations: probe, initialization, start/stop,
   configure, info get.
2. RX/TX queue operations: setup/release, start/stop.
3. RX/TX.

Stats:
1. statistics and extended  statistics.

---
v2:
 - Fix arm64 compilation issue.
 - Fix some checkpatch checks issues
 - Fix patches thread issue.
 - Fit to the newest rte_ prefix patch

v3:
 - Remove Rami from hinic pmd maintainers
 - Remove hinic_logs.* files and move log codes to other files
 - Remove the C++ guards within hinic pmd codes
 - Remove variable related errors shields from compilation files
 - Use lib link statu related functions but selfdefined
 - Fix x86_64-native-linuxapp-clang compilation errors
 - Fix i686-native-linuxapp-gcc compilation errors

v4:
 - Update doc hinic.ini and hinic.rst
 - Remove x86-32, i686, BSD, Power8, ARMv7 compilations
 - Fit to newest IPV4 and IPV6 uppercase

v5:
 - Update doc hinic.rst and release_19_08.rst
 - Delete unused codes
 - Optimize arch of codes and delete unnecessary files
 - Remove rte_panic
 - Subdivided patches

v6:
 - Adjust hinic pmd maintainers
 - Use "CONFIG_RTE_ARCH_X86_64" to determine X86_64 for SSE instruction
 - Fix "check-git-log.sh" checking errors
 - Move "hinic_pmd_ethdev.h" to patch 11/15, and
   "hinic_pmd_rx.h"/"hinic_pmd_tx.h" to patch 12/15

Ziyang Xuan (15):
  net/hinic/base: add HW registers definition
  net/hinic/base: add HW interfaces of bar operation
  net/hinic/base: add API command channel code
  net/hinic/base: add support for cmdq mechanism
  net/hinic/base: add eq mechanism function code
  net/hinic/base: add mgmt module function code
  net/hinic/base: add code about hardware operation
  net/hinic/base: add NIC business configurations
  net/hinic/base: add context and work queue support
  net/hinic/base: add various headers
  net/hinic: add hinic PMD build and doc files
  net/hinic: add device initailization
  net/hinic: add start stop close queue ops
  net/hinic: add Rx/Tx package burst
  net/hinic: add RSS stats promiscuous ops

 MAINTAINERS                                  |    8 +
 config/common_base                           |    5 +
 config/common_linux                          |    5 +
 config/defconfig_arm-armv7a-linuxapp-gcc     |    1 +
 config/defconfig_i686-native-linuxapp-gcc    |    5 +
 config/defconfig_i686-native-linuxapp-icc    |    5 +
 config/defconfig_ppc_64-power8-linuxapp-gcc  |    1 +
 config/defconfig_x86_64-native-linuxapp-icc  |    5 +
 config/defconfig_x86_x32-native-linuxapp-gcc |    5 +
 doc/guides/nics/features/hinic.ini           |   37 +
 doc/guides/nics/hinic.rst                    |   58 +
 doc/guides/rel_notes/release_19_08.rst       |    6 +
 drivers/net/Makefile                         |    1 +
 drivers/net/hinic/Makefile                   |   48 +
 drivers/net/hinic/base/hinic_compat.h        |  256 ++
 drivers/net/hinic/base/hinic_csr.h           |  160 ++
 drivers/net/hinic/base/hinic_pmd_api_cmd.c   | 1042 ++++++++
 drivers/net/hinic/base/hinic_pmd_api_cmd.h   |  271 ++
 drivers/net/hinic/base/hinic_pmd_cfg.c       |  208 ++
 drivers/net/hinic/base/hinic_pmd_cfg.h       |  145 ++
 drivers/net/hinic/base/hinic_pmd_cmd.h       |  453 ++++
 drivers/net/hinic/base/hinic_pmd_cmdq.c      |  849 +++++++
 drivers/net/hinic/base/hinic_pmd_cmdq.h      |  242 ++
 drivers/net/hinic/base/hinic_pmd_eqs.c       |  609 +++++
 drivers/net/hinic/base/hinic_pmd_eqs.h       |  101 +
 drivers/net/hinic/base/hinic_pmd_hwdev.c     | 1414 +++++++++++
 drivers/net/hinic/base/hinic_pmd_hwdev.h     |  485 ++++
 drivers/net/hinic/base/hinic_pmd_hwif.c      |  474 ++++
 drivers/net/hinic/base/hinic_pmd_hwif.h      |  119 +
 drivers/net/hinic/base/hinic_pmd_mgmt.c      |  773 ++++++
 drivers/net/hinic/base/hinic_pmd_mgmt.h      |  119 +
 drivers/net/hinic/base/hinic_pmd_niccfg.c    | 1276 ++++++++++
 drivers/net/hinic/base/hinic_pmd_niccfg.h    |  658 +++++
 drivers/net/hinic/base/hinic_pmd_nicio.c     |  894 +++++++
 drivers/net/hinic/base/hinic_pmd_nicio.h     |  265 ++
 drivers/net/hinic/base/hinic_pmd_wq.c        |  179 ++
 drivers/net/hinic/base/hinic_pmd_wq.h        |  137 +
 drivers/net/hinic/base/meson.build           |   24 +
 drivers/net/hinic/hinic_pmd_ethdev.c         | 2344 ++++++++++++++++++
 drivers/net/hinic/hinic_pmd_ethdev.h         |   71 +
 drivers/net/hinic/hinic_pmd_rx.c             | 1049 ++++++++
 drivers/net/hinic/hinic_pmd_rx.h             |  128 +
 drivers/net/hinic/hinic_pmd_tx.c             | 1248 ++++++++++
 drivers/net/hinic/hinic_pmd_tx.h             |  143 ++
 drivers/net/hinic/meson.build                |   13 +
 drivers/net/hinic/rte_pmd_hinic_version.map  |    4 +
 drivers/net/meson.build                      |    1 +
 mk/rte.app.mk                                |    1 +
 48 files changed, 16345 insertions(+)
 create mode 100644 doc/guides/nics/features/hinic.ini
 create mode 100644 doc/guides/nics/hinic.rst
 create mode 100644 drivers/net/hinic/Makefile
 create mode 100644 drivers/net/hinic/base/hinic_compat.h
 create mode 100644 drivers/net/hinic/base/hinic_csr.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_api_cmd.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_api_cmd.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cfg.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cfg.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cmd.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cmdq.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cmdq.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_eqs.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_eqs.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwdev.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwdev.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwif.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hwif.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_mgmt.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_mgmt.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_niccfg.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_niccfg.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_nicio.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_nicio.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_wq.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_wq.h
 create mode 100644 drivers/net/hinic/base/meson.build
 create mode 100644 drivers/net/hinic/hinic_pmd_ethdev.c
 create mode 100644 drivers/net/hinic/hinic_pmd_ethdev.h
 create mode 100644 drivers/net/hinic/hinic_pmd_rx.c
 create mode 100644 drivers/net/hinic/hinic_pmd_rx.h
 create mode 100644 drivers/net/hinic/hinic_pmd_tx.c
 create mode 100644 drivers/net/hinic/hinic_pmd_tx.h
 create mode 100644 drivers/net/hinic/meson.build
 create mode 100644 drivers/net/hinic/rte_pmd_hinic_version.map

-- 
2.18.0



More information about the dev mailing list