From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <dev-bounces@dpdk.org> Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 35A7145B90; Mon, 21 Oct 2024 08:34:31 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 12A4B4066A; Mon, 21 Oct 2024 08:33:42 +0200 (CEST) Received: from NAM02-BN1-obe.outbound.protection.outlook.com (mail-bn1nam02on2108.outbound.protection.outlook.com [40.107.212.108]) by mails.dpdk.org (Postfix) with ESMTP id 13CD940666 for <dev@dpdk.org>; Mon, 21 Oct 2024 08:33:40 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=eaGIt6Vth0/puObCvWbOomw9v2qKeIbPt9OKBK2/xRbuA/0jai5NvEotDMAFZa3RFeRdSZIdkl53OK8gMl3h5k38Ryv3I2A0RjauvuMLjXHIAnJwdOarWeHEY73ZFcpi5jz3LBRzgIInY5O/YeWyRDTcNSwOBdatyaVHaq0TSqLfYUQ9zdA345mrxzHxBb+DNWu3Zmbe4CqUHCzwuISwcZdcVy94r0dlODZe1sv1tBAblQA9qwZu0kdfsCWcHiRBRm9SBNfRaTrcsZZguTj5mmctsPoKCHG7b3+p2miA9hJ6VlrjKh1xj0jBAi7YrXLzYOPKIJ+Q3v4gzky1FVWFZg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=f2ICVCYT8PYv7D6M7qxlvZ7Y6x1K9QF0wRdSeClqknA=; b=A07VDb/SF64ONqfYCQS87CdQI6KJ+X0O1GMAW/s5w3uIx64MVl39h2/5Hgd9jrqA3sziJ6D10KzCY2OVtvtzXevYUtXVWSt0N8Nsdn/62w77JflKokYXdxApI5cl0kKNHQszbiq69qF3uGY/bKZOIkcWlUmE0PYrYj19/oQS4R6LlOfQlGVqxaQQo4Y+yTNwKslqYwj5uH93/hbuIUfTCJAVCHYCWltL2kn95mDAsuyAey98ei4o1spI7uyrZNS2i2bd2HqAI5RnTnJu/ARxgOQWdYTwkA7MLspWEDULnuirNCGJN7SA/R+pxqm5UUBCj3LxJO0k97gf0yCKB0ropg== 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=f2ICVCYT8PYv7D6M7qxlvZ7Y6x1K9QF0wRdSeClqknA=; b=Vfn/bnV8xdJM0MO4Fa7TrXnFon9kayYhYqByclnH56CymwLZkAi4T9oCwSCbp9K3rATiJr55a3qFNDGqoCoBV1K2y3A0oNF9wLo0DtaLo0GGR9C6jfAQOnJ1PSZsRQ/GmK64H+IDqrhsK/b80lfPya1WxiOpXJyTWWNcM6IwgvY= 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 SN7PR13MB6132.namprd13.prod.outlook.com (2603:10b6:806:355::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8069.28; Mon, 21 Oct 2024 06:33:37 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::b900:5f05:766f:833%5]) with mapi id 15.20.8069.024; Mon, 21 Oct 2024 06:33:37 +0000 From: Chaoyong He <chaoyong.he@corigine.com> To: dev@dpdk.org Cc: oss-drivers@corigine.com, Peng Zhang <peng.zhang@corigine.com>, Chaoyong He <chaoyong.he@corigine.com>, Long Wu <long.wu@corigine.com> Subject: [PATCH 8/9] net/nfp: add the new operations for multiple PF Date: Mon, 21 Oct 2024 14:33:00 +0800 Message-Id: <20241021063301.4146214-9-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20241021063301.4146214-1-chaoyong.he@corigine.com> References: <20241021063301.4146214-1-chaoyong.he@corigine.com> Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: SG2PR03CA0118.apcprd03.prod.outlook.com (2603:1096:4:91::22) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|SN7PR13MB6132:EE_ X-MS-Office365-Filtering-Correlation-Id: a5388a60-ac5e-4801-7bbc-08dcf19a4b45 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|52116014|376014|366016|1800799024|38350700014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?SH4mY7lBXwehTU3kDyqta0Zi/Bci+gYeS3Ld5CNGBW1VWsejady4AGhubZwM?= =?us-ascii?Q?AqmH2WoUjjbRaD+M06IlUQyrxtVf/uVGgTId7IAgc6gDZ2hOoKcy4WzkuoFv?= =?us-ascii?Q?TrMHY70lc7+Z01olwjPHwwwLD3urznzdIotARnwRqP6NUpy9uu5T+GZsHulF?= =?us-ascii?Q?pCKCmF2KKtxsdGKLHAx65FRUahrHt7Xhp0P7L6qVrijQ7AGbzK//xKimGBAN?= =?us-ascii?Q?XYLwCGOtdAYqxXiStOolo2syHzST5Dg60ybvMYu0WU4xZO6lTVELPTX7eqpu?= =?us-ascii?Q?vjdhI3tVOdURorTROcUrbRiy8/RjTmscYRqvPyCAQmX5bLr1rUCobaRSfn1r?= =?us-ascii?Q?Y9aKr7f3+YiEh9mFb9XlLiVepIDdXzvz7EL1Umpf10OuVH+D+srwxsK/pVKX?= =?us-ascii?Q?PRfzrUZiIK10VSXPzfdylAVNNz+mc4B0kpNIygHaygIGUgsoOTRB6aSbhzx7?= =?us-ascii?Q?nZKHNoO5Fr9hX67NaXWQwjORcHlKDxjjqdtOQ696F1LpEmZrpU7C8wCIJT6Z?= =?us-ascii?Q?E80mBk+QOfYEjkqtf2DyxfH0vzN1KWcIAks2RupiUWV8zBjrAqWLChIHF2fu?= =?us-ascii?Q?WQe+tnF+yWefd2EMq5fSphosf5tH162e7YP6SKHRd3K/OjTHbxSCAeCfg0Pp?= =?us-ascii?Q?Qri5fYCzgMg95MHQt+KNJ9EHGkg1iD9mWhim6ROI2r619UIdbPqH3e0c7sZg?= =?us-ascii?Q?cuZvcrHmDGnRp53NtaK0inC9Y5cpGh2InoL+Q7wEj4DkyaXohyYpGz5dxScO?= =?us-ascii?Q?Rjc+5wdlwh0jy6WUkjpftZs1LpU6jLLUJjlomerq/yKvUZDjczeoo+HDy4YW?= =?us-ascii?Q?TaSme6H5kGV2Foc3mC/XR6Aj2r8neDvxoro7mlti2PcS6jJXzRLzzeUDSaiu?= =?us-ascii?Q?2lwXvAbobtYigtPow7nMoSDIzIhJKMYlKuvplGvnTdcboZv743zBfwLq7hLU?= =?us-ascii?Q?zhi3thmjTQ2CsWs9gbI6NUCVV35R/tn5sZIqvZXn/f1+GrWQPmyM3azsebXh?= =?us-ascii?Q?YcD+/Itj6XJW+CTfGvRDYtwgRbsuomhW7eU1Nc0k+pWpw3mNAe/NV8z/sDQ5?= =?us-ascii?Q?tfvZmKf8+SioGVimM/KMRFA8csqT5bQQ7xhsJdAPMQjEt7ux9tP2r6QINvT1?= =?us-ascii?Q?EntKpC0tAK3BS0kjnbemeOC1o9NhDGaFqbxNvISy41ItoRSi1OKoWsjLwqzx?= =?us-ascii?Q?OAdqaAHn/Kc1OccfiZVpY7LjcVAYRNTQLIJm/7jM6c4LspZeBjZfkCZR0NE0?= =?us-ascii?Q?p0UAxRSmEOf6ss8/yEd3BsSTLehFaPioi1M/SRmRZF3bPZA3HF7JuUbFVOqY?= =?us-ascii?Q?NfuinqU7KN3EeNpkgPrPM5eXp8V60zoLEm9FPKrP7vcTqQlPyAtkcbEbuwN1?= =?us-ascii?Q?jjXQDuI=3D?= 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:(13230040)(52116014)(376014)(366016)(1800799024)(38350700014); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?kWYvzSs7LAiSzHWvaVnS2tEM6Di+KgtZ/iToGS5icp6gFY+vld/v5bDdVycm?= =?us-ascii?Q?uSFW3Qh46HNGcOQzexoNJUiW764BIYLf3o6hJ1A7sWDIcihyZmtE6HBCUtrz?= =?us-ascii?Q?Q5O0Uz42OIqG0GrkK1mHXQ5JS1oId9lDIl7oC+Y/odPSHX2BGO4M7mNa2X6m?= =?us-ascii?Q?ykfgWQt5FfL0mhDVxy54EQtBJAa3pozw8MetH0fNCsDvhT4WKAcTJnvVdK9m?= =?us-ascii?Q?lDSwmnLI7ExKmT7ZVZKJZlWbELWnB80rnCtoG8cdWBPuhMGRR14FmXVksjQc?= =?us-ascii?Q?OkepqhCa1cGYBMqvYVw/fYAcLtcwtNZfZP5EEOCn8wEfrO1fRwEuWanBShtq?= =?us-ascii?Q?jjaRfj6l8mHd8uoSf4CKq3Yh3IXzz6/rwG3wBv79wojADUy4XqOdec5JYBgs?= =?us-ascii?Q?J4FNS2xLBFOmfwGzOZkBbW4FwcQb4mN1E9iMZOa0k6vlHzD1wL9SmT9tQvl9?= =?us-ascii?Q?IbbcGWSZ8GSFxdxIWBcvL5rLpbhyB30ngDwdeYR2d2siKZYhBPVI/Q728zcI?= =?us-ascii?Q?H0bsG9FOhW7modyhtAdgO1zWeEeSdSxhpTWaEqvQFkM0tKXGSpc5XEu2XXFB?= =?us-ascii?Q?W7Z6YCE0Q5JZox2kT9Zkp0+7cc1ENw+CwIuSUSUzpVsRTEzJeKG6f1LNVwLM?= =?us-ascii?Q?9Rp3dVOGzWEoDSt1xQcwuNUJ/6SiC4OuP/jUhRq4duS67vOLHoHEwMJs2lcz?= =?us-ascii?Q?2++tV1kS0XEhvJMMuSRLuSJOGlvwb+rewBdL9q2LAIftrIKmM7/rDJzSLjFZ?= =?us-ascii?Q?Rpq7lhv4SC/wMzHUiPY0PrJy+v2GUF067arH4Gcx78B4iDQei8zyZISdeJLk?= =?us-ascii?Q?cojguR5perrb6hRnDpY3ZsC1zMJ5rbT6xg94NC4hrDO9/bRx/PTUGaLMOscb?= =?us-ascii?Q?gCZsHB/LRph1DSWkpHA5qdgFxdCvZu9qZArj62C/TvCn41p3pXIOjwveP7EF?= =?us-ascii?Q?Jaq1ctbrqTpTPohox7PhSUWlSr11yP82n/EGLzTQtEPB8Ws2wwSaHWkUn7kK?= =?us-ascii?Q?0knoxThyIrkqHEbCV6xgybdD/juFh6t2Nj9a18RPaDepvCN88raHC+JX24ST?= =?us-ascii?Q?c00LfkF0qbF07+QMIeCx8EKoqrJO8ILvB4ShXEq7oLSzeaG/eUVcqnA7FTvQ?= =?us-ascii?Q?MB0Ac1kEckH+orq3+CUOUJAnziKfF8k2TDeqffwSgwToqTPJkqmcZjmUb5oH?= =?us-ascii?Q?X5EHKFrA3MtgyZOpZUz0dqlLCIn53wFxoFS9CHw4ANtCc42ko9jpls+wl5+I?= =?us-ascii?Q?RMBXcVX7/c3oLjSdf7M31pDlk6gcfM85xekyJLUDQQFblMWa838KM5qiWuHP?= =?us-ascii?Q?2ZP7gkKDQrGhmxe7GONjFTyXpTj8iK0hROwJw+bfjbEseNcOV0q9hn5ENcDF?= =?us-ascii?Q?F3PNwiVAbzuwb5IuHJybTPvZ2lJpPPaREleSUsYdrhJM5sOT8XF94iWkDLoh?= =?us-ascii?Q?d5zfDN/tjb+8X7vZkQlHVuHJw6uXj/hwVpPSddOJGFkLcvQL5zTsKokCX/4B?= =?us-ascii?Q?h2QSZ9P4Yu52MsRXrNCTRRnCNH2Dt6iVJ1hnddX15whh6ze8FDN+HzIKMZdC?= =?us-ascii?Q?UbzYa81Mmina7+pBQSqGfAk44aJWNHmrApcLBRDPT0PxH5JumvihiBGYbY0M?= =?us-ascii?Q?Eg=3D=3D?= X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: a5388a60-ac5e-4801-7bbc-08dcf19a4b45 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Oct 2024 06:33:37.1523 (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: CaZyKdJXpH1qEjnMXUQxWPW6tHHPSFPsa7/D+dgbTt2KgmST7aU37JVhccOD2PEZFe/F8XzMe8qOY6w5XdqvIL6U0VHL7LFyzVBhWxD58fI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN7PR13MB6132 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions <dev.dpdk.org> List-Unsubscribe: <https://mails.dpdk.org/options/dev>, <mailto:dev-request@dpdk.org?subject=unsubscribe> List-Archive: <http://mails.dpdk.org/archives/dev/> List-Post: <mailto:dev@dpdk.org> List-Help: <mailto:dev-request@dpdk.org?subject=help> List-Subscribe: <https://mails.dpdk.org/listinfo/dev>, <mailto:dev-request@dpdk.org?subject=subscribe> Errors-To: dev-bounces@dpdk.org From: Peng Zhang <peng.zhang@corigine.com> When using the multiple PF firmware, add the new operations and update the port start and stop function. Signed-off-by: Peng Zhang <peng.zhang@corigine.com> Reviewed-by: Chaoyong He <chaoyong.he@corigine.com> Reviewed-by: Long Wu <long.wu@corigine.com> --- drivers/net/nfp/flower/nfp_flower.c | 21 ++++++++++++ drivers/net/nfp/flower/nfp_flower.h | 1 + .../net/nfp/flower/nfp_flower_representor.c | 34 ++++++++++++++++++- 3 files changed, 55 insertions(+), 1 deletion(-) diff --git a/drivers/net/nfp/flower/nfp_flower.c b/drivers/net/nfp/flower/nfp_flower.c index fd0a454432..df7a150a99 100644 --- a/drivers/net/nfp/flower/nfp_flower.c +++ b/drivers/net/nfp/flower/nfp_flower.c @@ -23,6 +23,20 @@ #define CTRL_VNIC_NB_DESC 512 +int +nfp_flower_pf_stop(struct rte_eth_dev *dev) +{ + struct nfp_net_hw_priv *hw_priv; + struct nfp_flower_representor *repr; + + repr = dev->data->dev_private; + hw_priv = dev->process_private; + nfp_flower_cmsg_port_mod(repr->app_fw_flower, repr->port_id, false); + (void)nfp_eth_set_configured(hw_priv->pf_dev->cpp, repr->nfp_idx, 0); + + return nfp_net_stop(dev); +} + int nfp_flower_pf_start(struct rte_eth_dev *dev) { @@ -34,6 +48,7 @@ nfp_flower_pf_start(struct rte_eth_dev *dev) struct nfp_net_hw *net_hw; struct rte_eth_conf *dev_conf; struct rte_eth_rxmode *rxmode; + struct nfp_net_hw_priv *hw_priv; struct nfp_flower_representor *repr; repr = dev->data->dev_private; @@ -84,6 +99,12 @@ nfp_flower_pf_start(struct rte_eth_dev *dev) return -EIO; } + hw_priv = dev->process_private; + if (hw_priv->pf_dev->multi_pf.enabled) { + (void)nfp_eth_set_configured(hw_priv->pf_dev->cpp, repr->nfp_idx, 1); + nfp_flower_cmsg_port_mod(repr->app_fw_flower, repr->port_id, true); + } + for (i = 0; i < dev->data->nb_rx_queues; i++) dev->data->rx_queue_state[i] = RTE_ETH_QUEUE_STATE_STARTED; for (i = 0; i < dev->data->nb_tx_queues; i++) diff --git a/drivers/net/nfp/flower/nfp_flower.h b/drivers/net/nfp/flower/nfp_flower.h index 1dc868fb68..a257366656 100644 --- a/drivers/net/nfp/flower/nfp_flower.h +++ b/drivers/net/nfp/flower/nfp_flower.h @@ -116,6 +116,7 @@ bool nfp_flower_pf_dispatch_pkts(struct nfp_net_rxq *rxq, uint16_t nfp_flower_pf_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts); int nfp_flower_pf_start(struct rte_eth_dev *dev); +int nfp_flower_pf_stop(struct rte_eth_dev *dev); uint32_t nfp_flower_pkt_add_metadata(struct nfp_app_fw_flower *app_fw_flower, struct rte_mbuf *mbuf, uint32_t port_id); diff --git a/drivers/net/nfp/flower/nfp_flower_representor.c b/drivers/net/nfp/flower/nfp_flower_representor.c index c096862a0f..6e957b125f 100644 --- a/drivers/net/nfp/flower/nfp_flower_representor.c +++ b/drivers/net/nfp/flower/nfp_flower_representor.c @@ -523,6 +523,38 @@ static const struct eth_dev_ops nfp_flower_pf_repr_dev_ops = { .fw_version_get = nfp_net_firmware_version_get, }; +static const struct eth_dev_ops nfp_flower_multiple_pf_repr_dev_ops = { + .dev_infos_get = nfp_flower_repr_dev_infos_get, + + .dev_start = nfp_flower_pf_start, + .dev_configure = nfp_net_configure, + .dev_stop = nfp_flower_pf_stop, + .dev_close = nfp_flower_repr_dev_close, + + .rx_queue_setup = nfp_net_rx_queue_setup, + .tx_queue_setup = nfp_net_tx_queue_setup, + + .link_update = nfp_flower_repr_link_update, + + .stats_get = nfp_flower_repr_stats_get, + .stats_reset = nfp_flower_repr_stats_reset, + + .promiscuous_enable = nfp_net_promisc_enable, + .promiscuous_disable = nfp_net_promisc_disable, + + .mac_addr_set = nfp_flower_repr_mac_addr_set, + .fw_version_get = nfp_net_firmware_version_get, + + .flow_ops_get = nfp_flow_ops_get, + .mtr_ops_get = nfp_net_mtr_ops_get, + + .xstats_get = nfp_net_xstats_get, + .xstats_reset = nfp_net_xstats_reset, + .xstats_get_names = nfp_net_xstats_get_names, + .xstats_get_by_id = nfp_net_xstats_get_by_id, + .xstats_get_names_by_id = nfp_net_xstats_get_names_by_id, +}; + static const struct eth_dev_ops nfp_flower_repr_dev_ops = { .dev_infos_get = nfp_flower_repr_dev_infos_get, @@ -782,7 +814,7 @@ nfp_flower_multiple_pf_repr_init(struct rte_eth_dev *eth_dev, repr = eth_dev->data->dev_private; hw_priv = repr_init->hw_priv; - eth_dev->dev_ops = &nfp_flower_pf_repr_dev_ops; + eth_dev->dev_ops = &nfp_flower_multiple_pf_repr_dev_ops; eth_dev->rx_pkt_burst = nfp_net_recv_pkts; eth_dev->tx_pkt_burst = nfp_flower_pf_xmit_pkts; eth_dev->data->dev_flags |= RTE_ETH_DEV_REPRESENTOR | -- 2.39.1