[v5,00/15] A new net PMD - hinic
mbox series

Message ID cover.1560958308.git.xuanziyang2@huawei.com
Headers show
Series
  • A new net PMD - hinic
Related show

Message

Ziyang Xuan June 19, 2019, 3:45 p.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.

---
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

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: 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 tx/rx package burst
  net/hinic: add rss stats promisc ops

 MAINTAINERS                                  |    9 +
 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                   |   46 +
 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             | 1037 ++++++++
 drivers/net/hinic/hinic_pmd_rx.h             |  128 +
 drivers/net/hinic/hinic_pmd_tx.c             | 1242 ++++++++++
 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, 16326 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

Comments

Ferruh Yigit June 26, 2019, 11:56 a.m. UTC | #1
On 6/19/2019 4:45 PM, Ziyang Xuan wrote:
> 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
> 
> 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: 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 tx/rx package burst
>   net/hinic: add rss stats promisc ops

Hi Ziyang,

I put a few minor comments on patches, other than those looks good.

Also can you please run "./devtools/check-git-log.sh", I think it will give some
warnings on commit log syntax, can you please check them?

Thanks,
ferruh