From patchwork Tue Oct 13 13:45:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andrew Rybchenko X-Patchwork-Id: 80513 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 74334A04B7; Tue, 13 Oct 2020 15:47:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 637C41DB9D; Tue, 13 Oct 2020 15:46:12 +0200 (CEST) Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.164]) by dpdk.org (Postfix) with ESMTP id 4B9051DA8F for ; Tue, 13 Oct 2020 15:46:02 +0200 (CEST) Received: from mx1-us1.ppe-hosted.com (unknown [10.110.50.137]) by dispatch1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id E2395200F5 for ; Tue, 13 Oct 2020 13:46:00 +0000 (UTC) Received: from us4-mdac16-55.at1.mdlocal (unknown [10.110.50.140]) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTP id E000C600A1 for ; Tue, 13 Oct 2020 13:46:00 +0000 (UTC) X-Virus-Scanned: Proofpoint Essentials engine Received: from mx1-us1.ppe-hosted.com (unknown [10.110.50.7]) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 7232222007A for ; Tue, 13 Oct 2020 13:46:00 +0000 (UTC) Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 3CCFB4C0063 for ; Tue, 13 Oct 2020 13:46:00 +0000 (UTC) Received: from ukex01.SolarFlarecom.com (10.17.10.4) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Tue, 13 Oct 2020 14:45:55 +0100 Received: from opal.uk.solarflarecom.com (10.17.10.1) by ukex01.SolarFlarecom.com (10.17.10.4) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Tue, 13 Oct 2020 14:45:55 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (ukv-loginhost.uk.solarflarecom.com [10.17.10.39]) by opal.uk.solarflarecom.com (8.13.8/8.13.8) with ESMTP id 09DDjtlA005980 for ; Tue, 13 Oct 2020 14:45:55 +0100 Received: from ukv-loginhost.uk.solarflarecom.com (localhost [127.0.0.1]) by ukv-loginhost.uk.solarflarecom.com (Postfix) with ESMTP id 4C7AF1613A9 for ; Tue, 13 Oct 2020 14:45:55 +0100 (BST) From: Andrew Rybchenko To: Date: Tue, 13 Oct 2020 14:45:17 +0100 Message-ID: <1602596753-32282-1-git-send-email-arybchenko@solarflare.com> X-Mailer: git-send-email 1.8.3.1 MIME-Version: 1.0 X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.6.1012-25722.003 X-TM-AS-Result: No-9.496800-8.000000-10 X-TMASE-MatchedRID: F1u6DUV+sqV9Q29bLdrLsAGdJZ3Knh6hSoCG4sefl8TvmUrJba0cpDNj 208CqoE1gH71Hvwg6bSlskwMhnibry6WhzdzcbDVx5sgyUhLCNtKRaXN2yYjHubnFWpNX1DBCT2 og8mlUDu8lIcLEfemdLHePWVG9uVD5aArO6QDIjOcnm0v4tsY43FHqsgruohZCkKOpUQuXBWcqh MMKtdhwa8mjL/bItvCFpm6aAcED0JIO5I2IRTdSN+G9ND+fWcZBGvINcfHqhezht7teFbZnlUFP FW1rEX4ycVFfbvJJOyrtvmvUFOgIx6fVTIELQp7KL24nyEC+xqOJZyIAulM0+D6OweemvVYaWma 5iAByziej5ULfHX0BjaEl5aNYzCDRZJ90/Q8SpkD2WXLXdz+Aald1ZriBTRLBph69XjMbdlfrxB SjmWYkOLzNWBegCW2wgn7iDBesS0gBwKKRHe+rxBwGjICrJdmheXhWsxyx+GsNRcSIzovkgPaIY VW55EWFpQcxgKH/zg= X-TM-AS-User-Approved-Sender: Yes X-TM-AS-User-Blocked-Sender: No X-TMASE-Result: 10--9.496800-8.000000 X-TMASE-Version: SMEX-12.5.0.1300-8.6.1012-25722.003 X-MDID: 1602596760-8Syq_Fa-Wjrm X-PPE-DISP: 1602596760;8Syq_Fa-Wjrm Subject: [dpdk-dev] [PATCH 00/36] net/sfc: add EF100 support 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" Add Alveo SN1000 SmartNICs family basic support. Andrew Rybchenko (30): doc: fix typo in EF10 Rx equal stride super-buffer name doc: avoid references to removed config variables in net/sfc common/sfc_efx/base: factor out wrapper to set PHY link common/sfc_efx/base: factor out MCDI wrapper to set LEDs common/sfc_efx/base: fix PHY config failure on Riverhead common/sfc_efx/base: add max number of Rx scatter buffers net/sfc: log Rx/Tx doorbell addresses useful for debugging net/sfc: add caps to specify if libefx supports Rx/Tx net/sfc: add EF100 support net/sfc: implement libefx Rx packets event callbacks net/sfc: implement libefx Tx descs complete event callbacks net/sfc: log DMA allocations addresses net/sfc: support datapath logs which may be compiled out net/sfc: implement EF100 native Rx datapath net/sfc: implement EF100 native Tx datapath net/sfc: support multi-segment transmit for EF100 datapath net/sfc: support TCP and UDP checksum offloads for EF100 net/sfc: support IPv4 header checksum offload for EF100 Tx net/sfc: support tunnels for EF100 native Tx datapath net/sfc: support Tx VLAN insertion offload for EF100 net/sfc: support Rx checksum offload for EF100 common/sfc_efx/base: simplify to request Rx prefix fields common/sfc_efx/base: provide control to deliver RSS hash common/sfc_efx/base: provide helper to check Rx prefix net/sfc: map Rx offload RSS hash to corresponding RxQ flag net/sfc: support per-queue Rx prefix for EF100 net/sfc: support per-queue Rx RSS hash offload for EF100 net/sfc: support user mark and flag Rx for EF100 net/sfc: add Rx interrupts support for EF100 doc: advertise Alveo SN1000 SmartNICs family support Igor Romanov (3): net/sfc: check vs maximum number of Rx scatter buffers net/sfc: use BAR layout discovery to find control window net/sfc: forward function control window offset to datapath Ivan Malov (3): net/sfc: add header segments check for EF100 Tx datapath net/sfc: support TSO for EF100 native datapath net/sfc: support tunnel TSO for EF100 native Tx datapath doc/guides/nics/sfc_efx.rst | 45 +- drivers/common/sfc_efx/base/ef10_nic.c | 3 + drivers/common/sfc_efx/base/ef10_phy.c | 134 ++- drivers/common/sfc_efx/base/ef10_rx.c | 45 +- drivers/common/sfc_efx/base/efx.h | 23 +- drivers/common/sfc_efx/base/efx_rx.c | 59 ++ drivers/common/sfc_efx/base/rhead_nic.c | 3 + drivers/common/sfc_efx/base/rhead_rx.c | 14 +- drivers/common/sfc_efx/base/siena_nic.c | 1 + drivers/common/sfc_efx/efsys.h | 12 +- .../sfc_efx/rte_common_sfc_efx_version.map | 1 + drivers/net/sfc/meson.build | 6 +- drivers/net/sfc/sfc.c | 93 +- drivers/net/sfc/sfc.h | 2 + drivers/net/sfc/sfc_dp.h | 10 + drivers/net/sfc/sfc_dp_rx.h | 6 +- drivers/net/sfc/sfc_dp_tx.h | 96 +- drivers/net/sfc/sfc_ef100.h | 63 ++ drivers/net/sfc/sfc_ef100_rx.c | 918 +++++++++++++++++ drivers/net/sfc/sfc_ef100_tx.c | 965 ++++++++++++++++++ drivers/net/sfc/sfc_ef10_essb_rx.c | 34 +- drivers/net/sfc/sfc_ef10_rx.c | 24 +- drivers/net/sfc/sfc_ef10_tx.c | 7 +- drivers/net/sfc/sfc_ethdev.c | 11 +- drivers/net/sfc/sfc_ev.c | 60 ++ drivers/net/sfc/sfc_kvargs.h | 7 +- drivers/net/sfc/sfc_rx.c | 42 +- drivers/net/sfc/sfc_rx.h | 1 + drivers/net/sfc/sfc_tx.c | 21 +- 29 files changed, 2578 insertions(+), 128 deletions(-) create mode 100644 drivers/net/sfc/sfc_ef100.h create mode 100644 drivers/net/sfc/sfc_ef100_rx.c create mode 100644 drivers/net/sfc/sfc_ef100_tx.c