From patchwork Fri Oct 7 17:43:01 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Boyer, Andrew" X-Patchwork-Id: 117580 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 30CE9A04FD; Fri, 7 Oct 2022 19:44:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CB32740151; Fri, 7 Oct 2022 19:44:14 +0200 (CEST) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2040.outbound.protection.outlook.com [40.107.236.40]) by mails.dpdk.org (Postfix) with ESMTP id 4533340042 for ; Fri, 7 Oct 2022 19:44:13 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Lfx2FiSG4B0NNej6mk/ObmnOtNjYmeZscVF9SiCqk6HL62XzhNJkPIXWKa7R2KoBOH3YUmBwSZGW5yQE5GNhGmBdMITJAxrqEYefOMC6MFUWpnsCgxpWYOdrPUJQ5vL3n6DTsMzHrDDSARpEt0HJunI7R5RQUC8xQYfYlAm8YmlOlPsh4AMYZawKRrKd2onAZKDCRfaENJhbZhHvPfKATLqFfmzguRV3tHzjBS7QfIwE0s2kRCeQvEjaZ21AAuPHW6XnRcEONjtjIwULGibENKRh/uiUPaSrdPe3VFlwhJ4Y319wgkoXC2TETxuHciT/g7ONxfVCOqb16S/JVDNbrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=P3T1h3ZFv9jqCyV36ejjNMDTCLbxuoL9Ew0s2xXr+pE=; b=IiwbvEC135mnA/bdM/4eR4BbGlsktkI/+lyehD9+ZBXvbFv/NFFx6VneFJIuDCVgg1ui5mLyyDoRC9UL5ikdPb60/wk4wxwZVfx3ZmB/MwwOj27x1FRSyiBLDTx8l02S4jGArRXT5OBzWlJCD4LQeDDli50alcq7PUvRtSh4Oka41ril26JMvV/vsrQl8QWg1G+aRe2WkOoPyYxKjG7DmtNlMQMIRU8VkXxYXIlFkQbgSQRXq9A7HwplKOSpH3rr7BJXU6gGYiDtGj6QMzaiGpEeAbi7ZL1R01ePGw+nsaCFqAnTz4VJXHerpGcEFvYRE87TUzOmWlZkuPmvc5kDCw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=dpdk.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P3T1h3ZFv9jqCyV36ejjNMDTCLbxuoL9Ew0s2xXr+pE=; b=WPvtkObA1lsQIKrQ5rC/zsTYg7VDxKNtiHkXw1G1cJJlza+xRHmx6h8Xyh19NGc8If8t5aaeBpNZ+o2ZHqQxD8hkUU8TA6132G/w/3WRjhje8CTgccVg7exp3cYFG2RJ8jDvDfKWFmdkYzqVZAOAqsUJ1Cvvh7i0a53Y77i6xvk= Received: from MW4PR03CA0090.namprd03.prod.outlook.com (2603:10b6:303:b6::35) by BL3PR12MB6617.namprd12.prod.outlook.com (2603:10b6:208:38c::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.36; Fri, 7 Oct 2022 17:44:11 +0000 Received: from CO1NAM11FT106.eop-nam11.prod.protection.outlook.com (2603:10b6:303:b6:cafe::c0) by MW4PR03CA0090.outlook.office365.com (2603:10b6:303:b6::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.26 via Frontend Transport; Fri, 7 Oct 2022 17:44:11 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by CO1NAM11FT106.mail.protection.outlook.com (10.13.175.44) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5709.10 via Frontend Transport; Fri, 7 Oct 2022 17:44:10 +0000 Received: from driver-dev1.pensando.io (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.28; Fri, 7 Oct 2022 12:44:08 -0500 From: Andrew Boyer To: CC: Andrew Boyer , R Mohamed Shah , Neel Patel , Allen Hubbe Subject: [PATCH 00/35] net/ionic: updates for 22.11 release Date: Fri, 7 Oct 2022 10:43:01 -0700 Message-ID: <20221007174336.54354-1-andrew.boyer@amd.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CO1NAM11FT106:EE_|BL3PR12MB6617:EE_ X-MS-Office365-Filtering-Correlation-Id: ff90e785-23ef-455e-afff-08daa88b8af0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: BZ2ciKTt30bMf0CSu7ld3C3m3Io9Ciez3RDVAfh1iJ4CeN4Vuah1+n3MwkoyRFpRxDeszdTMav9cxOo4D3jkVGlevDEQ6R5ik2Y0O54R/FM9B5BgCecVqS33JPCQViO7ZEF7uJAR8+ZHCXJ9Ek4n4iPD9JqLdom7bFazrs4YZ7wJqaRH9HrKQEC//geiYfHN2Q0j0JPkPb7g3HTTrE+vAauXJ/bxIiT6dW6IGuz2A2nMgTXwbmUP3JdceNpM7Oxrr+IekK87iYxEJJaSaGTBdWn8l20VETfwduhWzcGF4ZhojGPBzcWoovuioT+zLUmZAxN8UoHhCnTwN3jlGgemJKyvgRh+AmAXKt0vuCmqDQhwvprk+uwS2awXEbyS421tUX6SV0nP4Mu2cROny3n4yIQHumaZSYVIkClnX9vjGRejUElzv8ae2zqJaYf15DrT1Sss52nDReHzodH3s48WyEyxq1mUjg+KwLYG2UImrOjIPxCLVmoiUiCn1jd6fOLiKteQpZpmwnjtsCRLH3pzInQ8YLtOkQoProCcui/skk4sftUuwplrUBWty/KHmw4CkYdGtRE/3i0dUT6RXyi0wtUfohEo+2oIfAc6ThSAblQpwafF1diGyItHRfeXTXlmUes123weskRUyqkvdfIjFYAXsMekW/RbWhbJKHx3vUIVodILWxy3KF3otBohtCTPwulkR59RXo5KEMkrxL+O3H+UGZX8etvW5QVwFgdIE5VKd8B3mUUZVD2RMt/q3JDahFQvP7QVKGMypw/zTVHSsp6NQ/p3GX1FB4idX94KGO1CCqQjIOmlWvbhpvaVbfTT X-Forefront-Antispam-Report: CIP:165.204.84.17; CTRY:US; LANG:en; SCL:1; SRV:; IPV:CAL; SFV:NSPM; H:SATLEXMB04.amd.com; PTR:InfoDomainNonexistent; CAT:NONE; SFS:(13230022)(4636009)(376002)(346002)(136003)(396003)(39860400002)(451199015)(40470700004)(46966006)(36840700001)(83380400001)(4326008)(82740400003)(186003)(2616005)(1076003)(16526019)(426003)(336012)(356005)(81166007)(36860700001)(15650500001)(44832011)(2906002)(41300700001)(5660300002)(47076005)(8936002)(82310400005)(40480700001)(40460700003)(86362001)(6666004)(70206006)(478600001)(54906003)(26005)(316002)(70586007)(8676002)(6916009)(36756003)(36900700001); DIR:OUT; SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 Oct 2022 17:44:10.9577 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: ff90e785-23ef-455e-afff-08daa88b8af0 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d; Ip=[165.204.84.17]; Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: CO1NAM11FT106.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR12MB6617 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 This patch series provides features and performance improvements relevant for the upstream release of DPDK 22.11. There are some bits (like struct ionic_dev_intf) only useful for drivers and device types which have not yet been upstreamed. All of the changes are confined to the ionic PMD. Links to the product brief PDFs in patch 6 will be added as soon as they are available. Signed-off-by: Andrew Boyer Signed-off-by: R Mohamed Shah Signed-off-by: Neel Patel Signed-off-by: Allen Hubbe Andrew Boyer (35): net/ionic: fix up endianness for Rx and Tx handling net/ionic: fix up endianness for RSS net/ionic: fix to set the adapter name for logging net/ionic: fix up the Rx filter save API net/ionic: fix up reported error stats net/ionic: update documentation and copyrights net/ionic: update license terms to remove GPL net/ionic: update MTU calculations net/ionic: simplify code by removing doorbell map helper net/ionic: remove unused identifiers net/ionic: only allocate interrupts if required net/ionic: move PCI-specific code to a separate file net/ionic: only request notifyq interrupt if supported net/ionic: replace void pointer with actual type net/ionic: free all buffers during Rx queue stop net/ionic: precalculate segment lengths on receive side net/ionic: use a helper variable in packet Tx function net/ionic: do one-time init of receive descriptors net/ionic: overhaul receive side for performance net/ionic: overhaul transmit side for performance net/ionic: add support for mbuf fast free net/ionic: do bulk allocations of receive mbufs net/ionic: add a lookup table for packet type net/ionic: add a lookup table for checksum flags net/ionic: advertise supported packet types net/ionic: add Rx descriptor status functions net/ionic: add Tx descriptor status function net/ionic: add Q-in-CMB option controlled by devarg net/ionic: update array allocations to use calloc net/ionic: add alignment and socket info in allocations net/ionic: allow client to specify Tx free threshold net/ionic: add optimized handlers for non-scattered Rx/Tx net/ionic: use a helper variable for page size net/ionic: retry init commands up to five times net/ionic: add watchdogs to protect each queue type MAINTAINERS | 4 +- doc/guides/nics/features/ionic.ini | 3 + doc/guides/nics/ionic.rst | 28 +- doc/guides/rel_notes/release_22_11.rst | 11 + drivers/net/ionic/ionic.h | 27 +- drivers/net/ionic/ionic_dev.c | 79 +-- drivers/net/ionic/ionic_dev.h | 40 +- drivers/net/ionic/ionic_dev_pci.c | 274 ++++++++ drivers/net/ionic/ionic_ethdev.c | 254 +++---- drivers/net/ionic/ionic_ethdev.h | 15 +- drivers/net/ionic/ionic_if.h | 13 +- drivers/net/ionic/ionic_lif.c | 310 ++++++--- drivers/net/ionic/ionic_lif.h | 33 +- drivers/net/ionic/ionic_logs.h | 4 +- drivers/net/ionic/ionic_mac_api.c | 4 +- drivers/net/ionic/ionic_mac_api.h | 4 +- drivers/net/ionic/ionic_main.c | 32 +- drivers/net/ionic/ionic_osdep.h | 4 +- drivers/net/ionic/ionic_regs.h | 4 +- drivers/net/ionic/ionic_rx_filter.c | 9 +- drivers/net/ionic/ionic_rx_filter.h | 4 +- drivers/net/ionic/ionic_rxtx.c | 916 +++++++++---------------- drivers/net/ionic/ionic_rxtx.h | 56 +- drivers/net/ionic/ionic_rxtx_sg.c | 544 +++++++++++++++ drivers/net/ionic/ionic_rxtx_simple.c | 465 +++++++++++++ drivers/net/ionic/meson.build | 7 +- 26 files changed, 2154 insertions(+), 990 deletions(-) create mode 100644 drivers/net/ionic/ionic_dev_pci.c create mode 100644 drivers/net/ionic/ionic_rxtx_sg.c create mode 100644 drivers/net/ionic/ionic_rxtx_simple.c