From patchwork Wed Jun 1 03:52:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112177 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 054D7A0552; Wed, 1 Jun 2022 05:54:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9A32B40A89; Wed, 1 Jun 2022 05:54:13 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 0F09F40150 for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.56]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4LCZtv4RxlzRhYL for ; Wed, 1 Jun 2022 11:51:03 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:09 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 01/11] net/hns3: add check for deferred start queue when rollback Date: Wed, 1 Jun 2022 11:52:41 +0800 Message-ID: <20220601035251.16408-2-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li Driver doesn't allocate mbufs for the deferred start queues, so no need to free it when rollback. Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_rxtx.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 0c91e4721e..1c9648bd52 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -1199,6 +1199,9 @@ hns3_init_rx_queues(struct hns3_adapter *hns) out: for (j = 0; j < i; j++) { rxq = (struct hns3_rx_queue *)hw->data->rx_queues[j]; + if (rxq->rx_deferred_start) + continue; + hns3_rx_queue_release_mbufs(rxq); } From patchwork Wed Jun 1 03:52:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112178 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 7B477A0552; Wed, 1 Jun 2022 05:54:18 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8594C4113F; Wed, 1 Jun 2022 05:54:14 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 3888A40A87 for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.55]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4LCZwZ5QGcz1K97x for ; Wed, 1 Jun 2022 11:52:30 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:09 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 02/11] net/hns3: remove redundant parentheses Date: Wed, 1 Jun 2022 11:52:42 +0800 Message-ID: <20220601035251.16408-3-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li Remove redundant parentheses. Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_rxtx.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 1c9648bd52..4cba4fd13e 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -167,7 +167,7 @@ hns3_fake_rx_queue_release(struct hns3_rx_queue *queue) } /* free fake rx queue arrays */ - if (idx == (hw->fkq_data.nb_fake_rx_queues - 1)) { + if (idx == hw->fkq_data.nb_fake_rx_queues - 1) { hw->fkq_data.nb_fake_rx_queues = 0; rte_free(hw->fkq_data.rx_queues); hw->fkq_data.rx_queues = NULL; @@ -194,7 +194,7 @@ hns3_fake_tx_queue_release(struct hns3_tx_queue *queue) } /* free fake tx queue arrays */ - if (idx == (hw->fkq_data.nb_fake_tx_queues - 1)) { + if (idx == hw->fkq_data.nb_fake_tx_queues - 1) { hw->fkq_data.nb_fake_tx_queues = 0; rte_free(hw->fkq_data.tx_queues); hw->fkq_data.tx_queues = NULL; From patchwork Wed Jun 1 03:52:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112180 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 4D93FA0552; Wed, 1 Jun 2022 05:54:28 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8EC2C4281C; Wed, 1 Jun 2022 05:54:16 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 13C0A40A84 for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.57]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4LCZtw0mPzzRhXP for ; Wed, 1 Jun 2022 11:51:04 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:10 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 03/11] net/hns3: adjust the data type of some variables Date: Wed, 1 Jun 2022 11:52:43 +0800 Message-ID: <20220601035251.16408-4-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li Using the 'int' type and 'uint16_t' type to compare is insecure. This patch makes them consistent. Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_common.c | 4 ++-- drivers/net/hns3/hns3_dcb.c | 2 +- drivers/net/hns3/hns3_ethdev.c | 2 +- drivers/net/hns3/hns3_regs.c | 2 +- drivers/net/hns3/hns3_rss.c | 2 +- drivers/net/hns3/hns3_rxtx.c | 23 ++++++++++++----------- drivers/net/hns3/hns3_rxtx_vec.h | 4 ++-- 7 files changed, 20 insertions(+), 19 deletions(-) diff --git a/drivers/net/hns3/hns3_common.c b/drivers/net/hns3/hns3_common.c index dcdc609654..221d4ccec3 100644 --- a/drivers/net/hns3/hns3_common.c +++ b/drivers/net/hns3/hns3_common.c @@ -475,7 +475,7 @@ hns3_configure_all_mac_addr(struct hns3_adapter *hns, bool del) struct rte_ether_addr *addr; uint16_t mac_addrs_capa; int ret = 0; - int i; + uint16_t i; mac_addrs_capa = hns->is_vf ? HNS3_VF_UC_MACADDR_NUM : HNS3_UC_MACADDR_NUM; @@ -645,8 +645,8 @@ int hns3_init_ring_with_vector(struct hns3_hw *hw) { uint16_t vec; + uint16_t i; int ret; - int i; /* * In hns3 network engine, vector 0 is always the misc interrupt of this diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 73693786d1..04d7f530ef 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -628,7 +628,7 @@ hns3_set_rss_size(struct hns3_hw *hw, uint16_t nb_rx_q) struct hns3_rss_conf *rss_cfg = &hw->rss_info; uint16_t rx_qnum_per_tc; uint16_t used_rx_queues; - int i; + uint16_t i; rx_qnum_per_tc = nb_rx_q / hw->num_tc; if (rx_qnum_per_tc > hw->rss_size_max) { diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 0b565a5614..3cffacdd6a 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -2928,8 +2928,8 @@ hns3_map_tqps_to_func(struct hns3_hw *hw, uint16_t func_id, uint16_t tqp_pid, static int hns3_map_tqp(struct hns3_hw *hw) { + uint16_t i; int ret; - int i; /* * In current version, VF is not supported when PF is driven by DPDK diff --git a/drivers/net/hns3/hns3_regs.c b/drivers/net/hns3/hns3_regs.c index 86a4cf74d5..6778e4cfc2 100644 --- a/drivers/net/hns3/hns3_regs.c +++ b/drivers/net/hns3/hns3_regs.c @@ -294,8 +294,8 @@ hns3_direct_access_regs(struct hns3_hw *hw, uint32_t *data) struct hns3_adapter *hns = HNS3_DEV_HW_TO_ADAPTER(hw); uint32_t *origin_data_ptr = data; uint32_t reg_offset; + uint16_t i, j; int reg_num; - int i, j; /* fetching per-PF registers values from PF PCIe register space */ reg_num = sizeof(cmdq_reg_addrs) / sizeof(uint32_t); diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c index d376486a1d..4c546c9363 100644 --- a/drivers/net/hns3/hns3_rss.c +++ b/drivers/net/hns3/hns3_rss.c @@ -631,7 +631,7 @@ hns3_rss_set_default_args(struct hns3_hw *hw) { struct hns3_rss_conf *rss_cfg = &hw->rss_info; uint16_t queue_num = hw->alloc_rss_size; - int i; + uint16_t i; /* Default hash algorithm */ rss_cfg->conf.func = RTE_ETH_HASH_FUNCTION_TOEPLITZ; diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index 4cba4fd13e..be4ab16dcc 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -387,7 +387,7 @@ hns3_enable_all_queues(struct hns3_hw *hw, bool en) struct hns3_tx_queue *txq; uint32_t rcb_reg; void *tqp_base; - int i; + uint16_t i; for (i = 0; i < hw->cfg_max_queues; i++) { if (hns3_dev_get_support(hw, INDEP_TXRX)) { @@ -733,8 +733,8 @@ hns3pf_reset_all_tqps(struct hns3_hw *hw) #define HNS3_RESET_RCB_NOT_SUPPORT 0U #define HNS3_RESET_ALL_TQP_SUCCESS 1U uint8_t reset_status; + uint16_t i; int ret; - int i; ret = hns3_reset_rcb_cmd(hw, &reset_status); if (ret) @@ -771,7 +771,7 @@ hns3vf_reset_all_tqps(struct hns3_hw *hw) uint8_t reset_status; uint8_t msg_data[2]; int ret; - int i; + uint16_t i; memset(msg_data, 0, sizeof(uint16_t)); ret = hns3_send_mbx_msg(hw, HNS3_MBX_QUEUE_RESET, 0, msg_data, @@ -803,7 +803,8 @@ int hns3_reset_all_tqps(struct hns3_adapter *hns) { struct hns3_hw *hw = &hns->hw; - int ret, i; + uint16_t i; + int ret; /* Disable all queues before reset all queues */ for (i = 0; i < hw->cfg_max_queues; i++) { @@ -1034,7 +1035,7 @@ hns3_dev_all_rx_queue_intr_enable(struct hns3_hw *hw, bool en) { struct rte_eth_dev *dev = &rte_eth_devices[hw->data->port_id]; uint16_t nb_rx_q = hw->data->nb_rx_queues; - int i; + uint16_t i; if (dev->data->dev_conf.intr_conf.rxq == 0) return; @@ -1118,7 +1119,7 @@ static void hns3_init_txq(struct hns3_tx_queue *txq) { struct hns3_desc *desc; - int i; + uint16_t i; /* Clear tx bd */ desc = txq->tx_ring; @@ -1142,7 +1143,7 @@ hns3_init_tx_ring_tc(struct hns3_adapter *hns) for (i = 0; i < HNS3_MAX_TC_NUM; i++) { struct hns3_tc_queue_info *tc_queue = &hw->tc_queue[i]; - int j; + uint16_t j; if (!tc_queue->enable) continue; @@ -1439,7 +1440,7 @@ hns3_alloc_txq_and_dma_zone(struct rte_eth_dev *dev, struct hns3_tx_queue *txq; struct hns3_desc *desc; unsigned int tx_desc; - int i; + uint16_t i; txq = rte_zmalloc_socket(q_info->type, sizeof(struct hns3_tx_queue), RTE_CACHE_LINE_SIZE, q_info->socket_id); @@ -1676,7 +1677,7 @@ hns3_dev_release_mbufs(struct hns3_adapter *hns) struct rte_eth_dev_data *dev_data = hns->hw.data; struct hns3_rx_queue *rxq; struct hns3_tx_queue *txq; - int i; + uint16_t i; if (dev_data->rx_queues) for (i = 0; i < dev_data->nb_rx_queues; i++) { @@ -3083,7 +3084,7 @@ hns3_tx_free_useless_buffer(struct hns3_tx_queue *txq) uint16_t tx_next_use = txq->next_to_use; struct hns3_entry *tx_entry = &txq->sw_ring[tx_next_clean]; struct hns3_desc *desc = &txq->tx_ring[tx_next_clean]; - int i; + uint16_t i; if (tx_next_use >= tx_next_clean && tx_next_use < tx_next_clean + txq->tx_rs_thresh) @@ -3981,7 +3982,7 @@ hns3_tx_free_buffer_simple(struct hns3_tx_queue *txq) struct hns3_entry *tx_entry; struct hns3_desc *desc; uint16_t tx_next_clean; - int i; + uint16_t i; while (1) { if (HNS3_GET_TX_QUEUE_PEND_BD_NUM(txq) < txq->tx_rs_thresh) diff --git a/drivers/net/hns3/hns3_rxtx_vec.h b/drivers/net/hns3/hns3_rxtx_vec.h index 4985a7cae8..d13f18627d 100644 --- a/drivers/net/hns3/hns3_rxtx_vec.h +++ b/drivers/net/hns3/hns3_rxtx_vec.h @@ -15,7 +15,7 @@ hns3_tx_bulk_free_buffers(struct hns3_tx_queue *txq) struct hns3_entry *tx_entry; struct rte_mbuf *m; int nb_free = 0; - int i; + uint16_t i; tx_entry = &txq->sw_ring[txq->next_to_clean]; if (txq->mbuf_fast_free_en) { @@ -56,7 +56,7 @@ static inline void hns3_tx_free_buffers(struct hns3_tx_queue *txq) { struct hns3_desc *tx_desc; - int i; + uint16_t i; /* * All mbufs can be released only when the VLD bits of all From patchwork Wed Jun 1 03:52:44 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112183 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 DF182A0552; Wed, 1 Jun 2022 05:54:44 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D02D842B7C; Wed, 1 Jun 2022 05:54:19 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id A0C1E40150 for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.56]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LCZxX2Xz1zjX84 for ; Wed, 1 Jun 2022 11:53:20 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:10 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 04/11] net/hns3: fix an unreasonable memset Date: Wed, 1 Jun 2022 11:52:44 +0800 Message-ID: <20220601035251.16408-5-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li This patch fixes an unreasonable memset. Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_rxtx.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index be4ab16dcc..dcb1cdf168 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -773,7 +773,7 @@ hns3vf_reset_all_tqps(struct hns3_hw *hw) int ret; uint16_t i; - memset(msg_data, 0, sizeof(uint16_t)); + memset(msg_data, 0, sizeof(msg_data)); ret = hns3_send_mbx_msg(hw, HNS3_MBX_QUEUE_RESET, 0, msg_data, sizeof(msg_data), true, &reset_status, sizeof(reset_status)); From patchwork Wed Jun 1 03:52:45 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112179 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 79FB5A0552; Wed, 1 Jun 2022 05:54:23 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9F7BE42802; Wed, 1 Jun 2022 05:54:15 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 3DF8040A89 for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4LCZwb38qbz1K986 for ; Wed, 1 Jun 2022 11:52:31 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:10 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 05/11] net/hns3: remove duplicate definition Date: Wed, 1 Jun 2022 11:52:45 +0800 Message-ID: <20220601035251.16408-6-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li The default hash key array is defined twice. Let's remove the extra one. Fixes: c37ca66f2b27 ("net/hns3: support RSS") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_flow.c | 9 --------- drivers/net/hns3/hns3_rss.c | 6 ++---- drivers/net/hns3/hns3_rss.h | 2 ++ 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index 86ebbf69b6..ca9edc5244 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -10,15 +10,6 @@ #include "hns3_logs.h" #include "hns3_flow.h" -/* Default default keys */ -static uint8_t hns3_hash_key[] = { - 0x6D, 0x5A, 0x56, 0xDA, 0x25, 0x5B, 0x0E, 0xC2, - 0x41, 0x67, 0x25, 0x3D, 0x43, 0xA3, 0x8F, 0xB0, - 0xD0, 0xCA, 0x2B, 0xCB, 0xAE, 0x7B, 0x30, 0xB4, - 0x77, 0xCB, 0x2D, 0xA3, 0x80, 0x30, 0xF2, 0x0C, - 0x6A, 0x42, 0xB7, 0x3B, 0xBE, 0xAC, 0x01, 0xFA -}; - static const uint8_t full_mask[VNI_OR_TNI_LEN] = { 0xFF, 0xFF, 0xFF }; static const uint8_t zero_mask[VNI_OR_TNI_LEN] = { 0x00, 0x00, 0x00 }; diff --git a/drivers/net/hns3/hns3_rss.c b/drivers/net/hns3/hns3_rss.c index 4c546c9363..1003daf03e 100644 --- a/drivers/net/hns3/hns3_rss.c +++ b/drivers/net/hns3/hns3_rss.c @@ -9,10 +9,8 @@ #include "hns3_ethdev.h" #include "hns3_logs.h" -/* - * The hash key used for rss initialization. - */ -static const uint8_t hns3_hash_key[] = { +/* Default hash keys */ +const uint8_t hns3_hash_key[] = { 0x6D, 0x5A, 0x56, 0xDA, 0x25, 0x5B, 0x0E, 0xC2, 0x41, 0x67, 0x25, 0x3D, 0x43, 0xA3, 0x8F, 0xB0, 0xD0, 0xCA, 0x2B, 0xCB, 0xAE, 0x7B, 0x30, 0xB4, diff --git a/drivers/net/hns3/hns3_rss.h b/drivers/net/hns3/hns3_rss.h index 55d5718ffc..56627cbd4c 100644 --- a/drivers/net/hns3/hns3_rss.h +++ b/drivers/net/hns3/hns3_rss.h @@ -88,6 +88,8 @@ static inline uint32_t roundup_pow_of_two(uint32_t x) return 1UL << fls(x - 1); } +extern const uint8_t hns3_hash_key[]; + struct hns3_adapter; int hns3_dev_rss_hash_update(struct rte_eth_dev *dev, From patchwork Wed Jun 1 03:52:46 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112181 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 73EF1A0552; Wed, 1 Jun 2022 05:54:33 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 8D93442847; Wed, 1 Jun 2022 05:54:17 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 5FE5A40DDE for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.54]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4LCZwb4dsvz1K987 for ; Wed, 1 Jun 2022 11:52:31 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:10 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 06/11] net/hns3: fix coverity codecheck Date: Wed, 1 Jun 2022 11:52:46 +0800 Message-ID: <20220601035251.16408-7-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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 In bitwise operation, "val" should be an unsigned type. This patch fixed it. Fixes: 38b539d96eb6 ("net/hns3: support IEEE 1588 PTP") Cc: stable@dpdk.org Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_ptp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_ptp.c b/drivers/net/hns3/hns3_ptp.c index 1442241a4e..0b0061bba5 100644 --- a/drivers/net/hns3/hns3_ptp.c +++ b/drivers/net/hns3/hns3_ptp.c @@ -81,7 +81,7 @@ hns3_timesync_configure(struct hns3_adapter *hns, bool en) struct hns3_hw *hw = &hns->hw; struct hns3_pf *pf = &hns->pf; struct hns3_cmd_desc desc; - int val; + uint32_t val; int ret; hns3_cmd_setup_basic_desc(&desc, HNS3_OPC_CFG_PTP_MODE, false); From patchwork Wed Jun 1 03:52:47 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112184 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 A2A26A0552; Wed, 1 Jun 2022 05:54:49 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id D09D542B82; Wed, 1 Jun 2022 05:54:20 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id A9A66410EA for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.54]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4LCZx93GFWzjXDk for ; Wed, 1 Jun 2022 11:53:01 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:10 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 07/11] net/hns3: fix return value for unsupported tuple Date: Wed, 1 Jun 2022 11:52:47 +0800 Message-ID: <20220601035251.16408-8-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li Driver should return false for unsupported tuple. This patch fixes it. Fixes: 18a4b4c3fa80 ("net/hns3: add default to switch when parsing fd tuple") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_fdir.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c index 2a7978ac07..a0d6598e57 100644 --- a/drivers/net/hns3/hns3_fdir.c +++ b/drivers/net/hns3/hns3_fdir.c @@ -631,7 +631,7 @@ static bool hns3_fd_convert_tuple(struct hns3_hw *hw, break; default: hns3_warn(hw, "not support tuple of (%u)", tuple); - break; + return false; } return true; } From patchwork Wed Jun 1 03:52:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112185 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 3614FA0552; Wed, 1 Jun 2022 05:54:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B0EDB42B75; Wed, 1 Jun 2022 05:54:21 +0200 (CEST) Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by mails.dpdk.org (Postfix) with ESMTP id E0A9440A84 for ; Wed, 1 Jun 2022 05:54:12 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.57]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4LCZxY1vGbzjXD4 for ; Wed, 1 Jun 2022 11:53:21 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:11 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 08/11] net/hns3: modify a function name Date: Wed, 1 Jun 2022 11:52:48 +0800 Message-ID: <20220601035251.16408-9-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li The meaning of the "hns3_get_count" function is not precise enough. This patch changes from "hns3_get_count" to "hns3_fd_get_count". Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_fdir.c | 2 +- drivers/net/hns3/hns3_fdir.h | 2 +- drivers/net/hns3/hns3_flow.c | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c index a0d6598e57..762b89a51e 100644 --- a/drivers/net/hns3/hns3_fdir.c +++ b/drivers/net/hns3/hns3_fdir.c @@ -1099,7 +1099,7 @@ int hns3_restore_all_fdir_filter(struct hns3_adapter *hns) return 0; } -int hns3_get_count(struct hns3_hw *hw, uint32_t id, uint64_t *value) +int hns3_fd_get_count(struct hns3_hw *hw, uint32_t id, uint64_t *value) { struct hns3_fd_get_cnt_cmd *req; struct hns3_cmd_desc desc; diff --git a/drivers/net/hns3/hns3_fdir.h b/drivers/net/hns3/hns3_fdir.h index 8d588ffef3..d81f04a3f3 100644 --- a/drivers/net/hns3/hns3_fdir.h +++ b/drivers/net/hns3/hns3_fdir.h @@ -184,7 +184,7 @@ void hns3_fdir_filter_uninit(struct hns3_adapter *hns); int hns3_fdir_filter_program(struct hns3_adapter *hns, struct hns3_fdir_rule *rule, bool del); int hns3_clear_all_fdir_filter(struct hns3_adapter *hns); -int hns3_get_count(struct hns3_hw *hw, uint32_t id, uint64_t *value); +int hns3_fd_get_count(struct hns3_hw *hw, uint32_t id, uint64_t *value); int hns3_restore_all_fdir_filter(struct hns3_adapter *hns); #endif /* _HNS3_FDIR_H_ */ diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index ca9edc5244..1bd4ac160d 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -164,13 +164,13 @@ hns3_counter_new(struct rte_eth_dev *dev, uint32_t indirect, uint32_t id, "Counter id is used, indirect flag not match"); /* Clear the indirect counter on first use. */ if (cnt->indirect && cnt->ref_cnt == 1) - (void)hns3_get_count(hw, id, &value); + (void)hns3_fd_get_count(hw, id, &value); cnt->ref_cnt++; return 0; } /* Clear the counter by read ops because the counter is read-clear */ - ret = hns3_get_count(hw, id, &value); + ret = hns3_fd_get_count(hw, id, &value); if (ret) return rte_flow_error_set(error, EIO, RTE_FLOW_ERROR_TYPE_HANDLE, NULL, @@ -210,7 +210,7 @@ hns3_counter_query(struct rte_eth_dev *dev, struct rte_flow *flow, RTE_FLOW_ERROR_TYPE_HANDLE, NULL, "Can't find counter id"); - ret = hns3_get_count(&hns->hw, flow->counter_id, &value); + ret = hns3_fd_get_count(&hns->hw, flow->counter_id, &value); if (ret) { rte_flow_error_set(error, -ret, RTE_FLOW_ERROR_TYPE_HANDLE, NULL, "Read counter fail."); From patchwork Wed Jun 1 03:52:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112188 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 81D1FA0552; Wed, 1 Jun 2022 05:55:07 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5ECCF42B92; Wed, 1 Jun 2022 05:54:24 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 36C7040150 for ; Wed, 1 Jun 2022 05:54:13 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4LCZx96fMdzjXJ0 for ; Wed, 1 Jun 2022 11:53:01 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:11 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 09/11] net/hns3: unify the code wrap style Date: Wed, 1 Jun 2022 11:52:49 +0800 Message-ID: <20220601035251.16408-10-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li This patch unifies the code wrap style. Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_cmd.c | 2 +- drivers/net/hns3/hns3_common.c | 10 +++++----- drivers/net/hns3/hns3_dcb.c | 5 ++--- drivers/net/hns3/hns3_ethdev.c | 18 ++++++++---------- drivers/net/hns3/hns3_ethdev_vf.c | 23 +++++++++++------------ drivers/net/hns3/hns3_fdir.c | 26 +++++++++++++------------- drivers/net/hns3/hns3_flow.c | 10 ++++------ drivers/net/hns3/hns3_rxtx.c | 28 +++++++++++++--------------- drivers/net/hns3/hns3_stats.c | 28 ++++++++++++++-------------- 9 files changed, 71 insertions(+), 79 deletions(-) diff --git a/drivers/net/hns3/hns3_cmd.c b/drivers/net/hns3/hns3_cmd.c index 5dc874fd7a..eadc15093f 100644 --- a/drivers/net/hns3/hns3_cmd.c +++ b/drivers/net/hns3/hns3_cmd.c @@ -108,7 +108,7 @@ hns3_alloc_cmd_queue(struct hns3_hw *hw, int ring_type) ret = hns3_alloc_cmd_desc(hw, ring); if (ret) hns3_err(hw, "descriptor %s alloc error %d", - (ring_type == HNS3_TYPE_CSQ) ? "CSQ" : "CRQ", ret); + (ring_type == HNS3_TYPE_CSQ) ? "CSQ" : "CRQ", ret); return ret; } diff --git a/drivers/net/hns3/hns3_common.c b/drivers/net/hns3/hns3_common.c index 221d4ccec3..424205356e 100644 --- a/drivers/net/hns3/hns3_common.c +++ b/drivers/net/hns3/hns3_common.c @@ -604,7 +604,7 @@ hns3_init_mac_addrs(struct rte_eth_dev *dev) 0); if (dev->data->mac_addrs == NULL) { hns3_err(hw, "failed to allocate %zx bytes needed to store MAC addresses", - sizeof(struct rte_ether_addr) * mac_addrs_capa); + sizeof(struct rte_ether_addr) * mac_addrs_capa); return -ENOMEM; } @@ -680,16 +680,16 @@ hns3_init_ring_with_vector(struct hns3_hw *hw) ret = hw->ops.bind_ring_with_vector(hw, vec, false, HNS3_RING_TYPE_TX, i); if (ret) { - PMD_INIT_LOG(ERR, "fail to unbind TX ring(%d) with " - "vector: %u, ret=%d", i, vec, ret); + PMD_INIT_LOG(ERR, "fail to unbind TX ring(%d) with vector: %u, ret=%d", + i, vec, ret); return ret; } ret = hw->ops.bind_ring_with_vector(hw, vec, false, HNS3_RING_TYPE_RX, i); if (ret) { - PMD_INIT_LOG(ERR, "fail to unbind RX ring(%d) with " - "vector: %u, ret=%d", i, vec, ret); + PMD_INIT_LOG(ERR, "fail to unbind RX ring(%d) with vector: %u, ret=%d", + i, vec, ret); return ret; } } diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index 04d7f530ef..af045b22f7 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -876,9 +876,8 @@ hns3_dcb_pri_tc_base_dwrr_cfg(struct hns3_hw *hw) ret = hns3_dcb_pri_weight_cfg(hw, i, dwrr); if (ret) { - hns3_err(hw, - "fail to send priority weight cmd: %d, ret = %d", - i, ret); + hns3_err(hw, "fail to send priority weight cmd: %d, ret = %d", + i, ret); return ret; } diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index 3cffacdd6a..6c77c8b964 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -1626,7 +1626,7 @@ hns3_set_default_mac_addr(struct rte_eth_dev *dev, ret = hw->ops.del_uc_mac_addr(hw, oaddr); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - oaddr); + oaddr); hns3_warn(hw, "Remove old uc mac address(%s) fail: %d", mac_str, ret); @@ -1658,7 +1658,7 @@ hns3_set_default_mac_addr(struct rte_eth_dev *dev, ret_val = hw->ops.del_uc_mac_addr(hw, mac_addr); if (ret_val) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); + mac_addr); hns3_warn(hw, "Failed to roll back to del setted mac addr(%s): %d", mac_str, ret_val); @@ -1669,7 +1669,7 @@ hns3_set_default_mac_addr(struct rte_eth_dev *dev, if (ret_val) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, oaddr); hns3_warn(hw, "Failed to restore old uc mac addr(%s): %d", - mac_str, ret_val); + mac_str, ret_val); } rte_spinlock_unlock(&hw->lock); @@ -1746,7 +1746,7 @@ hns3_add_mc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) if (ret == -ENOSPC) hns3_err(hw, "mc mac vlan table is full"); hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); + mac_addr); hns3_err(hw, "failed to add mc mac addr(%s): %d", mac_str, ret); } @@ -2675,9 +2675,8 @@ hns3_check_dev_specifications(struct hns3_hw *hw) { if (hw->rss_ind_tbl_size == 0 || hw->rss_ind_tbl_size > HNS3_RSS_IND_TBL_SIZE_MAX) { - hns3_err(hw, "the size of hash lookup table configured (%u)" - " exceeds the maximum(%u)", hw->rss_ind_tbl_size, - HNS3_RSS_IND_TBL_SIZE_MAX); + hns3_err(hw, "the size of hash lookup table configured (%u) exceeds the maximum(%u)", + hw->rss_ind_tbl_size, HNS3_RSS_IND_TBL_SIZE_MAX); return -EINVAL; } @@ -3915,7 +3914,7 @@ hns3_dev_promiscuous_enable(struct rte_eth_dev *dev) ret = hns3_enable_vlan_filter(hns, false); if (ret) { hns3_err(hw, "failed to enable promiscuous mode due to " - "failure to disable vlan filter, ret = %d", + "failure to disable vlan filter, ret = %d", ret); err = hns3_set_promisc_mode(hw, false, allmulti); if (err) @@ -5992,8 +5991,7 @@ hns3_reset_service(void *param) timersub(&tv, &tv_start, &tv_delta); msec = hns3_clock_calctime_ms(&tv_delta); if (msec > HNS3_RESET_PROCESS_MS) - hns3_err(hw, "%d handle long time delta %" PRIu64 - " ms time=%ld.%.6ld", + hns3_err(hw, "%d handle long time delta %" PRIu64 " ms time=%ld.%.6ld", hw->reset.level, msec, tv.tv_sec, tv.tv_usec); if (ret == -EAGAIN) diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c index 589de0ab3a..bebfaa6417 100644 --- a/drivers/net/hns3/hns3_ethdev_vf.c +++ b/drivers/net/hns3/hns3_ethdev_vf.c @@ -141,7 +141,7 @@ hns3vf_enable_msix(const struct rte_pci_device *device, bool op) pos = hns3vf_find_pci_capability(device, PCI_CAP_ID_MSIX); if (pos) { ret = rte_pci_read_config(device, &control, sizeof(control), - (pos + PCI_MSIX_FLAGS)); + (pos + PCI_MSIX_FLAGS)); if (ret < 0) { PMD_INIT_LOG(ERR, "Failed to read PCI offset 0x%x", (pos + PCI_MSIX_FLAGS)); @@ -153,10 +153,10 @@ hns3vf_enable_msix(const struct rte_pci_device *device, bool op) else control &= ~PCI_MSIX_FLAGS_ENABLE; ret = rte_pci_write_config(device, &control, sizeof(control), - (pos + PCI_MSIX_FLAGS)); + (pos + PCI_MSIX_FLAGS)); if (ret < 0) { PMD_INIT_LOG(ERR, "failed to write PCI offset 0x%x", - (pos + PCI_MSIX_FLAGS)); + (pos + PCI_MSIX_FLAGS)); return -ENXIO; } @@ -198,7 +198,7 @@ hns3vf_remove_uc_mac_addr(struct hns3_hw *hw, struct rte_ether_addr *mac_addr) false, NULL, 0); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); + mac_addr); hns3_err(hw, "failed to add uc mac addr(%s), ret = %d", mac_str, ret); } @@ -240,12 +240,12 @@ hns3vf_set_default_mac_addr(struct rte_eth_dev *dev, */ if (ret == -EPERM) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - old_addr); + old_addr); hns3_warn(hw, "Has permanent mac addr(%s) for vf", mac_str); } else { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); + mac_addr); hns3_err(hw, "Failed to set mac addr(%s) for vf: %d", mac_str, ret); } @@ -292,7 +292,7 @@ hns3vf_remove_mc_mac_addr(struct hns3_hw *hw, NULL, 0); if (ret) { hns3_ether_format_addr(mac_str, RTE_ETHER_ADDR_FMT_SIZE, - mac_addr); + mac_addr); hns3_err(hw, "Failed to remove mc mac addr(%s) for vf: %d", mac_str, ret); } @@ -714,9 +714,8 @@ hns3vf_check_dev_specifications(struct hns3_hw *hw) { if (hw->rss_ind_tbl_size == 0 || hw->rss_ind_tbl_size > HNS3_RSS_IND_TBL_SIZE_MAX) { - hns3_warn(hw, "the size of hash lookup table configured (%u)" - " exceeds the maximum(%u)", hw->rss_ind_tbl_size, - HNS3_RSS_IND_TBL_SIZE_MAX); + hns3_warn(hw, "the size of hash lookup table configured (%u) exceeds the maximum(%u)", + hw->rss_ind_tbl_size, HNS3_RSS_IND_TBL_SIZE_MAX); return -EINVAL; } @@ -1167,8 +1166,8 @@ hns3vf_vlan_offload_set(struct rte_eth_dev *dev, int mask) int ret = 0; if (__atomic_load_n(&hw->reset.resetting, __ATOMIC_RELAXED)) { - hns3_err(hw, "vf set vlan offload failed during resetting, " - "mask = 0x%x", mask); + hns3_err(hw, "vf set vlan offload failed during resetting, mask = 0x%x", + mask); return -EIO; } diff --git a/drivers/net/hns3/hns3_fdir.c b/drivers/net/hns3/hns3_fdir.c index 762b89a51e..30e5e66772 100644 --- a/drivers/net/hns3/hns3_fdir.c +++ b/drivers/net/hns3/hns3_fdir.c @@ -321,7 +321,7 @@ int hns3_init_fd_config(struct hns3_adapter *hns) break; default: hns3_err(hw, "Unsupported flow director mode %u", - pf->fdir.fd_cfg.fd_mode); + pf->fdir.fd_cfg.fd_mode); return -EOPNOTSUPP; } @@ -337,7 +337,7 @@ int hns3_init_fd_config(struct hns3_adapter *hns) BIT(INNER_SRC_IP) | BIT(INNER_DST_IP) | BIT(INNER_SRC_PORT) | BIT(INNER_DST_PORT); hns3_dbg(hw, "fdir tuple: inner"); + "ip_proto ip_tos l4_src_port l4_dst_port>"); /* If use max 400bit key, we can support tuples for ether type */ if (pf->fdir.fd_cfg.max_key_length == MAX_KEY_LENGTH) { @@ -348,8 +348,8 @@ int hns3_init_fd_config(struct hns3_adapter *hns) BIT(OUTER_TUN_VNI) | BIT(OUTER_TUN_FLOW_ID) | BIT(OUTER_ETH_TYPE) | BIT(OUTER_IP_PROTO); hns3_dbg(hw, "fdir tuple more: inner outer"); + "vlan_tag2 sctp_tag> outer"); } /* roce_type is used to filter roce frames @@ -367,12 +367,11 @@ int hns3_init_fd_config(struct hns3_adapter *hns) if (ret) return ret; - hns3_dbg(hw, "fdir: stage1 stage2", - pf->fdir.fd_cfg.rule_num[HNS3_FD_STAGE_1], - pf->fdir.fd_cfg.cnt_num[HNS3_FD_STAGE_1], - pf->fdir.fd_cfg.rule_num[HNS3_FD_STAGE_2], - pf->fdir.fd_cfg.cnt_num[HNS3_FD_STAGE_2]); + hns3_dbg(hw, "fdir: stage1 stage2", + pf->fdir.fd_cfg.rule_num[HNS3_FD_STAGE_1], + pf->fdir.fd_cfg.cnt_num[HNS3_FD_STAGE_1], + pf->fdir.fd_cfg.rule_num[HNS3_FD_STAGE_2], + pf->fdir.fd_cfg.cnt_num[HNS3_FD_STAGE_2]); return hns3_set_fd_key_config(hns); } @@ -420,7 +419,7 @@ static int hns3_fd_tcam_config(struct hns3_hw *hw, bool sel_x, int loc, ret = hns3_cmd_send(hw, desc, FD_TCAM_CMD_NUM); if (ret) hns3_err(hw, "Config tcam key fail, ret=%d loc=%d add=%d", - ret, loc, is_add); + ret, loc, is_add); return ret; } @@ -673,6 +672,7 @@ static void hns3_fd_convert_meta_data(struct hns3_fd_key_cfg *cfg, } else if (i == VLAN_NUMBER) { uint32_t vlan_tag; uint8_t vlan_num; + if (rule->key_conf.spec.tunnel_type == 0) vlan_num = rule->key_conf.vlan_num; else @@ -758,14 +758,14 @@ static int hns3_config_key(struct hns3_adapter *hns, ret = hns3_fd_tcam_config(hw, false, rule->location, key_y, true); if (ret) { hns3_err(hw, "Config fd key_y fail, loc=%u, ret=%d", - rule->queue_id, ret); + rule->queue_id, ret); return ret; } ret = hns3_fd_tcam_config(hw, true, rule->location, key_x, true); if (ret) hns3_err(hw, "Config fd key_x fail, loc=%u, ret=%d", - rule->queue_id, ret); + rule->queue_id, ret); return ret; } diff --git a/drivers/net/hns3/hns3_flow.c b/drivers/net/hns3/hns3_flow.c index 1bd4ac160d..fb9354fe7f 100644 --- a/drivers/net/hns3/hns3_flow.c +++ b/drivers/net/hns3/hns3_flow.c @@ -285,9 +285,8 @@ hns3_handle_action_queue(struct rte_eth_dev *dev, queue = (const struct rte_flow_action_queue *)action->conf; if (queue->index >= hw->data->nb_rx_queues) { - hns3_err(hw, "queue ID(%u) is greater than number of " - "available queue (%u) in driver.", - queue->index, hw->data->nb_rx_queues); + hns3_err(hw, "queue ID(%u) is greater than number of available queue (%u) in driver.", + queue->index, hw->data->nb_rx_queues); return rte_flow_error_set(error, EINVAL, RTE_FLOW_ERROR_TYPE_ACTION_CONF, action, "Invalid queue ID in PF"); @@ -1656,9 +1655,8 @@ hns3_clear_rss_filter(struct rte_eth_dev *dev) } if (rss_rule_fail_cnt) { - hns3_err(hw, "fail to delete all RSS filters, success num = %d " - "fail num = %d", rss_rule_succ_cnt, - rss_rule_fail_cnt); + hns3_err(hw, "fail to delete all RSS filters, success num = %d fail num = %d", + rss_rule_succ_cnt, rss_rule_fail_cnt); ret = -EIO; } diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index dcb1cdf168..bbf98fc90e 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -603,8 +603,8 @@ hns3_send_reset_tqp_cmd(struct hns3_hw *hw, uint16_t queue_id, bool enable) hns3_set_bit(req->reset_req, HNS3_TQP_RESET_B, enable ? 1 : 0); ret = hns3_cmd_send(hw, &desc, 1); if (ret) - hns3_err(hw, "send tqp reset cmd error, queue_id = %u, " - "ret = %d", queue_id, ret); + hns3_err(hw, "send tqp reset cmd error, queue_id = %u, ret = %d", + queue_id, ret); return ret; } @@ -624,8 +624,8 @@ hns3_get_tqp_reset_status(struct hns3_hw *hw, uint16_t queue_id, ret = hns3_cmd_send(hw, &desc, 1); if (ret) { - hns3_err(hw, "get tqp reset status error, queue_id = %u, " - "ret = %d.", queue_id, ret); + hns3_err(hw, "get tqp reset status error, queue_id = %u, ret = %d.", + queue_id, ret); return ret; } *reset_status = hns3_get_bit(req->ready_to_reset, HNS3_TQP_RESET_B); @@ -666,7 +666,7 @@ hns3pf_reset_tqp(struct hns3_hw *hw, uint16_t queue_id) if (!reset_status) { ret = -ETIMEDOUT; hns3_err(hw, "reset tqp timeout, queue_id = %u, ret = %d", - queue_id, ret); + queue_id, ret); goto tqp_reset_fail; } @@ -749,15 +749,14 @@ hns3pf_reset_all_tqps(struct hns3_hw *hw) for (i = 0; i < hw->cfg_max_queues; i++) { ret = hns3pf_reset_tqp(hw, i); if (ret) { - hns3_err(hw, - "fail to reset tqp, queue_id = %d, ret = %d.", - i, ret); + hns3_err(hw, "fail to reset tqp, queue_id = %d, ret = %d.", + i, ret); return ret; } } } else if (reset_status != HNS3_RESET_ALL_TQP_SUCCESS) { hns3_err(hw, "fail to reset all tqps, reset_status = %u.", - reset_status); + reset_status); return -EIO; } @@ -810,9 +809,8 @@ hns3_reset_all_tqps(struct hns3_adapter *hns) for (i = 0; i < hw->cfg_max_queues; i++) { ret = hns3_tqp_enable(hw, i, false); if (ret) { - hns3_err(hw, - "fail to disable tqps before tqps reset, ret = %d.", - ret); + hns3_err(hw, "fail to disable tqps before tqps reset, ret = %d.", + ret); return ret; } } @@ -919,9 +917,9 @@ hns3_reset_queue(struct hns3_hw *hw, uint16_t queue_id, } if (!reset_status) { - hns3_err(hw, "reset queue timeout, queue_id = %u, " - "queue_type = %s", queue_id, - queue_type == HNS3_RING_TYPE_TX ? "Tx" : "Rx"); + hns3_err(hw, "reset queue timeout, queue_id = %u, queue_type = %s", + queue_id, + queue_type == HNS3_RING_TYPE_TX ? "Tx" : "Rx"); ret = -ETIMEDOUT; goto queue_reset_fail; } diff --git a/drivers/net/hns3/hns3_stats.c b/drivers/net/hns3/hns3_stats.c index 07fad03485..a71356934a 100644 --- a/drivers/net/hns3/hns3_stats.c +++ b/drivers/net/hns3/hns3_stats.c @@ -507,8 +507,8 @@ hns3_update_port_rx_ssu_drop_stats(struct hns3_hw *hw) req = (struct hns3_query_ssu_cmd *)desc[0].data; cnt = rte_le_to_cpu_32(req->oq_drop_cnt) + - rte_le_to_cpu_32(req->full_drop_cnt) + - rte_le_to_cpu_32(req->part_drop_cnt); + rte_le_to_cpu_32(req->full_drop_cnt) + + rte_le_to_cpu_32(req->part_drop_cnt); stats->ssu_rx_drop_cnt += cnt; @@ -532,8 +532,8 @@ hns3_update_port_tx_ssu_drop_stats(struct hns3_hw *hw) req = (struct hns3_query_ssu_cmd *)desc[0].data; cnt = rte_le_to_cpu_32(req->oq_drop_cnt) + - rte_le_to_cpu_32(req->full_drop_cnt) + - rte_le_to_cpu_32(req->part_drop_cnt); + rte_le_to_cpu_32(req->full_drop_cnt) + + rte_le_to_cpu_32(req->part_drop_cnt); hw->oerror_stats += cnt; @@ -1337,8 +1337,8 @@ hns3_dev_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids, len = cnt_stats * sizeof(struct rte_eth_xstat); values_copy = rte_zmalloc("hns3_xstats_values", len, 0); if (values_copy == NULL) { - hns3_err(hw, "Failed to allocate 0x%" PRIx64 " bytes needed " - "to store statistics values", len); + hns3_err(hw, "Failed to allocate 0x%" PRIx64 " bytes needed to store statistics values", + len); return -ENOMEM; } @@ -1359,8 +1359,8 @@ hns3_dev_xstats_get_by_id(struct rte_eth_dev *dev, const uint64_t *ids, for (i = 0; i < size; i++) { if (ids[i] >= cnt_stats) { - hns3_err(hw, "ids[%u] (%" PRIu64 ") is invalid, " - "should < %u", i, ids[i], cnt_stats); + hns3_err(hw, "ids[%u] (%" PRIu64 ") is invalid, should < %u", + i, ids[i], cnt_stats); rte_free(values_copy); return -EINVAL; } @@ -1419,8 +1419,8 @@ hns3_dev_xstats_get_names_by_id(struct rte_eth_dev *dev, len = cnt_stats * sizeof(struct rte_eth_xstat_name); names_copy = rte_zmalloc("hns3_xstats_names", len, 0); if (names_copy == NULL) { - hns3_err(hw, "Failed to allocate 0x%" PRIx64 " bytes needed " - "to store statistics names", len); + hns3_err(hw, "Failed to allocate 0x%" PRIx64 " bytes needed to store statistics names", + len); return -ENOMEM; } @@ -1428,8 +1428,8 @@ hns3_dev_xstats_get_names_by_id(struct rte_eth_dev *dev, for (i = 0; i < size; i++) { if (ids[i] >= cnt_stats) { - hns3_err(hw, "ids[%u] (%" PRIu64 ") is invalid, " - "should < %u", i, ids[i], cnt_stats); + hns3_err(hw, "ids[%u] (%" PRIu64 ") is invalid, should < %u", + i, ids[i], cnt_stats); rte_free(names_copy); return -EINVAL; } @@ -1501,14 +1501,14 @@ hns3_tqp_stats_init(struct hns3_hw *hw) struct hns3_tqp_stats *tqp_stats = &hw->tqp_stats; tqp_stats->rcb_rx_ring_pktnum = rte_zmalloc("hns3_rx_ring_pkt_num", - sizeof(uint64_t) * hw->tqps_num, 0); + sizeof(uint64_t) * hw->tqps_num, 0); if (tqp_stats->rcb_rx_ring_pktnum == NULL) { hns3_err(hw, "failed to allocate rx_ring pkt_num."); return -ENOMEM; } tqp_stats->rcb_tx_ring_pktnum = rte_zmalloc("hns3_tx_ring_pkt_num", - sizeof(uint64_t) * hw->tqps_num, 0); + sizeof(uint64_t) * hw->tqps_num, 0); if (tqp_stats->rcb_tx_ring_pktnum == NULL) { hns3_err(hw, "failed to allocate tx_ring pkt_num."); rte_free(tqp_stats->rcb_rx_ring_pktnum); From patchwork Wed Jun 1 03:52:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112186 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 C7BC7A0552; Wed, 1 Jun 2022 05:54:58 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 9809042B8A; Wed, 1 Jun 2022 05:54:22 +0200 (CEST) Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by mails.dpdk.org (Postfix) with ESMTP id 1172A40A87 for ; Wed, 1 Jun 2022 05:54:13 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4LCZxB0WqszjXJB for ; Wed, 1 Jun 2022 11:53:02 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:11 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 10/11] net/hns3: fix a segfault from secondary process Date: Wed, 1 Jun 2022 11:52:50 +0800 Message-ID: <20220601035251.16408-11-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Huisong Li If a hns3 device in the secondary process is attached to do probing operation, 'rx_queues' and 'tx_queues' in dev->data are null in eth_dev_fp_ops_setup when calling rte_eth_dev_probing_finish. The primary process calls dev_start to re-setup their fp_ops. But the secondary process can't call dev_start and has no chance to do it. If the application sends and receives packets at this time, a segfault will occur. So this patch uses the MP communication of the PMD to update the fp_ops of the device in the secondary process. Fixes: 96c33cfb06cf ("net/hns3: fix Rx/Tx functions update") Cc: stable@dpdk.org Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_rxtx.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/hns3/hns3_rxtx.c b/drivers/net/hns3/hns3_rxtx.c index bbf98fc90e..e25a91becf 100644 --- a/drivers/net/hns3/hns3_rxtx.c +++ b/drivers/net/hns3/hns3_rxtx.c @@ -4409,6 +4409,8 @@ hns3_eth_dev_fp_ops_config(const struct rte_eth_dev *dev) fpo[port_id].tx_pkt_prepare = dev->tx_pkt_prepare; fpo[port_id].rx_descriptor_status = dev->rx_descriptor_status; fpo[port_id].tx_descriptor_status = dev->tx_descriptor_status; + fpo[port_id].rxq.data = dev->data->rx_queues; + fpo[port_id].txq.data = dev->data->tx_queues; } void From patchwork Wed Jun 1 03:52:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "humin (Q)" X-Patchwork-Id: 112187 X-Patchwork-Delegate: andrew.rybchenko@oktetlabs.ru 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 0DC88A0552; Wed, 1 Jun 2022 05:55:03 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 73E2C42B81; Wed, 1 Jun 2022 05:54:23 +0200 (CEST) Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by mails.dpdk.org (Postfix) with ESMTP id 5AB2D40A84 for ; Wed, 1 Jun 2022 05:54:13 +0200 (CEST) Received: from kwepemi500012.china.huawei.com (unknown [172.30.72.57]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4LCZwc5bWzz1K98F for ; Wed, 1 Jun 2022 11:52:32 +0800 (CST) Received: from localhost.localdomain (10.69.192.56) by kwepemi500012.china.huawei.com (7.221.188.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Wed, 1 Jun 2022 11:54:11 +0800 From: "Min Hu (Connor)" To: Subject: [PATCH v2 11/11] net/hns3: fix TM capability incorrectly defined Date: Wed, 1 Jun 2022 11:52:51 +0800 Message-ID: <20220601035251.16408-12-humin29@huawei.com> X-Mailer: git-send-email 2.33.0 In-Reply-To: <20220601035251.16408-1-humin29@huawei.com> References: <20220519122917.2334-1-humin29@huawei.com> <20220601035251.16408-1-humin29@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.69.192.56] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemi500012.china.huawei.com (7.221.188.12) X-CFilter-Loop: Reflected 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: Chengwen Feng The TM capability should be bit-19 according to the user manual of firmware. This patch fixes it. Fixes: fc18d1b4b85f ("net/hns3: fix traffic management") Cc: stable@dpdk.org Signed-off-by: Chengwen Feng Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_cmd.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/hns3/hns3_cmd.h b/drivers/net/hns3/hns3_cmd.h index f9addc6069..82c999061d 100644 --- a/drivers/net/hns3/hns3_cmd.h +++ b/drivers/net/hns3/hns3_cmd.h @@ -323,7 +323,7 @@ enum HNS3_CAPS_BITS { HNS3_CAPS_UDP_TUNNEL_CSUM_B, HNS3_CAPS_RAS_IMP_B, HNS3_CAPS_RXD_ADV_LAYOUT_B = 15, - HNS3_CAPS_TM_B = 17, + HNS3_CAPS_TM_B = 19, }; /* Capabilities of VF dependent on the PF */