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 72E90438C7;
	Mon, 15 Jan 2024 03:55:29 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 4A85C406A2;
	Mon, 15 Jan 2024 03:55:00 +0100 (CET)
Received: from NAM11-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam11on2130.outbound.protection.outlook.com [40.107.220.130])
 by mails.dpdk.org (Postfix) with ESMTP id 75079402EB
 for <dev@dpdk.org>; Mon, 15 Jan 2024 03:54:56 +0100 (CET)
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=UIavvEngrEDoJLl+ty4kA1predvNmVKB0oFjG+UzRVmTtxigT3gU20Gm7IqZtPcHHXdK+Mhj2gC+U0wkchiAlNptA2TcGaN2LVyQFlkQsZvs4lSpjqRC6SNWcvlB4sU9Rwmv6N11reUNHaEugo1qJXKpJovgpDWWmJt0vtAv0MoYloiGRF01aWybFRwnJWOBiIUyxAyMlzgBwKKTY5gDYwtZvuamMM1h5JSVHnqbS4W2nAKCd5x6MgXC6GvjK8PUha97XvG0TGjwvbW3Vt+YEs/YLlsj7FqtZYuR9rcQxw8NTYVAuuAfwkN0rw+YuPjZZe67Kv6EJsIH2LNZ3tghYw==
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=XIGPmBwjgvTFqJLXWBBPnQzJXuDLqRGtHwlGHf6R3j4=;
 b=aiRQWReiATCiSOmTc8yo30GIfC/wREUGbQgsSl3v+5lkCxIicvCQGzhMZKHuQut/PrzxWFAzKGl3ZFXnLd5wC5byR03S/B+uXfhL8g09qGYYD0nA9IjpWopIivBsTud11r6MroUrW6fPcrTUPh7Gy9HcqGXC24epsIVasUM5tqwJTOos1rU2+G9F3dGLgtFSG7UJU/3/OulIcR37kyKHtnDCgLwlaL3isgwTb/rRsj8Eu4Y1ANzXKQ5J8IXzloMAWNSgZ+TeZ8SP8NfxN4W++j5S9L9vr7XnPhIraRjUn9MLOfxogYs9PNzu94tvlCnU5F/BYL+9Xct8eVE4F8etFA==
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=XIGPmBwjgvTFqJLXWBBPnQzJXuDLqRGtHwlGHf6R3j4=;
 b=Oobu69H9S5XJubFQKNwPiB3K6dq+Ka+IEZ11stnZTwBEu+nj+qycAPHAWqXAuLIqXDPj93fZsrDxNW9F9/V9aK5ZmSm3/WGTMoccwXLyCvxOW4qVMyVnfYE8AJZhLgQdFda7wrUxBP7XgYlJIFtN40c7nFL6LfpOK6kBtg9hM+c=
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 BLAPR13MB4578.namprd13.prod.outlook.com (2603:10b6:208:332::10)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7181.26; Mon, 15 Jan
 2024 02:54:53 +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:53 +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 5/8] net/nfp: add the step of clearing the beat time
