From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id EE05145495; Wed, 19 Jun 2024 12:00:46 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B8FDE42E59; Wed, 19 Jun 2024 11:59:18 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2111.outbound.protection.outlook.com [40.107.243.111]) by mails.dpdk.org (Postfix) with ESMTP id 5217B42E4A for ; Wed, 19 Jun 2024 11:59:16 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=N44rOTAvt7mzORIx98YRDMeRB1CARDFBV0HO5wSpZSIZseTKE1wGWrwqVub+maLMyoaLpO3JAJyiYtyRAohe4fjwpZjyJ8c1uQr1UPoUC6HNkC5gCahx6Cz6kEX4iOwhZiqjU+cdRTmkFEF/d+PeAYod/JgtFxjvnFj5lF3B2D1YMa2bCkZf6A49kzb0FbOGZ+u8gETa/yjWdmdx7VtX+iVTneWx7J1AQr5VC4MCXNPcYEWF9MQD4EzfSrajJ9q4+4+lK5oIC1oDYdTbboGVNZ2N5DLgLs/Jwx4+3TjsFrNeJJxXjzFRSIWegWDU0tcvskwZzdreGsrhAzzBFcYaug== 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=ReiM1FH/5sZSDwiwdOZkpvsIWml82/+Xm/n7TITMues=; b=UKzUgHmBXieM3A0uSlrQoVFYYj9h9A+C/9LDX19ioiLY+ptrDKWcnordXx52sclrcK2ijRByHA1kE1/XNp8PhAdzZi93vLo06Fcv9GFlAKSpoWCWYL5YsWCZ+BnCaNey4BkViQaPwISnurRPkvUDZ4td6XIkx38l0PrNyihsxvrTL54YYA4d/4fM5eYdoSwBo6hP8/byetYFk3qdKVvF2zJEowk2aUNhvDW3lr3Kr2idYMc+LWWue1xtnPN/VOHsakLcyZg8X4zTB3AMelkuVTLD4uJn0UmnYEVoixJIE0uW6NAzc3/qOuKO4x330dxcbukCTdzPLLd5AZJOmoiPIw== 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=ReiM1FH/5sZSDwiwdOZkpvsIWml82/+Xm/n7TITMues=; b=W8nEKkcXu/Gnua/ZdW0fUYaOnhILNdndnGCcTllYoIO3TlQEOCRAiuM5ec8CugrrYMtafLkH3xcpkrWgCKrExYimOrRxJBBKSIQFihL4Si6Kmmw4Kj6hPw0uIey1j35w9U/JqSvYwjas5TYNbmIEIwWIfbqTyRKzC1t9OxGsd7s= 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 MN2PR13MB3912.namprd13.prod.outlook.com (2603:10b6:208:263::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7677.31; Wed, 19 Jun 2024 09:59:14 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%4]) with mapi id 15.20.7677.030; Wed, 19 Jun 2024 09:59:14 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Peng Zhang , Chaoyong He , Long Wu Subject: [PATCH 13/23] net/nfp: get the first VF ID of the PF Date: Wed, 19 Jun 2024 17:58:20 +0800 Message-Id: <20240619095830.3479757-14-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240619095830.3479757-1-chaoyong.he@corigine.com> References: <20240619095830.3479757-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SJ0PR13CA0057.namprd13.prod.outlook.com (2603:10b6:a03:2c2::32) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|MN2PR13MB3912:EE_ X-MS-Office365-Filtering-Correlation-Id: f19fd75d-df9e-469a-7a4c-08dc904679a1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230037|366013|376011|52116011|1800799021|38350700011; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?mMvOHvtSd4W16BDE8u2FwFZN6DBT8yWBXDTEbEiCkyGD7vYzMUhY8C/0xT2F?= =?us-ascii?Q?1CbMWcnDLekXAub0d54JrqLwlc6sMzKbwHMZzh6HNaK1r3hzdssGPQhOOjmd?= =?us-ascii?Q?7OupmKvSE0RH4Jjz/yKTouwTwA2jB/6PGBjkGlLqqcmHfkbeyw4YGcXMUv3m?= =?us-ascii?Q?wrG3suJm+SFywPovl2NJOs3HuapUnXxGTQBd1YJ5ZIEWlBfZkomOx9pd/FRL?= =?us-ascii?Q?r3iP7UypuiAYhVXPdaIhhY0hTAtTH3SPJMkVDtMqoF5PaFgbOF009azaE/oc?= =?us-ascii?Q?3lCblDfoyni0VZzMapERfyqOBS2VQvmTaFy2clVtZrjbRQnx7cFMymJz5yVa?= =?us-ascii?Q?L42wLUdKFJGYUiWWbgBRqO6avkHyOOmboNqVjEsV0jRIh1dHqlQ1tqZ7DGES?= =?us-ascii?Q?WiNMjO8cNtmGflIgx7AG7J4zAoxs6LZBP/mbP4h5j5pnGVzjPgt3N/XtpnhK?= =?us-ascii?Q?znYhvVWRU7JiITtFgWQeJMdfWBSvsYWb0q8vayRi2zzcd68z4l1eSitCuMMR?= =?us-ascii?Q?5PtjtNXqhZ8BkQLS9gc1LJrpJK2SPND34IG3UyJeLHMoetfJu5NmZK2nv0DR?= =?us-ascii?Q?uAgyagvtNUsYDRPkcaTbeLE+NSzKYJaJzbbeuslhdEANB7O2R2py6LHaQE5r?= =?us-ascii?Q?mvsjECJg4/UPaEHBbZcxh6QYX2gOqM2yzVy54x9Q522XuP1bY5+3QXLaPM0Z?= =?us-ascii?Q?Vuc0ML16CGZ+uirpVGVR26S+nRV2zZYmbNRFHGioybgw6jmGdjzKQ287bzb9?= =?us-ascii?Q?eToLM3yrYDahAVLfXH2RyX/lIU/dMBv4XTCDGYbzGPqbWe/m1c2j9qYAWqx4?= =?us-ascii?Q?W4WuvoNEDuci0izuFb7XD2T3r4k+FNGLAE2boJBiT8FqWDKkZAiTVIWfYToR?= =?us-ascii?Q?kt6aplUXe+C1UnMI1nSorhwVTuzvRRxTNE2UT9uBE8IvcHcX5PWdr9naXCls?= =?us-ascii?Q?id5YFwZY+iqoWH9AYJHdMaAuJ/ccs0t7kiXt3n0+4zx99PcBcxOCMTgSJNEr?= =?us-ascii?Q?EqdZI9N+V5rtDQsHzk5EUdITHMsHDrW836QHLtVDFxNo+N0fxHPGqtSWPGQo?= =?us-ascii?Q?bBTwr9NO+NkkrTXjeoaCbamod6UpBVU3lfvPS+q6rKNhVD3RWRqBQ79+fXd7?= =?us-ascii?Q?8zzaHaG/fSFS2B9Lfaw+ulEfW4S8YeHLYdOCCLs4nVasOJVqzntfT5/tRGgu?= =?us-ascii?Q?j3+tvJXJhaMP+5vsG1MPJXhfNZK3yoYz/ONMpiSdZTlzOmm777Bmv9CO1Qlb?= =?us-ascii?Q?SXTKoIRrO8VtTa8ud0cH9dxOL6HvGTrH/IWmKawDdOyhghT40dDQqiXBwb93?= =?us-ascii?Q?0hqgjJV06+G53E+hjGGFgcZ6JXEl1fEli6Vymqb0JItztILc4dXWGIB0oKKg?= =?us-ascii?Q?oxrDTqM=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SJ0PR13MB5545.namprd13.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230037)(366013)(376011)(52116011)(1800799021)(38350700011); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mZLco4sPWES7JPAtXYnYggfwDmndvmER0p0e0NSMQMvPfLeDyxL6e8iVORWo?= =?us-ascii?Q?zKlP7HgptlQwV1ZGiuz1NY1GByA5mGFMqFxGOCB9CWNa+krNqR4KS3rA7IbS?= =?us-ascii?Q?SQxlshvWwcFTCeI1UCAZ0Xqj7x7DRr0xtye8cN2yel0IZ9P2l/0ztE9MeiKw?= =?us-ascii?Q?tHvu6cgObUimgngT0w6WSTGceEaQkXIlk2kUppkUZShuhcnFLMFfr0g1yQ8t?= =?us-ascii?Q?Ga89B1R6932vgR4YEwuuce1qV01FYiC3TW03UHoN4cxUgxiFGSj6ByFOU0Yz?= =?us-ascii?Q?bY3y9ExDeiewR36nXjUbKDet6WSSgQuZwdCcrsJm5RkffDkLwioVcRGoXl2B?= =?us-ascii?Q?3a1r9p7C69GfZByRJf3BwrP2bVBYcm/0wbjUf7EiaP3iRz1ijnBpLocuC/Nw?= =?us-ascii?Q?4BzI7VvD/r0AROlrHoW1FACDONi/rU9BRnfyJ5/OWNbi/nRL8t0LSc/qaKNP?= =?us-ascii?Q?FhWVZWlwPhh7N54iOycTMG6G/9j9EUDLBKgH7pHgzAAd5ZcUDJTaZGfpMFHs?= =?us-ascii?Q?x99DAHZCuBilgXR69g2sbhXqWE3EeTceUGhHK4jcxs7BU1aI7I0oZ1UP+4mB?= =?us-ascii?Q?jZD+6zfkYM1ytO2oGTWIkjR/2pT8fKupUI2YxLQyYyeUIen6XKh0qvmVRcEQ?= =?us-ascii?Q?VM2+gZTLbrgvaCBOR+FQUxipZATRIDEh+uFdDkU30iSDQaEvFkW5OZOcnIoo?= =?us-ascii?Q?YiGClfNXRXhuql8s06Y9tX9XFAfR4s1tLR9iVW1rxbHokVnjQnM8zUpBdTg3?= =?us-ascii?Q?2xeD7BNfC1BfXpeHZ4YDCb0rhW11fx+5Lj2xpkajE9LlNT2Gve9WED3A2x7O?= =?us-ascii?Q?D7IQ1xIk7e4Qlzw5zadaW+BYs/ldkY9mb3vyVkqhPeXS1NhwwK7Hfd5TgfGe?= =?us-ascii?Q?jYmd1oGxSMO1A/PG6Ox/xzC8ywPG9yVQSK1sND1zOqFZQS51OBFD439lOMrh?= =?us-ascii?Q?DhkHR/OTwqMYYPU1qFxytQNLu+BW93XAs31ak/akYyc+UwFvE9929jSAjjc6?= =?us-ascii?Q?7c4fCV4AKqFe7WxkkVdGdkiRKOELUZl7pvHT0bjYbG1b2xqIMjrZY3RdvlE9?= =?us-ascii?Q?vYkI8APgudRiIIMzasBF+VpCIe9NdceHOAWUaEtalum7KbjmgWJXosR0lcox?= =?us-ascii?Q?T6w5KParBc31agPKLY9Y9qzyrt2TidL90LCLbdFTP58m3ySO6QuoedIxO8/E?= =?us-ascii?Q?RjVJ2ntwz+5VxcRQKRdPZA0tLFmCSXSO7AEw+pPsGz81eqyVpybkpJrPZQPA?= =?us-ascii?Q?m6obdMRDjqODD1EgCe1aKVvE37e2RFfx4aD8tWpzehaTd7gaM30d0VvmYJnL?= =?us-ascii?Q?5KP1zGZbDQ9GO5U+wjP7CKasx04dSoJqmRUj8w7GifkvQ5BPW+3h6Dw7G0U7?= =?us-ascii?Q?g3JjdHkJsJMYPtx0KoB2vmQcQTvEqAKh5UJTK+YPXeCeqilukoLw401CvSqZ?= =?us-ascii?Q?CQDDUrwhOrPPdY6Oei8Lum6H1gl/I2xZJPrB5HWrq72vD7fxJ//PmP3eleC8?= =?us-ascii?Q?yo43uocIx2a1bcN1WRS54ppsbKrZylV9Xur6IsWUevrvU5CIvKx0WQVxqbSo?= =?us-ascii?Q?YdxDvp7iecMWlv0ctdLT3OOh+drQsTCwFWh0si+kwSmuGLJXTNpDTrb+V0g9?= =?us-ascii?Q?IA=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: f19fd75d-df9e-469a-7a4c-08dc904679a1 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jun 2024 09:59:14.5210 (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: rBN33gKz4IkQncw8AATmJ2Z0JcW25i4bMrOGaXjmbx9z+BOU9QMKmeB77HMkRvI6fg3CBA0pXk9oOnmDBUM8FJH3Cq0+hzjtdQlyuksS/5M= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR13MB3912 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 From: Peng Zhang In single PF case, all the VFs belong to the PF0, so the first VF ID of the PF is always 0. But in multiple PF case, VFs are shared by the PFs, and the first VF ID of the PF is different, so it is necessary to get the right ID. Signed-off-by: Peng Zhang Reviewed-by: Chaoyong He Reviewed-by: Long Wu --- drivers/net/nfp/flower/nfp_flower.c | 2 +- drivers/net/nfp/flower/nfp_flower_cmsg.h | 1 + drivers/net/nfp/flower/nfp_flower_ctrl.c | 7 +++++-- drivers/net/nfp/flower/nfp_flower_representor.c | 2 +- drivers/net/nfp/nfp_ethdev.c | 1 + drivers/net/nfp/nfp_net_common.h | 2 ++ 6 files changed, 11 insertions(+), 4 deletions(-) diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c index 87bd9dda2e..602f45d1dd 100644 --- a/drivers/net/nfp/flower/nfp_flower.c +++ b/drivers/net/nfp/flower/nfp_flower.c @@ -116,7 +116,7 @@ nfp_flower_get_repr(struct nfp_net_hw_priv *hw_priv, port = NFP_FLOWER_CMSG_PORT_PHYS_PORT_NUM(port_id); return app_fw_flower->phy_reprs[port]; case NFP_FLOWER_CMSG_PORT_TYPE_PCIE_PORT: - port = NFP_FLOWER_CMSG_PORT_VNIC(port_id); + port = NFP_FLOWER_CMSG_PORT_VNIC_OFFSET(port_id, hw_priv->pf_dev->vf_base_id); return app_fw_flower->vf_reprs[port]; default: break; diff --git a/drivers/net/nfp/flower/nfp_flower_cmsg.h b/drivers/net/nfp/flower/nfp_flower_cmsg.h index bb03234035..93183153aa 100644 --- a/drivers/net/nfp/flower/nfp_flower_cmsg.h +++ b/drivers/net/nfp/flower/nfp_flower_cmsg.h @@ -422,6 +422,7 @@ enum nfp_flower_cmsg_port_vnic_type { #define NFP_FLOWER_CMSG_PORT_PCI(x) (((x) >> 14) & 0x3) /* [14,15] */ #define NFP_FLOWER_CMSG_PORT_VNIC_TYPE(x) (((x) >> 12) & 0x3) /* [12,13] */ #define NFP_FLOWER_CMSG_PORT_VNIC(x) (((x) >> 6) & 0x3f) /* [6,11] */ +#define NFP_FLOWER_CMSG_PORT_VNIC_OFFSET(x, offset) (NFP_FLOWER_CMSG_PORT_VNIC(x) - (offset)) #define NFP_FLOWER_CMSG_PORT_PCIE_Q(x) ((x) & 0x3f) /* [0,5] */ #define NFP_FLOWER_CMSG_PORT_PHYS_PORT_NUM(x) ((x) & 0xff) /* [0,7] */ diff --git a/drivers/net/nfp/flower/nfp_flower_ctrl.c b/drivers/net/nfp/flower/nfp_flower_ctrl.c index 01a680eb6d..a46b849d1b 100644 --- a/drivers/net/nfp/flower/nfp_flower_ctrl.c +++ b/drivers/net/nfp/flower/nfp_flower_ctrl.c @@ -419,6 +419,7 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_net_hw_priv *hw_priv, struct rte_mbuf *pkt_burst) { uint32_t port; + uint32_t index; struct nfp_flower_representor *repr; struct nfp_flower_cmsg_port_mod *msg; struct nfp_app_fw_flower *app_fw_flower; @@ -430,11 +431,13 @@ nfp_flower_cmsg_port_mod_rx(struct nfp_net_hw_priv *hw_priv, switch (NFP_FLOWER_CMSG_PORT_TYPE(port)) { case NFP_FLOWER_CMSG_PORT_TYPE_PHYS_PORT: - repr = app_fw_flower->phy_reprs[NFP_FLOWER_CMSG_PORT_PHYS_PORT_NUM(port)]; + index = NFP_FLOWER_CMSG_PORT_PHYS_PORT_NUM(port); + repr = app_fw_flower->phy_reprs[index]; break; case NFP_FLOWER_CMSG_PORT_TYPE_PCIE_PORT: + index = NFP_FLOWER_CMSG_PORT_VNIC_OFFSET(port, hw_priv->pf_dev->vf_base_id); if (NFP_FLOWER_CMSG_PORT_VNIC_TYPE(port) == NFP_FLOWER_CMSG_PORT_VNIC_TYPE_VF) - repr = app_fw_flower->vf_reprs[NFP_FLOWER_CMSG_PORT_VNIC(port)]; + repr = app_fw_flower->vf_reprs[index]; else repr = app_fw_flower->pf_repr; break; diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/nfp/flower/nfp_flower_representor.c index 59dc5854b5..e6fef45ddd 100644 --- a/drivers/net/nfp/flower/nfp_flower_representor.c +++ b/drivers/net/nfp/flower/nfp_flower_representor.c @@ -877,7 +877,7 @@ nfp_flower_repr_alloc(struct nfp_app_fw_flower *app_fw_flower, for (i = 0; i < app_fw_flower->num_vf_reprs; i++) { flower_repr.repr_type = NFP_REPR_TYPE_VF; flower_repr.port_id = nfp_get_pcie_port_id(pf_dev->cpp, - NFP_FLOWER_CMSG_PORT_VNIC_TYPE_VF, i, 0); + NFP_FLOWER_CMSG_PORT_VNIC_TYPE_VF, i + pf_dev->vf_base_id, 0); flower_repr.nfp_idx = 0; flower_repr.vf_id = i; diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c index e67ff3a0a0..482d23eb5c 100644 --- a/drivers/net/nfp/nfp_ethdev.c +++ b/drivers/net/nfp/nfp_ethdev.c @@ -1924,6 +1924,7 @@ nfp_pf_get_sriov_vf(struct nfp_pf_dev *pf_dev, return -ERANGE; } + pf_dev->vf_base_id = offset; pf_dev->sriov_vf = sriov_vf; return 0; diff --git a/drivers/net/nfp/nfp_net_common.h b/drivers/net/nfp/nfp_net_common.h index 7efd0161af..d3c70a21d4 100644 --- a/drivers/net/nfp/nfp_net_common.h +++ b/drivers/net/nfp/nfp_net_common.h @@ -147,6 +147,8 @@ struct nfp_pf_dev { uint16_t sriov_vf; uint8_t total_phyports; + /** Id of first VF that belongs to this PF */ + uint8_t vf_base_id; }; #define NFP_NET_FLOW_LIMIT 1024 -- 2.39.1