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 074C041DBB; Fri, 3 Mar 2023 01:01:14 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9141F40EE3; Fri, 3 Mar 2023 01:01:13 +0100 (CET) Received: from forward500b.mail.yandex.net (forward500b.mail.yandex.net [178.154.239.144]) by mails.dpdk.org (Postfix) with ESMTP id 1B25740687 for ; Fri, 3 Mar 2023 01:01:13 +0100 (CET) Received: from iva1-07947c637cce.qloud-c.yandex.net (iva1-07947c637cce.qloud-c.yandex.net [IPv6:2a02:6b8:c0c:929a:0:640:794:7c63]) by forward500b.mail.yandex.net (Yandex) with ESMTP id 6D5E95F28E for ; Fri, 3 Mar 2023 03:01:12 +0300 (MSK) Received: by iva1-07947c637cce.qloud-c.yandex.net (smtp/Yandex) with ESMTPSA id A1K20u3bYW21-TK2PrPAn; Fri, 03 Mar 2023 03:01:11 +0300 X-Yandex-Fwd: 1 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yandex.ru; s=mail; t=1677801671; bh=/lwHZ7mha1DQWO5t2BzP6yZ3e58l0SIH9Ey/UyPaVAQ=; h=In-Reply-To:From:Date:References:To:Subject:Message-ID; b=Q7qVjOHjygNJ8VBz4hbT6SczFNUGqLadv31y/Ky5XLhJkdoUxL/08lp5SZuTGpPeS OVZ/VQyhJSeL8gBc9Y6dJa9ExVE2rAVKYExpLxQjmAzmS29idCy5/hO/fg9dewUcZZ 8XaIAj1H1f3UFtROZqbMKd4Mh4ctFB7Viy2RUb08= Authentication-Results: iva1-07947c637cce.qloud-c.yandex.net; dkim=pass header.i=@yandex.ru Message-ID: Date: Fri, 3 Mar 2023 00:01:09 +0000 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [PATCH 4/5] net/bnxt: use fp ops setup function Content-Language: en-US To: dev@dpdk.org References: <20230301030610.49468-1-fengchengwen@huawei.com> <20230301030610.49468-5-fengchengwen@huawei.com> From: Konstantin Ananyev In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit 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 02/03/2023 12:30, Konstantin Ananyev пишет: > >> Use rte_eth_fp_ops_setup() instead of directly manipulating >> rte_eth_fp_ops variable. >> >> Cc: stable@dpdk.org >> >> Signed-off-by: Chengwen Feng >> --- >> drivers/net/bnxt/bnxt_cpr.c | 5 +---- >> drivers/net/bnxt/bnxt_ethdev.c | 5 +---- >> 2 files changed, 2 insertions(+), 8 deletions(-) >> >> diff --git a/drivers/net/bnxt/bnxt_cpr.c b/drivers/net/bnxt/bnxt_cpr.c >> index 3950840600..a3f33c24c3 100644 >> --- a/drivers/net/bnxt/bnxt_cpr.c >> +++ b/drivers/net/bnxt/bnxt_cpr.c >> @@ -416,10 +416,7 @@ void bnxt_stop_rxtx(struct rte_eth_dev *eth_dev) >> eth_dev->rx_pkt_burst = rte_eth_pkt_burst_dummy; >> eth_dev->tx_pkt_burst = rte_eth_pkt_burst_dummy; > > I am not that familiar with bnxt driver, but shouldn't we set here > other optional fp_ops (descripto_status, etc.) to some dummy values OR to null values? After another thought - wouldn't it be better just to call fp_ops_reset() here? > >> >> - rte_eth_fp_ops[eth_dev->data->port_id].rx_pkt_burst = >> - eth_dev->rx_pkt_burst; >> - rte_eth_fp_ops[eth_dev->data->port_id].tx_pkt_burst = >> - eth_dev->tx_pkt_burst; >> + rte_eth_fp_ops_setup(eth_dev); >> rte_mb(); >> >> /* Allow time for threads to exit the real burst functions. */ >> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c >> index 4083a69d02..d6064ceea4 100644 >> --- a/drivers/net/bnxt/bnxt_ethdev.c >> +++ b/drivers/net/bnxt/bnxt_ethdev.c >> @@ -4374,10 +4374,7 @@ static void bnxt_dev_recover(void *arg) >> if (rc) >> goto err_start; >> >> - rte_eth_fp_ops[bp->eth_dev->data->port_id].rx_pkt_burst = >> - bp->eth_dev->rx_pkt_burst; >> - rte_eth_fp_ops[bp->eth_dev->data->port_id].tx_pkt_burst = >> - bp->eth_dev->tx_pkt_burst; >> + rte_eth_fp_ops_setup(bp->eth_dev); >> rte_mb(); >> >> PMD_DRV_LOG(INFO, "Port: %u Recovered from FW reset\n", >> -- >> 2.17.1 >