From patchwork Thu Jul 8 09:32:20 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiawen Wu X-Patchwork-Id: 95544 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id E2F24A0C4A; Thu, 8 Jul 2021 11:35:10 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D42E5415A6; Thu, 8 Jul 2021 11:35:10 +0200 (CEST) Received: from qq.com (smtpbg558.qq.com [183.3.226.228]) by mails.dpdk.org (Postfix) with ESMTP id E528A4069C for ; Thu, 8 Jul 2021 11:35:08 +0200 (CEST) X-QQ-mid: bizesmtp44t1625736768t1p7zh4v Received: from jiawenwu.trustnetic.com (unknown [183.129.236.74]) by esmtp6.qq.com (ESMTP) with id ; Thu, 08 Jul 2021 17:32:46 +0800 (CST) X-QQ-SSF: 01400000002000D0E000B00A0000000 X-QQ-FEAT: ax5UL3vccN4Givn2paWX4Q+j/DGk1T1wbO0WzYq2QGhSt1MsBnLZnkVS+ZPQp 2SsMRQDWQVi6L/78ErN7OEiKUo7Mm1WFL/sdaJkktbKdEaQ+GbLDTVKbTk/KvL57BRTUG4l 8ftOZeOp61GsqT+Ml25YPDaemqGkJ1Id/immrcMJlDmfA8+kx+AcvhHa5QuVe8tawPvKQqU 1r0hhSH6/5LeoS9n3fbsOWtVrCGeK3B5vkaiI5KsgytHM/7cZDi0OaIm6/AFDkS1ZVIClIt lLQKcw48Sk9hlSB41L0Avor5mWTUcdjS2mJxkq/KMRWskSVaQznAcnjSWb87aBXsPhYAjSb cnTRCiT5lSsgAa4+qR9jbZnvXa2uLvFcjNqleNv X-QQ-GoodBg: 2 From: Jiawen Wu To: dev@dpdk.org Cc: Jiawen Wu Date: Thu, 8 Jul 2021 17:32:20 +0800 Message-Id: <20210708093239.13896-1-jiawenwu@trustnetic.com> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:trustnetic.com:qybgforeign:qybgforeign7 X-QQ-Bgrelay: 1 Subject: [dpdk-dev] [PATCH v8 00/19] net: ngbe PMD X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 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 provides a skeleton of ngbe PMD, which adapted to Wangxun WX1860 series NICs. v8: - Fix some check patch errors. - Remove __rte_cold. v7: - Fix minor issues and re-order patches. v6: - Correct style errors and re-split patches. v5: - Extend patches with device initialization and RxTx functions. v4: - Fix compile error. v3: - Use rte_ether functions to define marcos. v2: - Correct some clerical errors. - Use ethdev debug flags instead of driver own. Jiawen Wu (19): net/ngbe: add build and doc infrastructure net/ngbe: support probe and remove net/ngbe: add log type and error type net/ngbe: define registers net/ngbe: set MAC type and LAN ID with device initialization net/ngbe: init and validate EEPROM net/ngbe: add HW initialization net/ngbe: identify PHY and reset PHY net/ngbe: store MAC address net/ngbe: support link update net/ngbe: setup the check PHY link net/ngbe: add Rx queue setup and release net/ngbe: add Tx queue setup and release net/ngbe: add device start and stop operations net/ngbe: add Tx queue start and stop net/ngbe: add Rx queue start and stop net/ngbe: add simple Rx flow net/ngbe: add simple Tx flow net/ngbe: support to close and reset device MAINTAINERS | 6 + doc/guides/nics/features/ngbe.ini | 15 + doc/guides/nics/index.rst | 1 + doc/guides/nics/ngbe.rst | 58 + doc/guides/rel_notes/release_21_08.rst | 5 + drivers/net/meson.build | 1 + drivers/net/ngbe/base/meson.build | 21 + drivers/net/ngbe/base/ngbe.h | 11 + drivers/net/ngbe/base/ngbe_devids.h | 83 ++ drivers/net/ngbe/base/ngbe_dummy.h | 209 ++++ drivers/net/ngbe/base/ngbe_eeprom.c | 203 ++++ drivers/net/ngbe/base/ngbe_eeprom.h | 17 + drivers/net/ngbe/base/ngbe_hw.c | 1068 +++++++++++++++++ drivers/net/ngbe/base/ngbe_hw.h | 59 + drivers/net/ngbe/base/ngbe_mng.c | 198 ++++ drivers/net/ngbe/base/ngbe_mng.h | 65 ++ drivers/net/ngbe/base/ngbe_osdep.h | 183 +++ drivers/net/ngbe/base/ngbe_phy.c | 451 +++++++ drivers/net/ngbe/base/ngbe_phy.h | 62 + drivers/net/ngbe/base/ngbe_phy_mvl.c | 251 ++++ drivers/net/ngbe/base/ngbe_phy_mvl.h | 97 ++ drivers/net/ngbe/base/ngbe_phy_rtl.c | 289 +++++ drivers/net/ngbe/base/ngbe_phy_rtl.h | 89 ++ drivers/net/ngbe/base/ngbe_phy_yt.c | 272 +++++ drivers/net/ngbe/base/ngbe_phy_yt.h | 76 ++ drivers/net/ngbe/base/ngbe_regs.h | 1490 ++++++++++++++++++++++++ drivers/net/ngbe/base/ngbe_status.h | 73 ++ drivers/net/ngbe/base/ngbe_type.h | 204 ++++ drivers/net/ngbe/meson.build | 18 + drivers/net/ngbe/ngbe_ethdev.c | 1177 +++++++++++++++++++ drivers/net/ngbe/ngbe_ethdev.h | 134 +++ drivers/net/ngbe/ngbe_logs.h | 46 + drivers/net/ngbe/ngbe_rxtx.c | 1327 +++++++++++++++++++++ drivers/net/ngbe/ngbe_rxtx.h | 309 +++++ drivers/net/ngbe/version.map | 3 + 35 files changed, 8571 insertions(+) create mode 100644 doc/guides/nics/features/ngbe.ini create mode 100644 doc/guides/nics/ngbe.rst create mode 100644 drivers/net/ngbe/base/meson.build create mode 100644 drivers/net/ngbe/base/ngbe.h create mode 100644 drivers/net/ngbe/base/ngbe_devids.h create mode 100644 drivers/net/ngbe/base/ngbe_dummy.h create mode 100644 drivers/net/ngbe/base/ngbe_eeprom.c create mode 100644 drivers/net/ngbe/base/ngbe_eeprom.h create mode 100644 drivers/net/ngbe/base/ngbe_hw.c create mode 100644 drivers/net/ngbe/base/ngbe_hw.h create mode 100644 drivers/net/ngbe/base/ngbe_mng.c create mode 100644 drivers/net/ngbe/base/ngbe_mng.h create mode 100644 drivers/net/ngbe/base/ngbe_osdep.h create mode 100644 drivers/net/ngbe/base/ngbe_phy.c create mode 100644 drivers/net/ngbe/base/ngbe_phy.h create mode 100644 drivers/net/ngbe/base/ngbe_phy_mvl.c create mode 100644 drivers/net/ngbe/base/ngbe_phy_mvl.h create mode 100644 drivers/net/ngbe/base/ngbe_phy_rtl.c create mode 100644 drivers/net/ngbe/base/ngbe_phy_rtl.h create mode 100644 drivers/net/ngbe/base/ngbe_phy_yt.c create mode 100644 drivers/net/ngbe/base/ngbe_phy_yt.h create mode 100644 drivers/net/ngbe/base/ngbe_regs.h create mode 100644 drivers/net/ngbe/base/ngbe_status.h create mode 100644 drivers/net/ngbe/base/ngbe_type.h create mode 100644 drivers/net/ngbe/meson.build create mode 100644 drivers/net/ngbe/ngbe_ethdev.c create mode 100644 drivers/net/ngbe/ngbe_ethdev.h create mode 100644 drivers/net/ngbe/ngbe_logs.h create mode 100644 drivers/net/ngbe/ngbe_rxtx.c create mode 100644 drivers/net/ngbe/ngbe_rxtx.h create mode 100644 drivers/net/ngbe/version.map