Update DPDK version from 19.11 to 20.11 and also support hns3 PMD for Kunpeng 920 and Kunpeng 930. Signed-off-by: speech_white <humin29@huawei.com>
69 lines
2.1 KiB
Diff
69 lines
2.1 KiB
Diff
From cecc7bbcaf74f28a947f653069809bab67be42fe Mon Sep 17 00:00:00 2001
|
|
From: Huisong Li <lihuisong@huawei.com>
|
|
Date: Sat, 15 May 2021 08:52:33 +0800
|
|
Subject: [PATCH 166/189] net/hns3: fix Rx/Tx queue numbers check
|
|
|
|
The Rx/Tx queue numbers should be greater than TC number, this patch adds
|
|
this check for PF before updating the mapping between TC and queue.
|
|
|
|
Fixes: a951c1ed3ab5 ("net/hns3: support different numbers of Rx and Tx queues")
|
|
Fixes: 76d794566d43 ("net/hns3: maximize queue number")
|
|
Cc: stable@dpdk.org
|
|
|
|
Signed-off-by: Huisong Li <lihuisong@huawei.com>
|
|
Signed-off-by: Min Hu (Connor) <humin29@huawei.com>
|
|
---
|
|
drivers/net/hns3/hns3_dcb.c | 12 ++++++++++++
|
|
drivers/net/hns3/hns3_ethdev_vf.c | 12 ------------
|
|
2 files changed, 12 insertions(+), 12 deletions(-)
|
|
|
|
diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c
|
|
index 49b8be7..f44e2f0 100644
|
|
--- a/drivers/net/hns3/hns3_dcb.c
|
|
+++ b/drivers/net/hns3/hns3_dcb.c
|
|
@@ -727,6 +727,18 @@ hns3_queue_to_tc_mapping(struct hns3_hw *hw, uint16_t nb_rx_q, uint16_t nb_tx_q)
|
|
{
|
|
int ret;
|
|
|
|
+ if (nb_rx_q < hw->num_tc) {
|
|
+ hns3_err(hw, "number of Rx queues(%u) is less than number of TC(%u).",
|
|
+ nb_rx_q, hw->num_tc);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+
|
|
+ if (nb_tx_q < hw->num_tc) {
|
|
+ hns3_err(hw, "number of Tx queues(%u) is less than number of TC(%u).",
|
|
+ nb_tx_q, hw->num_tc);
|
|
+ return -EINVAL;
|
|
+ }
|
|
+
|
|
ret = hns3_set_rss_size(hw, nb_rx_q);
|
|
if (ret)
|
|
return ret;
|
|
diff --git a/drivers/net/hns3/hns3_ethdev_vf.c b/drivers/net/hns3/hns3_ethdev_vf.c
|
|
index dbd823f..7f7da18 100644
|
|
--- a/drivers/net/hns3/hns3_ethdev_vf.c
|
|
+++ b/drivers/net/hns3/hns3_ethdev_vf.c
|
|
@@ -1498,18 +1498,6 @@ hns3vf_set_tc_queue_mapping(struct hns3_adapter *hns, uint16_t nb_rx_q,
|
|
{
|
|
struct hns3_hw *hw = &hns->hw;
|
|
|
|
- if (nb_rx_q < hw->num_tc) {
|
|
- hns3_err(hw, "number of Rx queues(%u) is less than tcs(%u).",
|
|
- nb_rx_q, hw->num_tc);
|
|
- return -EINVAL;
|
|
- }
|
|
-
|
|
- if (nb_tx_q < hw->num_tc) {
|
|
- hns3_err(hw, "number of Tx queues(%u) is less than tcs(%u).",
|
|
- nb_tx_q, hw->num_tc);
|
|
- return -EINVAL;
|
|
- }
|
|
-
|
|
return hns3_queue_to_tc_mapping(hw, nb_rx_q, nb_tx_q);
|
|
}
|
|
|
|
--
|
|
2.7.4
|
|
|