From patchwork Thu Oct 26 06:42:59 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 306 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 6324543204; Thu, 26 Oct 2023 08:43:48 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 361F3402A7; Thu, 26 Oct 2023 08:43:48 +0200 (CEST) Received: from NAM12-MW2-obe.outbound.protection.outlook.com (mail-mw2nam12on2124.outbound.protection.outlook.com [40.107.244.124]) by mails.dpdk.org (Postfix) with ESMTP id BE7314029A for ; Thu, 26 Oct 2023 08:43:46 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MT6UwrH1xghbKogNeTvBiL/jhAm1M5bwc4vYAnuAVtRmMA4/t35U4uAWedG23NMeWHitIm8ImS6QwXIN4UEvWj8n0chc89VDeHhsBWGVlphOf8Tme3xN95x5I5vgwjdxqhxD/FZY0JLE0rmrgkn3Kz7EQOQej7vUHmVnPeUj5payBZUDUhdvVXEvizLcpFc2eXnIM1CW83tB6n06uMS1UofdG14PxB8EHlhhOMpyXG2efHqWDfTqEaqCHo63MrwDvLwezE/NvICIc/Ih6hwC27rp/OA3M4hV06xe0k4qU7uFyD74rG9UV7BNVBsOZ97+RClDizyBrMouwZ5he+SXMA== 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=nfV6ujQrH4iYM6aKxfD/SmNeZ1EgYel8S21Yl597K6U=; b=fk7MRTF92ZHfKbjKpexsS19AjJcLi4f6OKuWrRjweVSYrIXFh0JaTFqOrgSTbSL8s7+vv6LtLvWE6iF3oVqCJwfUc1feXMWYxL573i5iWD1jh2Pboxz/+hjXlnwcterl8nwjj/A/lhjmydCMe4P72eWKU8PfZ9RMOfmq+KjiJXxghedHiT6JWILcLR7lcGvw92MZCi9hECSyWEb/kiVT3LCFE7ukgqQHlV+YIvstnRseNoBV9G+l7zU5IWUYqO53mP66gQIYbdtckqExKzYU8dNT5iTvwThL2Tq94Cc1h2igoORv9AHEaN5cMmcctywtmXO+PRwV0kZi9O2clyQCkA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com; dkim=pass header.d=corigine.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nfV6ujQrH4iYM6aKxfD/SmNeZ1EgYel8S21Yl597K6U=; b=CGUUcn5Sgmo3SlM4kBB9pc9L/UUewsV1h0p4InrHEw3N4tqi9gXCFviUxTGDb670qEkntA8epZCASMibCORcNNsEi7Fo3HpntA8g+TqyRZKI+IJ+KNvEtXmaPKeVE9HNyoK3DabajoGdpkZONJKWRXiXdARhtcpTR681aF+kF6s= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) by SJ0PR13MB5965.namprd13.prod.outlook.com (2603:10b6:a03:43d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6907.33; Thu, 26 Oct 2023 06:43:43 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::45b3:d83c:cff2:4a1b%6]) with mapi id 15.20.6933.022; Thu, 26 Oct 2023 06:43:43 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He Subject: [PATCH v3 00/25] add the NFP vDPA PMD Date: Thu, 26 Oct 2023 14:42:59 +0800 Message-Id: <20231026064324.177531-1-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20231024022849.3092506-1-chaoyong.he@corigine.com> References: <20231024022849.3092506-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR07CA0034.namprd07.prod.outlook.com (2603:10b6:a02:bc::47) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SJ0PR13MB5965:EE_ X-MS-Office365-Filtering-Correlation-Id: 9fc7071e-bde1-430a-77e6-08dbd5eee55d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: lJlGmBwna+6R49hMLuo8FMiWqgM/Lc8Raj8Rs3wUFedGmDPrtpeRQJ0KaMehhd+g9n/A7HmIWzgrrIrN3jO3GrwS2d3wjVY/QfaFYhhC+6Sog3FHeeYNme7hYpbd9TyLnKefTXTA0logdIieeqJqDuCZYiyInKqR+N+hocFQwoM2tc2a7Sz8Zr/VzkUP6qusSqd2ZPqQpkMKPJfHCF9okF/JJc5cujuPvWEls4K4YMOeAnDWUEMXPLx9r6wu1+NzAcnE21rX1O7gHXQUx30j0GmippNSFFEcNUBbt5q1IDU1dtzcWKnm8MZr/DeVMNZSjHAVok4x/kqIhEcARo9S6vuqBsKPWrjDJMr3oKzppgnYq1YzE7N++CfrFNpWbdttVjdw2hmOPbCU6SOAwoiSG3GcHXQkt5b629Z98u2qC3s+bubhOOa45xFsAhu+0SH+1LRnbh7NGFy0tTAO4Kjq6CFmq2wsLYnbz1hMndUZOC36Cziktk7STAE26KczwDvw/1jFpPhIX5AsNowjomgLVtQYdpIBt7djxa009zmfcBXRaioIWjXACyzsx02zD0GBy72baytyppCQd2oluVjqeKFQfnrBaLcP/7M0ui6EApddhu37ZfcjAmRGz1v0eGqP/LD3iIZ+nC52WjutweFv9+GlYhi6j3x0iP6z/TTpWjAcO1WliQbXjH18OF7HUKxV X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(346002)(39830400003)(136003)(366004)(376002)(396003)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(6512007)(478600001)(6506007)(52116002)(2616005)(8676002)(83380400001)(107886003)(41300700001)(26005)(1076003)(6486002)(5660300002)(6666004)(44832011)(6916009)(316002)(66556008)(66476007)(66946007)(2906002)(4326008)(8936002)(38350700005)(38100700002)(86362001)(36756003)(21314003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: oTKY6gzhNveMqopjblAu1Q8CeJ8/L12nKQDDP8SFIg7L4Ndp09dBLyNNEzHMH+uwp2Jtq98VIdqFRdkzaPhpksmys7sM4Ri4S59O3UlAfqSOHc73vB3LsdwCGtZZm5grZs2VoC2GZ9kV8jF4K5Vu1hY4JKnapHiwlzWrDF71r+YpQ3k9x+HS3+a6JtdaAP0Ndk2egIrbcbEs/XdVgqkoNK347wvkFSoqdV3nc56VtZYH9gYKCPkkL3s72FQtBViwn/CerehkIT6MhvA2fKoJZXdTc8C1zOcLDD4mZWc1qpYJDDr3A7rG0TcAoeevX5ut5m3R//l52b/cc4rwrkih3mStnl7Oa+CJAVBGeaZGZMKYVv9IMt8kuHsjeZ2Qq5hsQHLXIHeBOrihXXkLTb5zxbSomWjhZKCoYfz9VzMt4xVOiSiQyphhIL+E+TeY+xJTOkvpLtaCXBhHB24gC6vScLaOyWXAdmuZMTDCdjltJT8mCwGGbejuAkGKOZPRv3LBzoaOQ0u5mq2ZdKFqGkFwlz7T8ULHpZ5qK7+RZihkIfGD7JZ+D0zaeQhBvec/nlKv9BQDuUW9dLJmePPovg7FBJC1qsK/7kdsg67ggfFfe8FKvhoDp+nTO4gqOlZlGWkmHj002gXpEH4yyISdidrU1iQdwhZ7Ruw3+e/eW4YcRnq5pm7ygHe4WqUumYaXJn16yw1sHHLNbtx5I+g0SrFILDS8iCZmhCvqbf3CkFbxzine37IsAo6gNkyNmQ2KsFNkvs6jAC06r+fX2o3eGIqkDUikPZVW0EDn3idpFbfOr2tUbS6YIdI3nU+mpUXTuyxe2a1kTPSLRGXJhjUG0llLTy5Ev6wmL7hYMScQgb8UurmXWqfmsnVi1nIBhPlduYc+Uq3a9UDhJC6UEkaaCEA8UWGY4B6/FaNWERh3ZHDfjSNYU39mNUQ9O00ggJJgK0li/XkfMmlvYuyMiTFzBj42GpX0ca/KPlTYRnlhCrR1fqnaW93MrkeX6xIDkPvYH2Z/DErUMYAMKqaJt+EhDUk0NDO7B2dokBYXA0Ps0Eltp0ScNW0PesVlWcAJtzLzmUO7z1+kNmbmLrG1nE2thzsb/fV6roTNaWXI4ZD3oqRCr7adMkbsFMFU4S94fO1XRjbpZ+qymaIpGaSZSCWRycH8ADNVxzH7/50pH9XGxyUhT3w+uzd24/6SDPlNX6XY9DLVMEE6L4fuGkpu3F6x0EGiyfWn46xx5Dzndnu9JqJy1gc+XEcRAdD6lIOSY2RJ+EYb9JzSJJwZkd70aWyhDiu4vUl4FZbgqdUpsegut2LuOfMrYmciA9KOEEXBazOSxiuEg/A/z3AopyJNr4xlU6t8noMr7DLGqaWgT2t1otjuwH+8LXHQJnauIoi/jKk1ceeS+lIqm+0GJcfpYmcIk3PXLO7Hf6Ld4dpOVu/Fyh9KUgKy8Dxqw6YCj7KlQPEXYZtrcF0TCGHq5eRhA0hZcQKzJDbbTrpAk/YHeu/tPl6IalGglH0Voqh2d12KIkVAEndspqIrmJ/vI5ZENZvq5voIvCJTQpzA1KXrIwu3r/4tB1BVwfEYOmBOpIy1SJpYdgsZlzujaLUmJrw5oy01U2nxQA== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9fc7071e-bde1-430a-77e6-08dbd5eee55d X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Oct 2023 06:43:43.3522 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: fe128f2c-073b-4c20-818e-7246a585940c X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WbKiFzJP5p3NtJ3+IrgjwdXcp7LZEwrF+bdaqn27aZbSYLL7hTVb4x/DAkXZbL5GPTGyrw5K4ymbnt4txjq3j5f7cvz4vtghUqBjRQSfKGc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR13MB5965 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 aims to add the NFP vDPA PMD, we also grab the common logic into the `drivers/common/nfp` directory. --- v3: * Replace 'pthread_xxx' API with 'rte_thread_xxx' API. * Replace '__atomic_xxx' built-ins with 'rte_atomic_xxx'. * Drop the check statement in meson.build file which prevent build of PMD. * Fix a problem about the logtype prefix. * Move the document modification to the commit which should be. v2: * Grab more logic into the `drivers/common/nfp` directory. * Delete some logic which should be when moving logic. --- Chaoyong He (25): drivers: introduce the NFP common library net/nfp: make VF PMD using of NFP common module net/nfp: rename common module name net/nfp: rename ctrl module name net/nfp: extract the cap data field net/nfp: extract the qcp data field net/nfp: extract the ctrl BAR data field net/nfp: extract the ctrl data field net/nfp: change the parameter of APIs net/nfp: change the parameter of reconfig net/nfp: extract the MAC address data field net/nfp: rename parameter in related logic drivers: add the common ctrl module drivers: add the nfp common module drivers: move queue logic to common module drivers: move platform module to common library drivers: move device module to common library drivers/vdpa: introduce the NFP vDPA library drivers: add the basic framework of vDPA PMD vdpa/nfp: add the logic of remap PCI memory vdpa/nfp: add the hardware init logic drivers: add the datapath update logic vdpa/nfp: add the notify related logic vdpa/nfp: add nfp vDPA device operations doc: add a entry in the release notes .mailmap | 1 + MAINTAINERS | 7 + doc/guides/rel_notes/release_23_11.rst | 5 + doc/guides/vdpadevs/features/nfp.ini | 8 + doc/guides/vdpadevs/index.rst | 1 + doc/guides/vdpadevs/nfp.rst | 54 ++ drivers/common/nfp/meson.build | 16 + drivers/common/nfp/nfp_common.c | 226 +++++ drivers/common/nfp/nfp_common.h | 239 +++++ .../nfp/nfp_common_ctrl.h} | 209 +--- drivers/common/nfp/nfp_common_log.c | 8 + drivers/common/nfp/nfp_common_log.h | 16 + drivers/common/nfp/nfp_common_pci.c | 275 ++++++ drivers/common/nfp/nfp_common_pci.h | 45 + .../{net/nfp/nfpcore => common/nfp}/nfp_dev.c | 3 +- .../{net/nfp/nfpcore => common/nfp}/nfp_dev.h | 3 + .../nfp/nfpcore => common/nfp}/nfp_platform.h | 0 drivers/common/nfp/version.map | 16 + drivers/meson.build | 1 + drivers/net/nfp/flower/nfp_flower.c | 56 +- drivers/net/nfp/flower/nfp_flower.h | 2 +- .../net/nfp/flower/nfp_flower_representor.c | 10 +- drivers/net/nfp/meson.build | 7 +- drivers/net/nfp/nfd3/nfp_nfd3_dp.c | 18 +- drivers/net/nfp/nfdk/nfp_nfdk_dp.c | 22 +- drivers/net/nfp/nfp_cpp_bridge.h | 2 +- drivers/net/nfp/nfp_ethdev.c | 80 +- drivers/net/nfp/nfp_ethdev_vf.c | 74 +- drivers/net/nfp/nfp_flow.h | 2 +- drivers/net/nfp/nfp_ipsec.c | 86 +- .../nfp/{nfp_common.c => nfp_net_common.c} | 493 ++++------ .../nfp/{nfp_common.h => nfp_net_common.h} | 219 +---- .../net/nfp/{nfp_ctrl.c => nfp_net_ctrl.c} | 21 +- drivers/net/nfp/nfp_net_ctrl.h | 211 ++++ drivers/net/nfp/nfp_rxtx.c | 20 +- drivers/net/nfp/nfpcore/nfp6000_pcie.h | 2 +- drivers/net/nfp/nfpcore/nfp_cppcore.c | 3 +- drivers/net/nfp/nfpcore/nfp_nsp.c | 2 +- drivers/net/nfp/nfpcore/nfp_nsp_eth.c | 3 +- drivers/vdpa/meson.build | 1 + drivers/vdpa/nfp/meson.build | 15 + drivers/vdpa/nfp/nfp_vdpa.c | 912 ++++++++++++++++++ drivers/vdpa/nfp/nfp_vdpa_core.c | 193 ++++ drivers/vdpa/nfp/nfp_vdpa_core.h | 51 + drivers/vdpa/nfp/nfp_vdpa_log.c | 9 + drivers/vdpa/nfp/nfp_vdpa_log.h | 21 + 46 files changed, 2727 insertions(+), 941 deletions(-) create mode 100644 doc/guides/vdpadevs/features/nfp.ini create mode 100644 doc/guides/vdpadevs/nfp.rst create mode 100644 drivers/common/nfp/meson.build create mode 100644 drivers/common/nfp/nfp_common.c create mode 100644 drivers/common/nfp/nfp_common.h rename drivers/{net/nfp/nfp_ctrl.h => common/nfp/nfp_common_ctrl.h} (63%) create mode 100644 drivers/common/nfp/nfp_common_log.c create mode 100644 drivers/common/nfp/nfp_common_log.h create mode 100644 drivers/common/nfp/nfp_common_pci.c create mode 100644 drivers/common/nfp/nfp_common_pci.h rename drivers/{net/nfp/nfpcore => common/nfp}/nfp_dev.c (98%) rename drivers/{net/nfp/nfpcore => common/nfp}/nfp_dev.h (96%) rename drivers/{net/nfp/nfpcore => common/nfp}/nfp_platform.h (100%) create mode 100644 drivers/common/nfp/version.map rename drivers/net/nfp/{nfp_common.c => nfp_net_common.c} (80%) rename drivers/net/nfp/{nfp_common.h => nfp_net_common.h} (64%) rename drivers/net/nfp/{nfp_ctrl.c => nfp_net_ctrl.c} (84%) create mode 100644 drivers/net/nfp/nfp_net_ctrl.h create mode 100644 drivers/vdpa/nfp/meson.build create mode 100644 drivers/vdpa/nfp/nfp_vdpa.c create mode 100644 drivers/vdpa/nfp/nfp_vdpa_core.c create mode 100644 drivers/vdpa/nfp/nfp_vdpa_core.h create mode 100644 drivers/vdpa/nfp/nfp_vdpa_log.c create mode 100644 drivers/vdpa/nfp/nfp_vdpa_log.h