[00/11] A new net PMD - hinic
mbox series

Message ID 1558426387-186840-1-git-send-email-xuanziyang2@huawei.com
Headers show
Series
  • A new net PMD - hinic
Related show

Message

Ziyang Xuan May 21, 2019, 8:13 a.m. UTC
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.

Ziyang Xuan (11):
  net/hinic/base: add registers for Huawei Hi1822 NIC
  net/hinic/base: add command channels code
  net/hinic/base: add mgmt module interactive code
  net/hinic/base: add code about hardware operation
  net/hinic/base: add eqs and context code
  net/hinic/base: add code for nic business
  net/hinic/base: add various headers
  net/hinic: add hinic PMD build and doc files
  net/hinic: add RX module
  net/hinic: add TX module
  net/hinic: add support for basic device operations

 MAINTAINERS                                       |    9 +
 config/common_base                                |    5 +
 doc/guides/nics/features/hinic.ini                |   32 +
 drivers/net/Makefile                              |    1 +
 drivers/net/hinic/Makefile                        |   91 +
 drivers/net/hinic/base/hinic_compat.h             |  257 +++
 drivers/net/hinic/base/hinic_csr.h                |  172 ++
 drivers/net/hinic/base/hinic_ctx_def.h            |  201 ++
 drivers/net/hinic/base/hinic_logs.c               |   16 +
 drivers/net/hinic/base/hinic_logs.h               |   31 +
 drivers/net/hinic/base/hinic_pmd_api_cmd.c        | 1040 ++++++++++
 drivers/net/hinic/base/hinic_pmd_api_cmd.h        |  271 +++
 drivers/net/hinic/base/hinic_pmd_cfg.c            |  269 +++
 drivers/net/hinic/base/hinic_pmd_cfg.h            |  264 +++
 drivers/net/hinic/base/hinic_pmd_cmdq.c           |  910 +++++++++
 drivers/net/hinic/base/hinic_pmd_cmdq.h           |  190 ++
 drivers/net/hinic/base/hinic_pmd_dpdev.h          |  149 ++
 drivers/net/hinic/base/hinic_pmd_eqs.c            |  736 +++++++
 drivers/net/hinic/base/hinic_pmd_eqs.h            |   94 +
 drivers/net/hinic/base/hinic_pmd_hw.h             |   49 +
 drivers/net/hinic/base/hinic_pmd_hw_mgmt.h        |   85 +
 drivers/net/hinic/base/hinic_pmd_hwdev.c          | 1544 +++++++++++++++
 drivers/net/hinic/base/hinic_pmd_hwdev.h          |  207 ++
 drivers/net/hinic/base/hinic_pmd_hwif.c           |  542 ++++++
 drivers/net/hinic/base/hinic_pmd_hwif.h           |   90 +
 drivers/net/hinic/base/hinic_pmd_mgmt.c           |  619 ++++++
 drivers/net/hinic/base/hinic_pmd_mgmt.h           |  125 ++
 drivers/net/hinic/base/hinic_pmd_mgmt_interface.h |  503 +++++
 drivers/net/hinic/base/hinic_pmd_nic.h            |   85 +
 drivers/net/hinic/base/hinic_pmd_niccfg.c         | 1408 ++++++++++++++
 drivers/net/hinic/base/hinic_pmd_niccfg.h         |  333 ++++
 drivers/net/hinic/base/hinic_pmd_nicio.c          |  920 +++++++++
 drivers/net/hinic/base/hinic_pmd_nicio.h          |   53 +
 drivers/net/hinic/base/hinic_pmd_qp.c             |   26 +
 drivers/net/hinic/base/hinic_pmd_qp.h             |   76 +
 drivers/net/hinic/base/hinic_pmd_wq.c             |  164 ++
 drivers/net/hinic/base/hinic_pmd_wq.h             |   52 +
 drivers/net/hinic/base/hinic_port_cmd.h           |  494 +++++
 drivers/net/hinic/base/hinic_qe_def.h             |  461 +++++
 drivers/net/hinic/base/meson.build                |   61 +
 drivers/net/hinic/hinic_pmd_dpdev.c               |  720 +++++++
 drivers/net/hinic/hinic_pmd_ethdev.c              | 2157 +++++++++++++++++++++
 drivers/net/hinic/hinic_pmd_ethdev.h              |  106 +
 drivers/net/hinic/hinic_pmd_rx.c                  |  906 +++++++++
 drivers/net/hinic/hinic_pmd_rx.h                  |  135 ++
 drivers/net/hinic/hinic_pmd_tx.c                  | 1036 ++++++++++
 drivers/net/hinic/hinic_pmd_tx.h                  |   97 +
 drivers/net/hinic/meson.build                     |   18 +
 drivers/net/hinic/rte_pmd_hinic_version.map       |    4 +
 mk/rte.app.mk                                     |    1 +
 50 files changed, 17815 insertions(+)
 create mode 100644 doc/guides/nics/features/hinic.ini
 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_ctx_def.h
 create mode 100644 drivers/net/hinic/base/hinic_logs.c
 create mode 100644 drivers/net/hinic/base/hinic_logs.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_cmdq.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_cmdq.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_dpdev.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_hw.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_hw_mgmt.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_mgmt_interface.h
 create mode 100644 drivers/net/hinic/base/hinic_pmd_nic.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_qp.c
 create mode 100644 drivers/net/hinic/base/hinic_pmd_qp.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/hinic_port_cmd.h
 create mode 100644 drivers/net/hinic/base/hinic_qe_def.h
 create mode 100644 drivers/net/hinic/base/meson.build
 create mode 100644 drivers/net/hinic/hinic_pmd_dpdev.c
 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