DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH v5 00/15] A new net PMD - hinic
@ 2019-06-19 15:45 Ziyang Xuan
  2019-06-19 15:46 ` [dpdk-dev] [PATCH v5 01/15] net/hinic/base: add HW registers definition Ziyang Xuan
                   ` (15 more replies)
  0 siblings, 16 replies; 31+ messages in thread
From: Ziyang Xuan @ 2019-06-19 15:45 UTC (permalink / raw)
  To: dev
  Cc: ferruh.yigit, cloud.wangxiaoyun, zhouguoyang, shahar.belkar,
	luoxianjun, Ziyang Xuan

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

-- 
2.18.0


^ permalink raw reply	[flat|nested] 31+ messages in thread
* Re: [dpdk-dev] [PATCH v5 00/15] A new net PMD - hinic
@ 2019-06-26 14:42 Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions)
  2019-06-26 16:48 ` Ferruh Yigit
  0 siblings, 1 reply; 31+ messages in thread
From: Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions) @ 2019-06-26 14:42 UTC (permalink / raw)
  To: Ferruh Yigit, dev
  Cc: Wangxiaoyun (Cloud, Network Chip Application Development Dept),
	zhouguoyang, Shahar Belkar, Luoxianjun, Tanya Brokhman

> 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

Hi Feruh,

Before sending the patches, I always run the " ./devtools/checkpatches.sh "
and "./devtools/check-git-log.sh" to check the patches. There are not errors/warnings.

The following is the result of "./devtools/check-git-log.sh" checking:

root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0000-cover-letter.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0001-net-hinic-base-add-HW-registers-definition.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0002-net-hinic-base-add-HW-interfaces-of-bar-operation.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0003-net-hinic-base-add-api-command-channel-code.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0004-net-hinic-base-add-support-for-cmdq-mechanism.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0005-net-hinic-base-add-eq-mechanism-function-code.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0006-net-hinic-base-add-mgmt-module-function-code.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0007-net-hinic-base-add-code-about-hardware-operation.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0008-net-hinic-base-add-nic-business-configurations.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0009-net-hinic-base-add-context-and-work-queue-support.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0010-net-hinic-add-various-headers.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0011-net-hinic-add-hinic-PMD-build-and-doc-files.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0012-net-hinic-add-device-initailization.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0013-net-hinic-add-start-stop-close-queue-ops.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0014-net-hinic-add-tx-rx-package-burst.patch
root@tester_149:/home/william_xuan/patch/dpdk-next-net#./devtools/check-git-log.sh v5-0015-net-hinic-add-rss-stats-promisc-ops.patch

Best Regards,
Ziyang Xuan

^ permalink raw reply	[flat|nested] 31+ messages in thread

end of thread, other threads:[~2019-06-26 16:48 UTC | newest]

Thread overview: 31+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-19 15:45 [dpdk-dev] [PATCH v5 00/15] A new net PMD - hinic Ziyang Xuan
2019-06-19 15:46 ` [dpdk-dev] [PATCH v5 01/15] net/hinic/base: add HW registers definition Ziyang Xuan
2019-06-19 15:50 ` [dpdk-dev] [PATCH v5 02/15] net/hinic/base: add HW interfaces of bar operation Ziyang Xuan
2019-06-19 15:47   ` Ziyang Xuan
2019-06-19 15:54 ` [dpdk-dev] [PATCH v5 03/15] net/hinic/base: add api command channel code Ziyang Xuan
2019-06-19 15:55 ` [dpdk-dev] [PATCH v5 04/15] net/hinic/base: add support for cmdq mechanism Ziyang Xuan
2019-06-19 15:56 ` [dpdk-dev] [PATCH v5 05/15] net/hinic/base: add eq mechanism function code Ziyang Xuan
2019-06-19 15:57 ` [dpdk-dev] [PATCH v5 06/15] net/hinic/base: add mgmt module " Ziyang Xuan
2019-06-19 16:02 ` [dpdk-dev] [PATCH v5 07/15] net/hinic/base: add code about hardware operation Ziyang Xuan
2019-06-19 15:58   ` Ziyang Xuan
2019-06-19 16:04 ` [dpdk-dev] [PATCH v5 08/15] net/hinic/base: add nic business configurations Ziyang Xuan
2019-06-19 16:05 ` [dpdk-dev] [PATCH v5 09/15] net/hinic/base: add context and work queue support Ziyang Xuan
2019-06-19 16:08 ` [dpdk-dev] [PATCH v5 10/15] net/hinic: add various headers Ziyang Xuan
2019-06-26 11:54   ` Ferruh Yigit
2019-06-19 16:09 ` [dpdk-dev] [PATCH v5 11/15] net/hinic: add hinic PMD build and doc files Ziyang Xuan
2019-06-19 16:13   ` Ziyang Xuan
2019-06-26 11:55   ` Ferruh Yigit
2019-06-19 16:16 ` [dpdk-dev] [PATCH v5 12/15] net/hinic: add device initailization Ziyang Xuan
2019-06-19 16:14   ` Ziyang Xuan
2019-06-19 16:30   ` Ziyang Xuan
2019-06-19 16:18 ` [dpdk-dev] [PATCH v5 13/15] net/hinic: add start stop close queue ops Ziyang Xuan
2019-06-19 16:32   ` Ziyang Xuan
2019-06-19 16:20 ` [dpdk-dev] [PATCH v5 14/15] net/hinic: add tx/rx package burst Ziyang Xuan
2019-06-19 16:25   ` Ziyang Xuan
2019-06-26 11:54   ` Ferruh Yigit
2019-06-26 15:58     ` [dpdk-dev] 答复: " Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions)
2019-06-26 16:05       ` Ferruh Yigit
2019-06-19 16:23 ` [dpdk-dev] [PATCH v5 15/15] net/hinic: add rss stats promisc ops Ziyang Xuan
2019-06-26 11:56 ` [dpdk-dev] [PATCH v5 00/15] A new net PMD - hinic Ferruh Yigit
2019-06-26 14:42 Xuanziyang (William, Chip Application Design Logic and Hardware Development Dept IT_Products & Solutions)
2019-06-26 16:48 ` Ferruh Yigit

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).