From patchwork Mon Jan 15 02:54:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Chaoyong He X-Patchwork-Id: 135865 X-Patchwork-Delegate: ferruh.yigit@amd.com 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 3EF09438C7; Mon, 15 Jan 2024 03:55:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8357C402CC; Mon, 15 Jan 2024 03:54:52 +0100 (CET) Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2100.outbound.protection.outlook.com [40.107.236.100]) by mails.dpdk.org (Postfix) with ESMTP id 2CD2B4064E for ; Mon, 15 Jan 2024 03:54:51 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fhE4HjXKwSYkZKNECZsQULeCg2xpm0ccJA3iFfjNOJ37AlT4aFKz3SR41RzLdNjs4VsttDb1ZJPzhfma7Z8lO3EJ/ENVz67X3poPZncg8BoXs1lhEQ9nDyZxr81RJ+MXfzV2vsQjyssgrhbgsg8FLe8Ky9jr15MR5PqSooAToyETO9e6VhaJTz9aSzVsSiUcYU0BLYCsGwzGBO2LjRoSkot9wds2+zVsZjGbPat3+LTZw4nhk5V8zjJ1ArF+aBywxX4Cv/5uCregRo+zkAO8ZKSUzEIki2p+vKKMIjk50mcFALjKYesbQWHGqnL0cjP/ewq7a1FLLaikiioWnLCMow== 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=yA7dMJCV0CDxcw/t45Qrh7oFIXKyG30aRWmNekQk/7M=; b=bx2C/wZxjXgXyo4PQYTNtLscWyVhmLfxP5xqP9Qm8+TLfe+WHhjOewtCQCOdRM3YcnN4Xr10PTh/DVKo2TsADtik12Ga2fuasOB/jIHCckmlHD6c5quttEQ8/GApw2XafLFJXv9finHOqmkP2yWdC5IY595Rr/tMeFkn1xmrMIAKIEqqR335KkvJrejFbwGHCzWtMHTc94iYOOWdEGglBYwGT/AFeu0X0KNPk8GbmDqakzxWmPwETHz8Djj/x4KptTwOPOdOEcuLB6cJmGmmNNgp2xT+7AnmjLNvPHeXxANIn8+olvrKMU3FyLFJaQQq8qW7+YQP6lS9Ts+grjBPYQ== 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=yA7dMJCV0CDxcw/t45Qrh7oFIXKyG30aRWmNekQk/7M=; b=VN7lgtLyMXdvKp55hUUKfHmF2e7d+7cr8UE0hvvQwLUGsHeq3akvWhzPWNFUHBBOmByTVAgSfssGgIdnLbDVQuYEzRFgJpy61S4mMu+60U5nuNvKvEcdTv2KsR7uot5zh1wOkIJ0I3GkWbssyIvyAB3QS1QioR+I1UAbinwy32E= 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 BL3PR13MB5242.namprd13.prod.outlook.com (2603:10b6:208:345::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.21; Mon, 15 Jan 2024 02:54:49 +0000 Received: from SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::8e02:f738:570a:f8aa]) by SJ0PR13MB5545.namprd13.prod.outlook.com ([fe80::8e02:f738:570a:f8aa%7]) with mapi id 15.20.7181.026; Mon, 15 Jan 2024 02:54:49 +0000 From: Chaoyong He To: dev@dpdk.org Cc: oss-drivers@corigine.com, Peng Zhang , Chaoyong He , Long Wu Subject: [PATCH 3/8] net/nfp: optimize loading the firmware process Date: Mon, 15 Jan 2024 10:54:14 +0800 Message-Id: <20240115025419.2447759-4-chaoyong.he@corigine.com> X-Mailer: git-send-email 2.39.1 In-Reply-To: <20240115025419.2447759-1-chaoyong.he@corigine.com> References: <20240115025419.2447759-1-chaoyong.he@corigine.com> X-ClientProxiedBy: PH0PR07CA0025.namprd07.prod.outlook.com (2603:10b6:510:5::30) To SJ0PR13MB5545.namprd13.prod.outlook.com (2603:10b6:a03:424::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ0PR13MB5545:EE_|BL3PR13MB5242:EE_ X-MS-Office365-Filtering-Correlation-Id: a091da4b-e302-4f60-90a1-08dc157556e2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: Wxu6I8Ola10kmcuPTPnzyFbt5kpw0vWX0v2Zkk8eDADCPSpBnpWP1cuK++zpmO7vr7naj+PTYP8NBiZuxYarTRFl1FLudnseER+j7m/50yRCQvLrXNzP7XwgJ1zFLoCX3LiIzcL3/Buk6zr3ZNPQOIcvSozSMc0Dm3MkUH7b7oxkvN71vrM/Mmk1jQMZF/JWhmXzQZXjanadW788zO87S5pPtQdle5a/fGVuKb8UnaeIXP80aAKlum+o1sqKKWs4Awv4LS4FXwLqd9PHK7+g3GeodX7n98TSjYrqN0FwVvh6z4Brm15qU5q8oYVIjByEDSGs8w2bUn92EKbcvIkCjgWkQ2mr3sOGgpG7ufnHXwbks/0Ofow7oR0OrGucbof8Jn1ZXBypKS7l5lZPg9pqBaRIkrfZ1Cuf5+F49r6NPLc4PCXH8OY5cO7n1SNfuv4ch/piVOsf7VI6CDwuYw1aKnEXI2UEtgFOfKfid3yRNLQtRjsIPMYBNIpXMcX9CCU+myl1JSlB9D3JS+ZJ5av/EQgzBlYm0uX438Lf3oDf2KvyaSzP5uhOsZ+WwqDuWJbzG15Z7FzUfN/5cMINgIWZJQg/Bx5OJXBkcMnwFEqMYtcOX5GEO7MeySdHu8WuT2Q+ 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)(39830400003)(136003)(396003)(346002)(376002)(366004)(230922051799003)(1800799012)(64100799003)(451199024)(186009)(6512007)(2616005)(26005)(1076003)(107886003)(83380400001)(54906003)(6486002)(316002)(52116002)(8676002)(4326008)(66476007)(478600001)(6916009)(86362001)(6506007)(6666004)(66556008)(66946007)(38100700002)(44832011)(8936002)(38350700005)(41300700001)(5660300002)(2906002)(36756003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6CV6CokHdp9lR1/EiguMQnJQ/AiLUjCFa0hDGmIMIU5019oIw6H2jjTELXZXNdiDxsfU5LW6teX8K8kNLdR5+sggjXXlohMEbhlTKPw2goqAmRn8fZVOf5BCJKapwItaF0egCEKMtzwufgvt5W0xoznioGRm+Hvk1aEv4+DL3eTIcV0BiOX8ZEG4SLD9gjlIDDhKDW4U648Lq8WkBC8JP4qwIfOZ9FG7cw8D8GS3Q7HeGdbgbIByNi9ySLlDBx99xlJiyLrk8dWKUOBGgYBd3+kZvmzvK+swGeWrZ8cbpYDg0052hAj8kPYcAIyQZ6xixBH6H0OtOkaNy84elhQAkfz8HB/0cyy3mre2GAh6Ranzpq7Y1FDxIdkGv8G9F4vyZw8kepZyfmgusA2yGXybCry1+LalDXkO1akz9L+32Te9aH0uFT/2TG9UDDiNGT1wLiV4e+Kzjsup8995GJ1W4X2c67bSDbJ8cX6mnHcIWM+rnivggBJyUSGjyTGnpqHfdiAuMU9lk003IzAdT0oPjFCxTsrzGUVK+cssLxWJOZazc5LkiSCHPKrIxe5+zKOK3ZhgxEznJqcjrbW8BqrDmZ7//OHGfUDDzLroCvwYVeYyFuUpeugjMG4QKHKq/r41zynUHR4O9rkHnkpQFQ7pxWRnxjQGP/HtE0AdZETB4d23mI1BfVcYGkS5J1Ob4+wMdOyVGVs/WU6Rkjf5vs2V8mR5PZG8IreRQZQXpQdM6NHrw/F6wGgvwi5d1ZeGE1jfsuU5SzGDHlFS6CYoxiK/ISyG+dEOk0dUCFCKGkmx4AASLiUSGQK+OdVn9cupZ2FK3EbcroFeyN80cSAQBVtS3A/GgwGjEVeauft69Y5q1zW0+eUOZR0mmFp76YSKUxwtb41me9jkg2uyleVAnkoMsag9IjmsAn6iD5SAGA//+fnPKW5gR+B8Wr2Ck9XlM7lzC6a1ZRP7ZQQDuRlVdqS+8Jlwsg0fScGoUjHsNKFjcfL92CWO4v7Lt+6BHaNYbjkL3uzIDs/7RDjJg0kUvVrazM+o9NV/CCPINHE+GDr5cIFyYkMEaVrSvrphJ30/ZRMHSun5/4oGdBy4lUV/1Km54MAL9rtci3bQKnjw7t7XzOmk2TuDfKR5HETRUM4CXsT8Udketa0NnLUQbBW1YBtJ4TiRi9y8b5FhuMrHaHJ9uJ8QKMpzlyhBJsiRroavHplCHnBtk3+Ayb9Z83eXg1OodAhVcDQPgM+PccerAI7i7cbfOh6n5sSy5JahDXFogN9Eam9Y2mlLYbKc2bDcgykQ9h+LHP51DJAYVTj3cCCGpPxZ26Iaqzut82ixttWF+ctc+jylLS0pFOQEIeVu6xLcG/8SbSaBAchcjvL1vlmOM1c7EK7PWj087jDX68uzKJ2J3bjUw5izoO3HHd1A7V9Oo9AnI0IBIOp8oHOcEIkzMeoSAsqg1aNtNzrKlu7bYTN/5KZWAGowEo30CYqEkvJqnKhE3D7C+5fCdgpHhhv+dIHp3N1GISk1Op4hnJNZ4j/2ThTCx/yXuFBFrx4J+r2OBcliR+13Yir2J7iQejwsyHhv0PdAL8RsoNxt/uF2nuRzuWeMk3e+nxScD6Ti63W+PA== X-OriginatorOrg: corigine.com X-MS-Exchange-CrossTenant-Network-Message-Id: a091da4b-e302-4f60-90a1-08dc157556e2 X-MS-Exchange-CrossTenant-AuthSource: SJ0PR13MB5545.namprd13.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 15 Jan 2024 02:54:49.5719 (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: oGybddBus9bue2JdhbPKOzPpp68aPZRTLEtnOEfPBsHwltJu8oss86HTPnHRMK0wogng05zRQEmGBSZJgGoI9JaehRQPw6LDKI4cB3amY9U= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL3PR13MB5242 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 Add the skip loading firmware flag, when any other port is alive, this flag will be true. Also make sure the order of starting the keepalive is earlier than getting the firmware status. Signed-off-by: Peng Zhang Reviewed-by: Chaoyong He Reviewed-by: Long Wu --- drivers/net/nfp/nfp_ethdev.c | 36 +++++++++++++++++++++--------------- 1 file changed, 21 insertions(+), 15 deletions(-) diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c index e06e6b7f59..e908fc8472 100644 --- a/drivers/net/nfp/nfp_ethdev.c +++ b/drivers/net/nfp/nfp_ethdev.c @@ -1059,10 +1059,8 @@ nfp_fw_reload(struct nfp_nsp *nsp, return err; } -static int -nfp_fw_loaded_check_alive(struct nfp_nsp *nsp, - char *fw_name, - const struct nfp_dev_info *dev_info, +static bool +nfp_fw_skip_load(const struct nfp_dev_info *dev_info, struct nfp_multi_pf *multi_pf) { uint8_t i; @@ -1088,11 +1086,11 @@ nfp_fw_loaded_check_alive(struct nfp_nsp *nsp, tmp_beat = nn_readq(multi_pf->beat_addr + offset[port_num]); if (tmp_beat != beat[port_num]) - return 0; + return true; } } - return nfp_fw_reload(nsp, fw_name); + return false; } static int @@ -1103,17 +1101,11 @@ nfp_fw_reload_for_multipf(struct nfp_nsp *nsp, struct nfp_multi_pf *multi_pf) { int err; + bool skip_load_fw = false; err = nfp_net_keepalive_init(cpp, multi_pf); - if (err != 0) - PMD_DRV_LOG(ERR, "NFP write beat failed"); - - if (nfp_nsp_fw_loaded(nsp)) - err = nfp_fw_loaded_check_alive(nsp, fw_name, dev_info, multi_pf); - else - err = nfp_fw_reload(nsp, fw_name); if (err != 0) { - nfp_net_keepalive_uninit(multi_pf); + PMD_DRV_LOG(ERR, "NFP init beat failed"); return err; } @@ -1121,9 +1113,23 @@ nfp_fw_reload_for_multipf(struct nfp_nsp *nsp, if (err != 0) { nfp_net_keepalive_uninit(multi_pf); PMD_DRV_LOG(ERR, "NFP write beat failed"); + return err; } - return err; + if (nfp_nsp_fw_loaded(nsp)) + skip_load_fw = nfp_fw_skip_load(dev_info, multi_pf); + + if (skip_load_fw) + return 0; + + err = nfp_fw_reload(nsp, fw_name); + if (err != 0) { + nfp_net_keepalive_stop(multi_pf); + nfp_net_keepalive_uninit(multi_pf); + return err; + } + + return 0; } static int