From patchwork Tue Oct 17 05:45:20 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 263 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 72BDA43186; Tue, 17 Oct 2023 07:46:09 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 40536402EB; Tue, 17 Oct 2023 07:46:09 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2109.outbound.protection.outlook.com [40.107.94.109]) by mails.dpdk.org (Postfix) with ESMTP id 51423402DE for ; Tue, 17 Oct 2023 07:46:08 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDD4ZNhQvXe5wlrPmglKT6KH8johjfScqUqAwuYZIbZzbDywgbRnXWATilMduH8/9XjHu4GdoKeUDjsIXR1CgbE5ZNRwupD287/vRJ5iJmkE4ZTw46R7xUmhSBkazdu0f6AmGHQAb3bESLUmifeg6O/EWet23LHDZXC8tGqxVIFrbky0kd8yZ9rxw+s+N+YpAFYiLXETEBr1rO1Oby1yEUkorHqOqwc+xvBsPYszh/xlp1IFHPwLvwRKSY/zaaJOjz2S/Gil6kT/9NfgV0pW+1UZtWOUzR/lsI8qsHOixI2KdoNT+D/zs5+IKaLJXhez4J4BNiD2QfGrn641iN1fpQ== 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=/ZrJ37ETyF2JVVZE7CXE5DPT6KHGpkDpL9z/G6yOyuY=; b=W1nXiGw5hMQ4LiuRP86L9EiyyrJ3moYgPzihbCRL3MgypLYnnfiz3bvyzJYP1LDjyhN32tOHDV0Bkf8R6CLA7nFP1tw8Lo0rIxRkpufoosrcoqLB+5HdU/vtTv1+4qRqxVXmSmZ8emKKFTJH5zEEV+yj/wgmr/DW0iXWOOZbzkOU6rEQeaqPd5nVNRMNYd7i8JbrBVFkajx4MmsCPv5B1DgzrEEGtA/8aICLx6n6teaaSDKQ65wct5iUxwRSyAx214Ie9QRIrhRgu0Wf2nj8kj6po1zVJkLoCbEpWbvvAmhU2wb4f8TtNwhfTRnJNMOX10JOuA3FGV8GptYJ8nv5eA== 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=/ZrJ37ETyF2JVVZE7CXE5DPT6KHGpkDpL9z/G6yOyuY=; b=L5K/wEExme5KqWNAZVIvGbgCDNkdVYbArCEZJHXkMHMXVgBE57+tNy0y1bbz8eG41+7XRb/QruLcUqte1I44oin1NWCE6m2qzRB52hfV7xox59dGRAaClgw/MrJimpcKtux4pp9nOEQk+y7e2i190HIfjnIQTFiWvzbyqFParz8= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=corigine.com; Received: from PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) by SJ0PR13MB5272.namprd13.prod.outlook.com (2603:10b6:a03:3e3::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6863.46; Tue, 17 Oct 2023 05:46:04 +0000 Received: from PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7]) by PH0PR13MB5568.namprd13.prod.outlook.com ([fe80::b070:92e1:931e:fee7%4]) with mapi id 15.20.6863.047; Tue, 17 Oct 2023 05:46:04 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Chaoyong He Subject: [PATCH 00/25] add the NFP vDPA PMD Date: Tue, 17 Oct 2023 13:45:20 +0800 Message-Id: <20231017054545.1692509-1-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 X-ClientProxiedBy: PH7PR17CA0069.namprd17.prod.outlook.com (2603:10b6:510:325::29) To PH0PR13MB5568.namprd13.prod.outlook.com (2603:10b6:510:12b::16) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH0PR13MB5568:EE_|SJ0PR13MB5272:EE_ X-MS-Office365-Filtering-Correlation-Id: 2a388682-3aae-4e35-9204-08dbced459c8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: dqj4xTwu/0jA3/vmCw+l5Dfom3Xl1Mjgz0FYI30ya1PpvpZAI0Sk9y+NyFFJsrlqNg3cRWhkxRLqPeAeIq0gmNn060SVhSlHS//NFo820IBhaw2FCWWzlqRhEBEQ8cZoQdnpwtDO53ibi2mhzotv/qxNb4W1sogJaAm1Q1h+L48Ro/m6GUzf0fugl1ViqTvbZSKR5kt4kLQGJLYLFNTLYHNYmDoDp0WOnXKTzFg0aRhbd+5hms3fv5loFwODi5h7CTLSTGzG3RJBTqWhjgNEWxORDQhfNfdN3BeI1bSYxD3C1DP7hw/6qgZRaxr6rODyfQRGvldPFXs1Kh7CdiqVEIX+PMpPt4UWJfVY6gbKOGzal545mlzAj+dTelumN584Cqb7DJcfApl8WxN3Xs3V0z2MSFGa/gmiTqOKm4mQ+EB2ufinW3q8Zd0uzdGhnylRoMsjFbn7i4jXz3Vh76t2tHNuDl0xjiX6i0RPut11aMMa7RtXIWyuaFv4eMptyYxAHy4Jc9nbYlWEYXZyU8vosRofbZgVaHVnTXCi9TDBvT27Ya9gcYeqBbaDddF+kBCTDqpi8RmX5AqDulUFwdWA8qPmMnGT1qXfVfEtIKPo5GN22OEEtYhFCC3k75Ilmmj5btGSNIhpu530NGiqaeBeR+oHlLJZc2F2rt495WqCiYw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR13MB5568.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366004)(136003)(376002)(346002)(396003)(39830400003)(230922051799003)(451199024)(64100799003)(1800799009)(186009)(38350700005)(6916009)(66476007)(6666004)(66556008)(66946007)(6486002)(86362001)(2616005)(83380400001)(478600001)(6512007)(38100700002)(316002)(1076003)(52116002)(26005)(107886003)(5660300002)(6506007)(2906002)(4326008)(8676002)(36756003)(44832011)(41300700001)(8936002); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: nw3+o0zDma9BIONWGlSJDxcHceKOp2oNTDk5J9WThjum1OfeZ9E2HZBf5aV4OjPlLpeJtvJakiEYp7aSDHLA2hFlKxq+gV3t6slc1K53ocltnPEtHj4+tBY7ejIXGJmo3Wg5aDSCuN+VkFAhlJau6r0W+38iJ5HOBGM6fEWiuNiC6Y9VpUHd52T1Y0VhFUPqK8qXdPbliPDpmUijR7hu1XjLLeKift30knbcMbsJBu8XF2DPyN2lxiWi/iktoYwgj1X/NtCtf5qRcCNKLMenpsrfPl+dS35NWhFwPCX+N0zsWqYh8PrYrqM3/uMV2myVQu81vid3uEY9cdwixxfmV1ppsM/D/rSZQTFUfZU0Bz584fs0JiiMn+zWy69A4hLFCJsUUt6H9BWrFGjpoveWLNuQbRH7OFx9cfBgLdzeQs4T/IwV4xhdr2w5giYF+4vNgdQfn/2JKr67kF7CIR2E0s5O1CMa2xIhe9v+1Frp37m6IpYkyaccnS92BNHhCvPYkgSbKnmhAZaLt0L8eY57wEZB9WW14vXtuG00+k1i2dJINnNnCiPHg8BlmNmvyHmCTQgNULQJlHgCYn9HfZTrbhRbqX+ncmpU7XdTp+YJ2ff5zTPRYrDX+1tySVkbN2/UOrABdDTJVQUtWm2NjW+cKcEr5PJK+NRRCKDA5c31Q3pjsXyJs1i0iNVN9/oP8idZ9NizGlDHyDkBWp1j5qZ5ofRBQowxmHs3ZmF1zzLzrKmg4l2sgB4LrOBbccdwxQZtCHSmmH+Icn7ukaMyuDG56ndCAgJCHuzsHERT33JcHne0r4q5yN31bjXUl4KIkAyrR2AzUd60hD9YYCiDK6GOa1MKtXUD6codjCvEa4p6q4YxJ+JodcwAiQlj0jtt1j+zZfRQZjqHt8waM/gzi2OpYV02ZtSzA7aqnipchHWbuAql4SvaLpkY1GpRxVCYrQR2UtiYYRbHqyKzKStPKkkIthPOWGUbgCZGVAWzKtv8vySfGRBnPGvnOEQWsX+xBx3pItIleijDbbdIQryeOgZJmZ5OxkQQd//foCsBCyCmaUP6PGWsABVi07rAkgYNe2zRMtIQUGxFOXC5Wpq/uCzshE2PVBVIVcCHAi/OBV4a2bgjmF9T+BIf/Z7KX9roLpWoSOQLeNyoedCEVstPYsCqDcnPPGdp26bR3IRZGR0MsvhROl13ZQ5i4+ShMTAeog3+5t3yGQXu7YSAtr1/YAOnwOd7YG+8IjydeUgTwLx8BSEzz2He3gtn2d5lGUtHoL4kWIObuibiTbJhcLFCZ/x3RUFERm93CmHD3Ea0O3iz+XdLanEk1Fn7QvrEat+37waHd3E79qg5B9rg6k7cGPzH0s9PXE7JA+VjgWTi4xHO/bx3u5LCX/4e00JAW+niooqk+Mx3/ENVoxZ2EscnGnOjYEcM9LfI/535Qjfm8O9v920+XWplXwXiSmcbKojmiKy3c9jS2yoAzLc2HN9pM5TinhOOG5dvcJ/kXyuzTnPZoGiT28DLDWArDGXBhXb3H/zm6znaNv75m3EGDjPmQz1ghp8PyCC/b3dd8T40+Nx5TM4NyuTq0IFRV3oVaJrPUoOR5LDscgsOs6JGgxKmKTVP3Q== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2a388682-3aae-4e35-9204-08dbced459c8 X-MS-Exchange-CrossTenant-AuthSource: PH0PR13MB5568.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 17 Oct 2023 05:46:04.1012 (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: br7xsIxgRZv8b0Xf3t0zNBX6xz8lsb+gagb6OSpTsmSfVJjAw3OWE11i5s+oIoJvxLsNfI1PKw4SmsU7slBc6qq9Yl2M79uihlGsb8Esk+E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR13MB5272 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. 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 the common and vDPA document .mailmap | 1 + MAINTAINERS | 8 + doc/guides/platform/index.rst | 1 + doc/guides/platform/nfp.rst | 30 + 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 | 182 ++++ drivers/common/nfp/nfp_common.h | 234 +++++ .../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 | 15 + 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 | 11 +- drivers/net/nfp/nfd3/nfp_nfd3_dp.c | 16 +- drivers/net/nfp/nfdk/nfp_nfdk_dp.c | 20 +- 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} | 455 ++++----- .../nfp/{nfp_common.h => nfp_net_common.h} | 217 +---- .../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 | 24 + drivers/vdpa/nfp/nfp_vdpa.c | 909 ++++++++++++++++++ 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 + 48 files changed, 2722 insertions(+), 894 deletions(-) create mode 100644 doc/guides/platform/nfp.rst 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} (82%) rename drivers/net/nfp/{nfp_common.h => nfp_net_common.h} (65%) 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