From patchwork Mon Jun 7 17:58:41 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nithin Dabilpuram X-Patchwork-Id: 93956 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 085E8A034F; Mon, 7 Jun 2021 20:03:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8103D4068B; Mon, 7 Jun 2021 20:03:01 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 6D03E4067E for ; Mon, 7 Jun 2021 20:02:59 +0200 (CEST) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.43/8.16.0.43) with SMTP id 157I1cML017545 for ; Mon, 7 Jun 2021 11:02:58 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : in-reply-to : references : mime-version : content-type; s=pfpt0220; bh=fSgRB5e1/+oJ49WUe2P5gjryyWeMJu4YeYxLhSm4/ro=; b=eDyHrGLp9t+d/NEsrFJACtya6MY+z/vEmYmA0Z6lQjC/LIRbjZRkm4RxBHHEQHLw1iSN zJ9Na/RWJnqs15cZ/QLriwttb+m3IeQN1rlz5wKYQIizrtkHgV39sJ8iz+0NkSKx1kkr /o/kHJh9VgaxdsHGiZGs2y6BkKqGkFXmL3T3cnphF5c73lXXuWs8HTwTbNVqscoZQq6p xdfcmH/EPrxEYYa4bYGFjo4b4IJk/c508CDG5BCy+Mz+na4gzU2w1U08mfU1wCL73Xam 6pqMViyupSYEMAqO9yn/0UM8I6dRXr2w9lOyVeddw9wNCPnWfMtHXu9q/07YEXWyOuHi eQ== Received: from dc5-exch02.marvell.com ([199.233.59.182]) by mx0b-0016f401.pphosted.com with ESMTP id 391ecv2e5r-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Mon, 07 Jun 2021 11:02:58 -0700 Received: from DC5-EXCH01.marvell.com (10.69.176.38) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 7 Jun 2021 11:02:56 -0700 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Mon, 7 Jun 2021 11:02:56 -0700 Received: from hyd1588t430.marvell.com (unknown [10.29.52.204]) by maili.marvell.com (Postfix) with ESMTP id A19733F703F; Mon, 7 Jun 2021 11:02:53 -0700 (PDT) From: Nithin Dabilpuram To: CC: , , , , , , , Nithin Dabilpuram Date: Mon, 7 Jun 2021 23:28:41 +0530 Message-ID: <20210607175943.31690-1-ndabilpuram@marvell.com> X-Mailer: git-send-email 2.8.4 In-Reply-To: <20210306153404.10781-1-ndabilpuram@marvell.com> References: <20210306153404.10781-1-ndabilpuram@marvell.com> MIME-Version: 1.0 X-Proofpoint-GUID: Zt37KRderpcNCsHeWY8ZyPLsi4o2RE5t X-Proofpoint-ORIG-GUID: Zt37KRderpcNCsHeWY8ZyPLsi4o2RE5t X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.761 definitions=2021-06-07_14:2021-06-04, 2021-06-07 signatures=0 Subject: [dpdk-dev] [PATCH v2 00/62] Marvell CNXK Ethdev Driver 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 patchset adds support for Marvell CN106XX SoC based on 'common/cnxk' driver. In future, CN9K a.k.a octeontx2 will also be supported by same driver when code is ready and 'net/octeontx2' will be deprecated. Harman Kalra (1): common/cnxk: allocate lmt region in userspace Jerin Jacob (7): common/cnxk: fix batch alloc completion poll logic net/cnxk: add Rx support for cn9k net/cnxk: add Rx vector version for cn9k net/cnxk: add Tx support for cn9k net/cnxk: add Rx support for cn10k net/cnxk: add Rx vector version for cn10k net/cnxk: add Tx support for cn10k Kiran Kumar K (2): net/cnxk: add support to configure npc net/cnxk: add initial version of rte flow support Nithin Dabilpuram (17): net/cnxk: add build infra and common probe net/cnxk: add platform specific probe and remove net/cnxk: add common devargs parsing function net/cnxk: add common dev infos get support net/cnxk: add device configuration operation net/cnxk: add link status update support net/cnxk: add Rx queue setup and release net/cnxk: add Tx queue setup and release net/cnxk: add packet type support net/cnxk: add queue start and stop support net/cnxk: add Rx multi-segmented version for cn9k net/cnxk: add Tx multi-segment version for cn9k net/cnxk: add Tx vector version for cn9k net/cnxk: add Rx multi-segment version for cn10k net/cnxk: add Tx multi-segment version for cn10k net/cnxk: add Tx vector version for cn10k net/cnxk: add device start and stop operations Satha Rao (8): common/cnxk: add support to lock NIX RQ contexts common/cnxk: add provision to enable RED on RQ net/cnxk: add port/queue stats net/cnxk: add xstats apis net/cnxk: add rxq/txq info get operations net/cnxk: add ethdev firmware version get net/cnxk: add get register operation net/cnxk: added reta and rss_hash operations Satheesh Paul (6): common/cnxk: add support to dump flow entries common/cnxk: support for mark and flag flow actions common/cnxk: fix flow create on CN98xx net/cnxk: add flow ops get operation net/cnxk: support for rss in rte_flow net/cnxk: support for rte flow dev dump API Srujana Challa (1): common/cnxk: update Rx inline IPsec mbox message format Sunil Kumar Kori (20): net/cnxk: add MAC address set ops net/cnxk: add MTU set device operation net/cnxk: add promiscuous mode enable and disable net/cnxk: add DMAC filter support net/cnxk: add all multicast enable/disable ethops net/cnxk: add Rx/Tx burst mode get ops net/cnxk: add flow ctrl set/get ops net/cnxk: add link up/down operations net/cnxk: add EEPROM module info get operations net/cnxk: add Rx queue interrupt enable/disable ops net/cnxk: add validation API for mempool ops net/cnxk: add device close and reset operations net/cnxk: add pending Tx mbuf cleanup operation net/cnxk: register callback to get PTP status net/cnxk: add base PTP timesync support net/cnxk: add timesync enable/disable operations net/cnxk: add Rx/Tx timestamp read operations net/cnxk: add time read/write/adjust operations net/cnxk: add read clock operation net/cnxk: add multicast filter support --- v2: - Fixed issue with flow validate and flow create for 98xx - Fixed issue batch alloc logic - Fix lmtline allocation to be cached - Sync Inline IPSec Rx mbox with kernel - Add support for mark and flag flow actions - Add reta key and hash update ops - Added PTP and multicast filter support MAINTAINERS | 3 + doc/guides/nics/cnxk.rst | 343 ++++++ doc/guides/nics/features/cnxk.ini | 90 ++ doc/guides/nics/features/cnxk_vec.ini | 44 + doc/guides/nics/features/cnxk_vf.ini | 40 + doc/guides/nics/index.rst | 1 + doc/guides/platform/cnxk.rst | 3 + drivers/common/cnxk/hw/npc.h | 2 + drivers/common/cnxk/meson.build | 1 + drivers/common/cnxk/roc_api.h | 2 + drivers/common/cnxk/roc_dev.c | 98 +- drivers/common/cnxk/roc_dev_priv.h | 1 + drivers/common/cnxk/roc_mbox.h | 6 + drivers/common/cnxk/roc_model.h | 6 + drivers/common/cnxk/roc_nix.h | 39 +- drivers/common/cnxk/roc_nix_queue.c | 52 + drivers/common/cnxk/roc_nix_rss.c | 51 +- drivers/common/cnxk/roc_nix_tm_utils.c | 86 +- drivers/common/cnxk/roc_npa.c | 10 +- drivers/common/cnxk/roc_npa.h | 35 +- drivers/common/cnxk/roc_npc.c | 41 +- drivers/common/cnxk/roc_npc.h | 15 +- drivers/common/cnxk/roc_npc_mcam_dump.c | 611 +++++++++++ drivers/common/cnxk/roc_npc_priv.h | 2 +- drivers/common/cnxk/roc_npc_utils.c | 4 + drivers/common/cnxk/roc_platform.h | 13 + drivers/common/cnxk/version.map | 5 + drivers/net/cnxk/cn10k_ethdev.c | 534 ++++++++++ drivers/net/cnxk/cn10k_ethdev.h | 40 + drivers/net/cnxk/cn10k_rx.c | 78 ++ drivers/net/cnxk/cn10k_rx.h | 546 ++++++++++ drivers/net/cnxk/cn10k_rx_mseg.c | 17 + drivers/net/cnxk/cn10k_rx_vec.c | 22 + drivers/net/cnxk/cn10k_tx.c | 82 ++ drivers/net/cnxk/cn10k_tx.h | 1737 +++++++++++++++++++++++++++++++ drivers/net/cnxk/cn10k_tx_mseg.c | 25 + drivers/net/cnxk/cn10k_tx_vec.c | 26 + drivers/net/cnxk/cn9k_ethdev.c | 557 ++++++++++ drivers/net/cnxk/cn9k_ethdev.h | 38 + drivers/net/cnxk/cn9k_rx.c | 78 ++ drivers/net/cnxk/cn9k_rx.h | 548 ++++++++++ drivers/net/cnxk/cn9k_rx_mseg.c | 17 + drivers/net/cnxk/cn9k_rx_vec.c | 20 + drivers/net/cnxk/cn9k_tx.c | 81 ++ drivers/net/cnxk/cn9k_tx.h | 1605 ++++++++++++++++++++++++++++ drivers/net/cnxk/cn9k_tx_mseg.c | 25 + drivers/net/cnxk/cn9k_tx_vec.c | 26 + drivers/net/cnxk/cnxk_ethdev.c | 1511 +++++++++++++++++++++++++++ drivers/net/cnxk/cnxk_ethdev.h | 478 +++++++++ drivers/net/cnxk/cnxk_ethdev_devargs.c | 173 +++ drivers/net/cnxk/cnxk_ethdev_ops.c | 904 ++++++++++++++++ drivers/net/cnxk/cnxk_link.c | 113 ++ drivers/net/cnxk/cnxk_lookup.c | 326 ++++++ drivers/net/cnxk/cnxk_ptp.c | 287 +++++ drivers/net/cnxk/cnxk_rte_flow.c | 366 +++++++ drivers/net/cnxk/cnxk_rte_flow.h | 69 ++ drivers/net/cnxk/cnxk_stats.c | 217 ++++ drivers/net/cnxk/meson.build | 45 + drivers/net/cnxk/version.map | 3 + drivers/net/meson.build | 1 + 60 files changed, 12116 insertions(+), 83 deletions(-) create mode 100644 doc/guides/nics/cnxk.rst create mode 100644 doc/guides/nics/features/cnxk.ini create mode 100644 doc/guides/nics/features/cnxk_vec.ini create mode 100644 doc/guides/nics/features/cnxk_vf.ini create mode 100644 drivers/common/cnxk/roc_npc_mcam_dump.c create mode 100644 drivers/net/cnxk/cn10k_ethdev.c create mode 100644 drivers/net/cnxk/cn10k_ethdev.h create mode 100644 drivers/net/cnxk/cn10k_rx.c create mode 100644 drivers/net/cnxk/cn10k_rx.h create mode 100644 drivers/net/cnxk/cn10k_rx_mseg.c create mode 100644 drivers/net/cnxk/cn10k_rx_vec.c create mode 100644 drivers/net/cnxk/cn10k_tx.c create mode 100644 drivers/net/cnxk/cn10k_tx.h create mode 100644 drivers/net/cnxk/cn10k_tx_mseg.c create mode 100644 drivers/net/cnxk/cn10k_tx_vec.c create mode 100644 drivers/net/cnxk/cn9k_ethdev.c create mode 100644 drivers/net/cnxk/cn9k_ethdev.h create mode 100644 drivers/net/cnxk/cn9k_rx.c create mode 100644 drivers/net/cnxk/cn9k_rx.h create mode 100644 drivers/net/cnxk/cn9k_rx_mseg.c create mode 100644 drivers/net/cnxk/cn9k_rx_vec.c create mode 100644 drivers/net/cnxk/cn9k_tx.c create mode 100644 drivers/net/cnxk/cn9k_tx.h create mode 100644 drivers/net/cnxk/cn9k_tx_mseg.c create mode 100644 drivers/net/cnxk/cn9k_tx_vec.c create mode 100644 drivers/net/cnxk/cnxk_ethdev.c create mode 100644 drivers/net/cnxk/cnxk_ethdev.h create mode 100644 drivers/net/cnxk/cnxk_ethdev_devargs.c create mode 100644 drivers/net/cnxk/cnxk_ethdev_ops.c create mode 100644 drivers/net/cnxk/cnxk_link.c create mode 100644 drivers/net/cnxk/cnxk_lookup.c create mode 100644 drivers/net/cnxk/cnxk_ptp.c create mode 100644 drivers/net/cnxk/cnxk_rte_flow.c create mode 100644 drivers/net/cnxk/cnxk_rte_flow.h create mode 100644 drivers/net/cnxk/cnxk_stats.c create mode 100644 drivers/net/cnxk/meson.build create mode 100644 drivers/net/cnxk/version.map