Date: Mon, 15 Jan 2024 10:54:16 +0800
Message-Id: <20240115025419.2447759-6-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>
Content-Transfer-Encoding: 8bit
Content-Type: text/plain
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_|BLAPR13MB4578:EE_
X-MS-Office365-Filtering-Correlation-Id: 16541f04-f630-4fe1-a90b-08dc15755953
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: PvnX/4VDHtzlBP+CGq+oeho0CAdAfsUU+6oH5AwR3PdA/W0W0F8nnkj8Dqp5zj+MdblWUdYyEYkvxfp080lYVW7x4NmhSQXjmPQhDWPZfVMb5InmSYXEQkP5yNw7Bw7DyVcQ5qKZR7+yb+ZXg9bO3/9Kr9eyz3wlSakAgmfsgRPwb9FqykrTqQZETchVMV5W0tq1uCwl/2gPO8C/biRbXmtsbAicSQmiH9sOcHQANsPOJxrJd82+s4p0FvMeOTgnJTJPANmwVSJ9EZxYDqy9mAb5LQSiLr7vG5NDcPUqO6KkSttURiHVILec9ve+4Nt90seBC4Lqni0aDMVeZ2fQmBrwijnF43ihQi0biUZycntl8Crx7lcGU8Anx3KPeP/Najt+opKWMiMp9F8yfpUGtO7OrGn5/Nu6E5a8FO9ZOsSgztiBme+iq+8MPOAZ+E76XnDWxTluqQBkeRWy0ncn1eBCToFuMGzcRM0qrnej3N7YrxbJ9yFB588toy6KxMHlwz84yZo6533NXru7CnCzxgEJU7bFyqFUvHNcsQ5j1lUwRvX+A/7g4AISjsMlpGjofaxaIgAspsDC9evxU21/QjEA4Ci51yTZ4xmVT90/6GAnAGdowqCwRn52VMmy22nc
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)(346002)(366004)(136003)(39830400003)(230922051799003)(1800799012)(451199024)(64100799003)(186009)(107886003)(52116002)(36756003)(86362001)(38350700005)(6512007)(6666004)(8676002)(8936002)(4326008)(44832011)(5660300002)(2616005)(1076003)(26005)(38100700002)(66946007)(6916009)(316002)(66476007)(54906003)(66556008)(2906002)(41300700001)(6486002)(6506007)(478600001);
 DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?VNTSTufbNhHDtri6VwTnFZyOcUrTVLNdgzRt0DCSLuZYWn/+DoyzBNL3+/We?=
 =?us-ascii?Q?ZAh/6l9XQJdmP1MOHSB8ErQ/63GHipKkPJ8+LRfyrQzc+f1uvYuL2IxcKBix?=
 =?us-ascii?Q?/gDfq/v/25ljBs3M3u6qbBgghReIFHAx5PVX6u3KXpLbk4uG/2mHPNRs1YdL?=
 =?us-ascii?Q?jRK3xl0Va/naxi74/yItoXI8duI4nRi8ealfGY5sN9GBE5Wgh8nxXSSfFNho?=
 =?us-ascii?Q?4pgkDmr4PAhD8p/bBfSan7LwazgHg41YtlFcoLvIkP93RkX+NM/uxPhgXe6+?=
 =?us-ascii?Q?khRjdPLysouSM9GRjd3FzS2gT5d6AiReApscNJZzymAUInSfldQHS1nV94kV?=
 =?us-ascii?Q?LPYyRDwDxMUmIECP7+yOIb5e1qIc+mQh7GpidvMPGk7vQwH7EQpOnTALi7S+?=
 =?us-ascii?Q?Dl8FOMqIHHV0At2AX+vVxBr57mRdcjLXHzWbYtgCJvgWajLCuqrcq21pB23o?=
 =?us-ascii?Q?RIfOvQ7aB9hQ1gMO6Zj5XINykcxBr6U6FQ5CGSL3u5AN9wsAMMTVDElj6XzC?=
 =?us-ascii?Q?qsG42rjdLegXOtmCHFoLJZAI+I60hf9BSZ5hw1Hjz5I2dYodw7ZNeWIDM5y+?=
 =?us-ascii?Q?h9L+tN5UYMDWJy7/b5+E+VcESp3G/XbsTrVS5qpjGJlpw1OmiQIktsM6kz3P?=
 =?us-ascii?Q?rGqaRKk21FdOxO9hZD6XMIsckQO7XE7UROAhyuRpY6b4DF6KL0h5f7QPnbp0?=
 =?us-ascii?Q?M4vTaotZ/EDft/u4N+NcHzQ9bQ0uCna/zEaPNEhy2HNtaUkVfAAGNieVQt8g?=
 =?us-ascii?Q?hRY2HBH6xOsLQqgUZXinSKTe74vOfGYrs5pxPIuYtsYJVoZ/vM4xs9NLc0QV?=
 =?us-ascii?Q?gL0fUQDW4eylxD+Q32dUR/PKRcenFd5upLfCENS5NAKfkzfzGV/CvRfByROQ?=
 =?us-ascii?Q?h1CVdjeXXB6QLhTm/x8zawhKOtF5Dh/a+dWH4iEvNA/4ejVH8Ck64YAykfux?=
 =?us-ascii?Q?9NVgi3tqSXwvIHiEgwd1LFBqhWDuXoEly39mT3RK8j/erlFeE5oQT4MDGnte?=
 =?us-ascii?Q?QWyq0Ajnurh5L8RdrLtBJvBGFbpEsbz483EF+OB/QVPJ5wJQfKPM4nrNgzvD?=
 =?us-ascii?Q?6L/Pniz4cMMTwNXpUFnN58TBA/Uvg/yq24L8XTL4HCtJ87nyB4xmb9tkPn31?=
 =?us-ascii?Q?a4UNdkY1uR8dD2jWBiEuIrdTnS2VMTlHPbPzCLMIvb1hNfLOGF+lvHxxnozO?=
 =?us-ascii?Q?P6UynUSXepJBmztwFDBNjOhqVxmyjyD9na/Q9Te4+gdYvO6Z72NrbqxTaGT/?=
 =?us-ascii?Q?yy/BsJBLjTYWWWAQIWyzZFxR4yY7tskz6idXehxd9S4Ve43nhJY1hEqbdMim?=
 =?us-ascii?Q?LlNBM2Uy3xNk2I05X2c8qPbFulx1WKW4xz1yEiOtR4AdJ1CmfMSsSQfr3USe?=
 =?us-ascii?Q?hww8b6DSmEUedxr82IvM8ZKIhlHdpMsR28okaNQtNbaEV7bikxZHLh9bLl1R?=
 =?us-ascii?Q?lPgKUoLxbnAlwKhrxR5R10ykf8ipSrDrPlcXfUr/+vOvhyTOAx5rlwHTTeBt?=
 =?us-ascii?Q?PqFhRVX3At2h5GA5UQs3ym1CQ5E/J7zDdW4Zo/ZSnrRl6ltANY5zGRukzvni?=
 =?us-ascii?Q?rkloji9MrECcHLjUuKUEEUS2BSXc9O5JnsXx9AEE3nVyZ8ts8TNvgRyu0zfV?=
 =?us-ascii?Q?DQ=3D=3D?=
