From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by dpdk.space (Postfix) with ESMTP id EE03EA0471 for ; Wed, 19 Jun 2019 18:10:24 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id D75B91C47B; Wed, 19 Jun 2019 17:33:43 +0200 (CEST) Received: from huawei.com (szxga07-in.huawei.com [45.249.212.35]) by dpdk.org (Postfix) with ESMTP id DD6D91C42E for ; Wed, 19 Jun 2019 17:33:31 +0200 (CEST) Received: from DGGEMS407-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id C9F7C460F54329F4883B for ; Wed, 19 Jun 2019 23:33:24 +0800 (CST) Received: from tester_149.localdomain (10.175.119.39) by DGGEMS407-HUB.china.huawei.com (10.3.19.207) with Microsoft SMTP Server id 14.3.439.0; Wed, 19 Jun 2019 23:33:18 +0800 From: Ziyang Xuan To: CC: , , , , , Ziyang Xuan Date: Wed, 19 Jun 2019 23:45:20 +0800 Message-ID: X-Mailer: git-send-email 2.18.0 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.119.39] X-CFilter-Loop: Reflected Subject: [dpdk-dev] [PATCH v5 00/15] A new net PMD - hinic X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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