From patchwork Fri Oct 27 02:59:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 315 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 A2AAB4320F; Fri, 27 Oct 2023 05:00:26 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8ACDE40A76; Fri, 27 Oct 2023 05:00:26 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2107.outbound.protection.outlook.com [40.107.243.107]) by mails.dpdk.org (Postfix) with ESMTP id A78AF40A6F for ; Fri, 27 Oct 2023 05:00:25 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QAwOSevtie5G/fRMbEjfARJOojORBd+BTfZMnIDORAh6t/RH8Kjd7QI+5dFwx/7V4S/BJjtC9AUAfM+qJR4kthtXASSilT6iHnOWI9eoRzPn67QsG92U4yWnmt4bBbMbj3vzqgSTV7tZV3Hx4175KqtDZOw0sn3Dv2yh+CSwZhN7mSFXfRe1b4wkChFogsMiaLrt7a1Smbqhi7ns8ya3LqWqi8Xeb+cSU/PgzZirPp6jgesA6XDApHIzN2Ukj4TCjh8NxUbHG4RR9F8vMgD+xMX0IV9Cj3C7sIMNovzJy4V5cn9j2PCAiucM6Iae5XGy2DOCUaCbjWIGFo/1Iy7pbg== 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=oHAXR2FJuUDQAOBBl2w6vGPatYAGKYEyviU1N+E48RM=; b=nlNB6groydfXZ3hv/TpquCUFe5gIBO/6JCFVq7fUFaI5HqU8a33OSgb2Saq0nN5ks9GpAO4sGSDhFtUQ2yStTJFtcySEfAbXzGZwhZ0cKgqur6oC33g6/66wW2F/xTDfC1qcQTXBwToJ/vZtRHtF3vWryHfX+A6FTTV8Fo0jqzI31cxtcv2UyWIYr/vtouOs7oH+Z2eXpymPQ085Pfu+vnbPDAy7742FsJi2ZzDqdN84D++zcpPqkgDYoy/qMY4iZMkSuTRj5kZtm4EuuJCOiezHChlpFqbTM0w1CZFa1o8jxl78zksBSmck6D2qNdEiB9+mJGn+B+fxw+naTB4oCg== 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=oHAXR2FJuUDQAOBBl2w6vGPatYAGKYEyviU1N+E48RM=; b=BvIdaC25uZpLI7k0mRR5zl0nSQjUOAfCgJsMnB6hqBUy/q8u+Kxkk26uJnZiccyHD+l8e1UtWyLhsOEeH25qyPzo+QdEyr8ygKbPT7oevT53kkntutTIa4hihXYZo1pS0Of25DBUl5tLfA6OIRyCj39G5MDYFoZhSt8lTmo2eNU= 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 SA0PR13MB4048.namprd13.prod.outlook.com (2603:10b6:806:97::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6933.24; Fri, 27 Oct 2023 03:00:23 +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; Fri, 27 Oct 2023 03:00:23 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He Subject: [PATCH v4 00/24] add the NFP vDPA PMD Date: Fri, 27 Oct 2023 10:59:37 +0800 Message-Id: <20231027030001.602639-1-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20231026064324.177531-1-chaoyong.he@corigine.com> References: <20231026064324.177531-1-chaoyong.he@corigine.com> X-ClientProxiedBy: BYAPR08CA0065.namprd08.prod.outlook.com (2603:10b6:a03:117::42) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SA0PR13MB4048:EE_ X-MS-Office365-Filtering-Correlation-Id: 9d5345b9-0b1b-45aa-538b-08dbd698dcd7 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Hj1IOfCLPI82YTKxHo7AaZWx244a8Iz41hy5/+NNkN8eb+1JGpTcwyfKq9dzuL5LAl3qejMt7Jhv4za5l4hFE9ObsSMUTcYD1z1YHEZOIJ+RP3jqsnScn54vXp/+XFLXZjUa8VlZRUI9aAmhJvV/A3/m7bXZSc6audY/MaIhazF8n9OeFJChPMytSAJ0LD0ORaeopKIDOamiFA+LjbI9BDR9ZjQDgcyFggATB51zTKvzZDnPCp12UhDCRTG4BS+tqNDAFD6prgTJNgPmJh2crpu6FagHZ464e2Ka0Lb6Xv83pgxuIlLr4ozOOTQIjB7yBqQDEiN6e2evQ4Gkcd4CWE4ztAsHsnEx/LKOdxZ0qg3kgqC3GSsvNoXvnMxMdX4XFrS67Lobffc3fd5do1imqsdtGe3dtJF3KgL91QvaeLQzGmPcrJtwZc5+BAd3GjVkvw7KhRDckYNwxPwTwonmIKiV+X3Xah40tMqiYjvLNluaJFWFSnm4qc8Er0KJ3mNjtokiECuwLx1VFOgC2uhUzQtzWn5f5HHqDyc51gu7O4hAs31zkh3/utI49s6k2oY0PWxY9QDF/kK2LTmSItP5cBHHn0q47YUOKwcRubUiP3zTbxCqPVdDQbtB6BnJnpTAWH9bCWLfbyqku7+rGxO+oa/W1Fc6GBOc4O6LL9SepVY/u+nlAIsh3DqlZRVC952l 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)(376002)(396003)(39840400004)(366004)(346002)(136003)(230922051799003)(64100799003)(186009)(1800799009)(451199024)(6512007)(6666004)(52116002)(6506007)(6486002)(86362001)(36756003)(478600001)(38100700002)(2906002)(6916009)(41300700001)(83380400001)(1076003)(107886003)(26005)(2616005)(38350700005)(66946007)(316002)(66556008)(66476007)(4326008)(8936002)(8676002)(44832011)(5660300002)(21314003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: XKIBn+KNZD5h+hBegVvn5QmZAW65ZwBQRyC11rDHqCLC/XKEWvik3skXbolqxX+4tTouUbDHjSVc41coe8QnKrVTFWI1zrgW0Dso57dTubosEDcbqylLmVplzrJE++2/tyI09mgdxH6PxNq3F7hnwAlZrsajY8iJzx4SJ28uYoxCaJp9d/CXOeClGHtDXCey7Kf0AELYMGgz75ZjQZG4mRZ9Thp0PFO5WZt6Jxxk8ybew+xMNBNWcA7fU/JotHBMzNGAgSYOUqEcga7benxoqwwtRweGPIlZQcC+jVqU/t7DnRLE913yw3HX3sZXen6ybIpCarfsBtq7XXSATttectubL/IucnXRMXU2fOA5ciFsOodx6NiQlK1GR9PT3nqlvatHO6HYPTGMLQiV+Z9LCaaKcgHB9WZ42gz3W+5wnix2EIR1ZXh4hBh9n5teR5SjZmDBoNLgVO0hPFOsykEs3YNM4+G4/6oMokXg5VNwTIK9GS2Wvd0V7dihu/lMtggLjPcrb/z/ThhEZbtk8wkIxJo5uxMmEHl7wUSMoLKHEHxJZeTtic6CSUcUrpHt5LCC/r/K+rqtNs/YdGdT4ZUT6S1Qp9cA5ENqthkmTN6x5syQpYSZ3B5fFAFsx0F6kgGJPWgE3xTKKz0CTICE7XjifWs8W7LgWoR5R2I6yMnfgcTm/LLAuT3d1yGJUw73ftzmHbT3hp1dThVg7XFnAeO4oUeXQIBouFB+mXGfpYG5s+sNDm1W6zWjPOI6dqMvnrWC2St0Uh1as6pvy17Xu44GbV6MTzxyFa9bDc3jIdqlUsNS0HtOwKxZ6ivOJeWTLzI6ZgZTVZoCO2Cpb/AuulN/UjrXTHc8Ce/gxJxqDYFu1txVxQf8RkRot4XmZ+24+UZlAW5hylRGyEmeOZuM8L+R3DTrg+R5VtNUC0pM1x+3nykFGphAtAULUgE0MUxmy2V5rqof3Uij457HGlBaD4wZvInAGtEoGY/+7aVGg8PuXOi6UTez3mhnYdqfnAJAi2coeOzeAhcqQ3bEibmSj89YPGj0+3En8Tpi4XZNsS5Y0t954EPzVROWgnSc2TjoVYgf+sinjG0Mmggcc5eR7EpVnv87B81zqMVwf5tk7RxDpM+CbkMqV/NIvNkXbP/shPfrRlUfhlnknnWH7AgiDksDjFPD1t7FIiAvFWG5R4TZLb8lBZlmrX4WexPTi1U4dOUOnBa8ka55oDGlmSKqnkUx0ZXes3GvNAV68c/faeZtuTfgGAQGN8+Ck7MydJYnRQPlcK+EA2VTsBGcPXW6sTPkTyH3HhgY4/7sRdsoDNXX1b6jEp15tm/5fgi+sSbAX6Sp1avxBoJEzmGuSXkE2RviC3oZV0uj1tVRyd6LQeUfN/hpA3m8y5iRRwJ7S5uI+nFq1er2XijUzM22flDfZhUkTPqGfpaXUyJy3iDdjmnjbGsju7PhxdnU0jtJTxgyodnkJ6dSjBBxFTYVwf+tDC5DF/Y5M2o8Gpn4Wvjbh3jIa5x1Xd5WpLcMZ59gRBZlDqOS8jF+nMTrkBkbP6w4MjEMqAPYAL/0xnVJw5J1NGWYE2LMTrIi5sh7nGjYx11voq2R5Pp2r929ZyjZA2PJOv+Tqg== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d5345b9-0b1b-45aa-538b-08dbd698dcd7 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Oct 2023 03:00:23.5273 (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: Vnl4ACKBBLArtfWypZekViV2P2fpldOOaaFA86sxj6a9d1bwv5kKKAjaD5WwDyz7nsM4iT8dCHQX/CqwqghhjUqUOUX4eMWkb6QQoWvVUpY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR13MB4048 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. --- v4: * Try to fix compile error in clang environment. * Merge the modify of release notes into suitable commit. * Rewrite the commit headline as the advise of reviewer. 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 (24): common/nfp: introduce driver net/nfp: make VF PMD use NFP common driver net/nfp: rename net common module net/nfp: rename ctrl module net/nfp: extract cap data field net/nfp: extract qcp data field net/nfp: extract ctrl BAR data field net/nfp: extract ctrl data field net/nfp: change parameter of functions net/nfp: change parameter of reconfig net/nfp: extract MAC address data field net/nfp: rename parameter in related logic common/nfp: add common ctrl module common/nfp: add common module common/nfp: move queue logic common/nfp: move platform module common/nfp: move device module vdpa/nfp: introduce driver vdpa/nfp: add basic framework vdpa/nfp: add remap PCI memory vdpa/nfp: add hardware init vdpa/nfp: add datapath update vdpa/nfp: add notify related logic vdpa/nfp: add device operations .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