From patchwork Tue Mar 16 22:18:32 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Timothy McDaniel X-Patchwork-Id: 89277 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 80322A054F; Tue, 16 Mar 2021 23:19:47 +0100 (CET) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 61140406A3; Tue, 16 Mar 2021 23:19:47 +0100 (CET) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by mails.dpdk.org (Postfix) with ESMTP id DA57840689 for ; Tue, 16 Mar 2021 23:19:45 +0100 (CET) IronPort-SDR: gaUbwrmpA/qYvWd33xq3mMCv9rNMj90ZpbeGI6dBUdSTp9cDF0EtIBBSd++h4OOuW895L7FpXH aUd/uoH/b/nw== X-IronPort-AV: E=McAfee;i="6000,8403,9925"; a="253359214" X-IronPort-AV: E=Sophos;i="5.81,254,1610438400"; d="scan'208";a="253359214" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Mar 2021 15:19:44 -0700 IronPort-SDR: mQ9493jxMcM45xBx5EpoRVkQnndAb6dxBUpj5ySDbziC0PulL7+d0BCxTvRmn/ZUtZaG/JR0AT ybdMqS72aHnQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.81,254,1610438400"; d="scan'208";a="605440175" Received: from txasoft-yocto.an.intel.com ([10.123.72.192]) by fmsmga005.fm.intel.com with ESMTP; 16 Mar 2021 15:19:43 -0700 From: Timothy McDaniel To: dev@dpdk.org Cc: jerinj@marvell.com, harry.van.haaren@intel.com, mdr@ashroe.eu, nhorman@tuxdriver.com, nikhil.rao@intel.com, erik.g.carrillo@intel.com, abhinandan.gujjar@intel.com, pbhagavatula@marvell.com, hemant.agrawal@nxp.com, mattias.ronnblom@ericsson.com, peter.mccarthy@intel.com Date: Tue, 16 Mar 2021 17:18:32 -0500 Message-Id: <20210316221857.2254-1-timothy.mcdaniel@intel.com> X-Mailer: git-send-email 2.23.0 MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH 00/25] Add Support for DLB v2.5 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 series adds support for DLB v2.5 to the current DLB V2.0 PMD. The resulting PMD supports both hardware versions. The main differences between the DLB v2.5 and v2.0 hardware are: - Number of queues/ports - DLB v2.5 uses a combined credit pool, whereas DLB v2.0 splits credits into 2 pools, a directed credit pool and a load balanced credit pool. - Different register maps, with different bit names and offsets In order to support both hardware versions with the same PMD, and avoid code duplication, the file dlb2_resource.c required a complete rewrite. This required some creative staging of the changes in order to keep the individual patches relatively small, while also meeting the requirement that all individual patches in the set compile cleanly. To accomplish this, a few temporary files are used: dlb2_hw_types_new.h dlb2_resources_new.h dlb2_resources_new.c As dlb2_resources_new.c is populated with the new combined v2.0/v2.5 low level logic, the corresponding old code is removed from dlb2_resource.c, thus allowing both the original and new code to continue to compile and link cleanly. Once all of the code has been migrated to the new model, the old versions of the files are removed, and the new versions are renamed, effectively replacing the old original files. As you review the code, you can ignore the code deletions from dlb2_resource.c, as that file continues to shrink as the new corresponding logic is added to dlb2_resource_new.c. Timothy McDaniel (25): event/dlb2: add dlb v2.5 probe event/dlb2: add DLB v2.5 probe-time hardware init event/dlb2: add DLB v2.5 support to get_resources event/dlb2: add DLB v2.5 support to create sched domain event/dlb2: add DLB v2.5 support to domain reset event/dlb2: add DLB V2.5 support to create ldb queue event/dlb2: add DLB v2.5 support to create ldb port event/dlb2: add DLB v2.5 support to create dir port event/dlb2: add DLB v2.5 support to create dir queue event/dlb2: add DLB v2.5 support to map qid event/dlb2: add DLB v2.5 support to unmap queue event/dlb2: add DLB v2.5 support to start domain event/dlb2: add DLB v2.5 credit scheme event/dlb2: Add DLB v2.5 support to get queue depth functions event/dlb2: add DLB v2.5 finish map/unmap interfaces event/dlb2: add DLB v2.5 sparse cq mode event/dlb2: add DLB v2.5 support to sequence number management event/dlb2: consolidate dlb resource header files into one file event/dlb2: delete old dlb2_resource.c file event/dlb2: move dlb_resource_new.c to dlb_resource.c event/dlb2: remove temporary file, dlb_hw_types.h event/dlb2: move dlb2_hw_type_new.h to dlb2_hw_types.h event/dlb2: delete old register map file, dlb2_regs.h event/dlb2: rename dlb2_regs_new.h to dlb2_regs.h event/dlb2: update xstats for DLB v2.5 drivers/event/dlb2/dlb2.c | 430 +- drivers/event/dlb2/dlb2_priv.h | 158 +- drivers/event/dlb2/dlb2_user.h | 27 +- drivers/event/dlb2/dlb2_xstats.c | 70 +- drivers/event/dlb2/pf/base/dlb2_hw_types.h | 102 +- drivers/event/dlb2/pf/base/dlb2_mbox.h | 1 - drivers/event/dlb2/pf/base/dlb2_osdep.h | 3 + drivers/event/dlb2/pf/base/dlb2_regs.h | 6063 +++++++++++++------- drivers/event/dlb2/pf/base/dlb2_resource.c | 3277 ++++++----- drivers/event/dlb2/pf/base/dlb2_resource.h | 28 +- drivers/event/dlb2/pf/dlb2_main.c | 37 +- drivers/event/dlb2/pf/dlb2_pf.c | 62 +- 12 files changed, 6366 insertions(+), 3892 deletions(-)