X-OriginatorOrg: corigine.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 16541f04-f630-4fe1-a90b-08dc15755953
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:53.6816 (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: bO5ECzdjuxIDLTN8e4VtDg+Q9QwaUhHvrw6pW/FlAyQf48V8jg1EReLKPH1shmeZC5Mfs+fe83wqRlNaDht96pAJ57hmdOm9DKZglI09XXE=
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLAPR13MB4578
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>

Add the step of clearing the beat time of specific
port when DPDK exit. Add the step of clearing the
beat time of other ports when reload firmware.

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/nfp_ethdev.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/drivers/net/nfp/nfp_ethdev.c b/drivers/net/nfp/nfp_ethdev.c
index 25f5fe483f..46bb09a211 100644
--- a/drivers/net/nfp/nfp_ethdev.c
+++ b/drivers/net/nfp/nfp_ethdev.c
@@ -470,6 +470,27 @@ nfp_net_keepalive_start(struct nfp_multi_pf *multi_pf)
 	return 0;
 }
 
+static void
+nfp_net_keepalive_clear(uint8_t *beat_addr,
+		uint8_t function_id)
+{
+	nn_writeq(0, beat_addr + NFP_BEAT_OFFSET(function_id));
+}
+
+static void
+nfp_net_keepalive_clear_others(const struct nfp_dev_info *dev_info,
+		struct nfp_multi_pf *multi_pf)
+{
+	uint8_t port_num;
+
+	for (port_num = 0; port_num < dev_info->pf_num_per_unit; port_num++) {
+		if (port_num == multi_pf->function_id)
+			continue;
+
+		nfp_net_keepalive_clear(multi_pf->beat_addr, port_num);
+	}
+}
+
 static void
 nfp_net_keepalive_stop(struct nfp_multi_pf *multi_pf)
 {
@@ -524,6 +545,7 @@ nfp_pf_uninit(struct nfp_pf_dev *pf_dev)
 	free(pf_dev->sym_tbl);
 	if (pf_dev->multi_pf.enabled) {
 		nfp_net_keepalive_stop(&pf_dev->multi_pf);
+		nfp_net_keepalive_clear(pf_dev->multi_pf.beat_addr, pf_dev->multi_pf.function_id);
 		nfp_net_keepalive_uninit(&pf_dev->multi_pf);
 	}
 	free(pf_dev->nfp_eth_table);
@@ -1147,6 +1169,8 @@ nfp_fw_reload_for_multipf(struct nfp_nsp *nsp,
 		return err;
 	}
 
+	nfp_net_keepalive_clear_others(dev_info, multi_pf);
+
 	return 0;
 }
 
@@ -1779,6 +1803,7 @@ nfp_pf_init(struct rte_pci_device *pci_dev)
 fw_cleanup:
 	nfp_fw_unload(cpp);
 	nfp_net_keepalive_stop(&pf_dev->multi_pf);
+	nfp_net_keepalive_clear(pf_dev->multi_pf.beat_addr, pf_dev->multi_pf.function_id);
 	nfp_net_keepalive_uninit(&pf_dev->multi_pf);
 eth_table_cleanup:
 	free(nfp_eth_table);
-- 
2.39.1