From patchwork Wed Jul 3 08:41:46 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob Kollanukkaran X-Patchwork-Id: 55951 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 911E128EE; Wed, 3 Jul 2019 10:45:36 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 4567F1E20 for ; Wed, 3 Jul 2019 10:45:35 +0200 (CEST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x638j2sR030635 for ; Wed, 3 Jul 2019 01:45:34 -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-transfer-encoding : content-type; s=pfpt0818; bh=TrUgcQmFgpprJRYARJjUmdL0uA7U1zfM1wy+j26p4Jw=; b=ZQoXn/PGea9aAlmpfRY4iE11sHwGGLPlg0TeAi79RMtcgmjL3OsVkghdN3TAfZz2xHvJ Xr1s6rD3BkC5TrhrDKNlpJ7MhkCQGiKGne9a9MXDzITwVvVJVhy2JXID1irYCSVb5BSP HjwFSFs7+cyIAw+1nnaom1l/pSzKfGEmQdLGc9PoorVPij3QdpHJVlxPpYK/6HWhDJDV Y2XZbDARhs+44GGm+MUiHiZPDf465hZSlWAxQ/7YbK4r3Dz+oErGtfS3gInGipNdHVk7 V+cLy2v7wftIkAtTneEvKDHTmNK+ZwLtY9ZtQptQSMj1cl9IzPuhtvyMNBZbA+ZSmwZB 5A== Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2tgrv1823x-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT) for ; Wed, 03 Jul 2019 01:45:34 -0700 Received: from SC-EXCH03.marvell.com (10.93.176.83) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Wed, 3 Jul 2019 01:43:07 -0700 Received: from maili.marvell.com (10.93.176.43) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server id 15.0.1367.3 via Frontend Transport; Wed, 3 Jul 2019 01:43:07 -0700 Received: from jerin-lab.marvell.com (jerin-lab.marvell.com [10.28.34.14]) by maili.marvell.com (Postfix) with ESMTP id 6EB423F703F; Wed, 3 Jul 2019 01:43:06 -0700 (PDT) From: To: CC: Jerin Jacob Date: Wed, 3 Jul 2019 14:11:46 +0530 Message-ID: <20190703084244.33553-1-jerinj@marvell.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190630180609.36705-1-jerinj@marvell.com> References: <20190630180609.36705-1-jerinj@marvell.com> MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-03_03:, , signatures=0 Subject: [dpdk-dev] [PATCH v3 00/58] OCTEON TX2 Ethdev driver 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" From: Jerin Jacob This patchset adds support for OCTEON TX2 ethdev driver. v3: # Fix build issue with ICC 32bit build # Add missing "net/octeontx2: add link status set operations" patch from v1 v2: # Moved maintainers file to the first patch(Ferruh) # removed reference to to v19.05(Ferruh) # Makefile/Meson CFLAGS moved to specific patches(Ferruh) # Move Documentation updates to specific patches(Ferruh) # reworked the code to remove the need for exposing otx2_nix_fastpath_lookup_mem_get function(Ferruh) # Updated goto logic in net/octeontx2: add FW version get operation(Ferruh) # Added "add Rx interrupts support" patch Harman Kalra (3): net/octeontx2: add PTP base support net/octeontx2: add remaining PTP operations net/octeontx2: add Rx interrupts support Jerin Jacob (16): net/octeontx2: add build and doc infrastructure net/octeontx2: add ethdev probe and remove net/octeontx2: add device init and uninit net/octeontx2: add devargs parsing functions net/octeontx2: handle device error interrupts net/octeontx2: add info get operation net/octeontx2: add device configure operation net/octeontx2: handle queue specific error interrupts net/octeontx2: add context debug utils net/octeontx2: add Rx queue setup and release net/octeontx2: add Tx queue setup and release net/octeontx2: add ptype support net/octeontx2: add Rx and Tx descriptor operations net/octeontx2: add Rx burst support net/octeontx2: add Rx vector version net/octeontx2: add Tx burst support Kiran Kumar K (13): net/octeontx2: add register dump support net/octeontx2: add basic stats operation net/octeontx2: add extended stats operations net/octeontx2: introducing flow driver net/octeontx2: add flow utility functions net/octeontx2: add flow mbox utility functions net/octeontx2: add flow MCAM utility functions net/octeontx2: add flow parsing for outer layers net/octeontx2: add flow actions support net/octeontx2: add flow parse actions support net/octeontx2: add flow operations net/octeontx2: add flow destroy ops support net/octeontx2: add flow init and fini Krzysztof Kanas (2): net/octeontx2: alloc and free TM HW resources net/octeontx2: enable Tx through traffic manager Nithin Dabilpuram (9): net/octeontx2: add queue start and stop operations net/octeontx2: introduce traffic manager net/octeontx2: configure TM HW resources net/octeontx2: add queue info and pool supported operations net/octeontx2: add Rx multi segment version net/octeontx2: add Tx multi segment version net/octeontx2: add Tx vector version net/octeontx2: add device start operation net/octeontx2: add device stop and close operations Sunil Kumar Kori (1): net/octeontx2: add unicast MAC filter Vamsi Attunuru (9): net/octeontx2: add link stats operations net/octeontx2: add promiscuous and allmulticast mode net/octeontx2: add RSS support net/octeontx2: handle port reconfigure net/octeontx2: add module EEPROM dump net/octeontx2: add flow control support net/octeontx2: add FW version get operation net/octeontx2: add MTU set operation net/octeontx2: add link status set operations Vivek Sharma (5): net/octeontx2: connect flow API to ethdev ops net/octeontx2: implement VLAN utility functions net/octeontx2: support VLAN offloads net/octeontx2: support VLAN filters net/octeontx2: support VLAN TPID and PVID for Tx MAINTAINERS | 9 + config/common_base | 5 + doc/guides/nics/features/octeontx2.ini | 50 + doc/guides/nics/features/octeontx2_vec.ini | 46 + doc/guides/nics/features/octeontx2_vf.ini | 42 + doc/guides/nics/index.rst | 1 + doc/guides/nics/octeontx2.rst | 306 +++ doc/guides/platform/octeontx2.rst | 3 + drivers/net/Makefile | 1 + drivers/net/meson.build | 6 +- drivers/net/octeontx2/Makefile | 58 + drivers/net/octeontx2/meson.build | 40 + drivers/net/octeontx2/otx2_ethdev.c | 2017 +++++++++++++++++ drivers/net/octeontx2/otx2_ethdev.h | 531 +++++ drivers/net/octeontx2/otx2_ethdev_debug.c | 500 ++++ drivers/net/octeontx2/otx2_ethdev_devargs.c | 165 ++ drivers/net/octeontx2/otx2_ethdev_irq.c | 468 ++++ drivers/net/octeontx2/otx2_ethdev_ops.c | 461 ++++ drivers/net/octeontx2/otx2_flow.c | 981 ++++++++ drivers/net/octeontx2/otx2_flow.h | 390 ++++ drivers/net/octeontx2/otx2_flow_ctrl.c | 220 ++ drivers/net/octeontx2/otx2_flow_parse.c | 959 ++++++++ drivers/net/octeontx2/otx2_flow_utils.c | 910 ++++++++ drivers/net/octeontx2/otx2_link.c | 157 ++ drivers/net/octeontx2/otx2_lookup.c | 315 +++ drivers/net/octeontx2/otx2_mac.c | 149 ++ drivers/net/octeontx2/otx2_ptp.c | 273 +++ drivers/net/octeontx2/otx2_rss.c | 372 +++ drivers/net/octeontx2/otx2_rx.c | 411 ++++ drivers/net/octeontx2/otx2_rx.h | 333 +++ drivers/net/octeontx2/otx2_stats.c | 387 ++++ drivers/net/octeontx2/otx2_tm.c | 1396 ++++++++++++ drivers/net/octeontx2/otx2_tm.h | 153 ++ drivers/net/octeontx2/otx2_tx.c | 1033 +++++++++ drivers/net/octeontx2/otx2_tx.h | 370 +++ drivers/net/octeontx2/otx2_vlan.c | 1034 +++++++++ .../octeontx2/rte_pmd_octeontx2_version.map | 4 + mk/rte.app.mk | 2 + 38 files changed, 14557 insertions(+), 1 deletion(-) create mode 100644 doc/guides/nics/features/octeontx2.ini create mode 100644 doc/guides/nics/features/octeontx2_vec.ini create mode 100644 doc/guides/nics/features/octeontx2_vf.ini create mode 100644 doc/guides/nics/octeontx2.rst create mode 100644 drivers/net/octeontx2/Makefile create mode 100644 drivers/net/octeontx2/meson.build create mode 100644 drivers/net/octeontx2/otx2_ethdev.c create mode 100644 drivers/net/octeontx2/otx2_ethdev.h create mode 100644 drivers/net/octeontx2/otx2_ethdev_debug.c create mode 100644 drivers/net/octeontx2/otx2_ethdev_devargs.c create mode 100644 drivers/net/octeontx2/otx2_ethdev_irq.c create mode 100644 drivers/net/octeontx2/otx2_ethdev_ops.c create mode 100644 drivers/net/octeontx2/otx2_flow.c create mode 100644 drivers/net/octeontx2/otx2_flow.h create mode 100644 drivers/net/octeontx2/otx2_flow_ctrl.c create mode 100644 drivers/net/octeontx2/otx2_flow_parse.c create mode 100644 drivers/net/octeontx2/otx2_flow_utils.c create mode 100644 drivers/net/octeontx2/otx2_link.c create mode 100644 drivers/net/octeontx2/otx2_lookup.c create mode 100644 drivers/net/octeontx2/otx2_mac.c create mode 100644 drivers/net/octeontx2/otx2_ptp.c create mode 100644 drivers/net/octeontx2/otx2_rss.c create mode 100644 drivers/net/octeontx2/otx2_rx.c create mode 100644 drivers/net/octeontx2/otx2_rx.h create mode 100644 drivers/net/octeontx2/otx2_stats.c create mode 100644 drivers/net/octeontx2/otx2_tm.c create mode 100644 drivers/net/octeontx2/otx2_tm.h create mode 100644 drivers/net/octeontx2/otx2_tx.c create mode 100644 drivers/net/octeontx2/otx2_tx.h create mode 100644 drivers/net/octeontx2/otx2_vlan.c create mode 100644 drivers/net/octeontx2/rte_pmd_octeontx2_version.map