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 C7BAAA0A0E for ; Mon, 10 May 2021 18:22:55 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C13B84003E; Mon, 10 May 2021 18:22:55 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam07on2053.outbound.protection.outlook.com [40.107.95.53]) by mails.dpdk.org (Postfix) with ESMTP id 47A6B4003E for ; Mon, 10 May 2021 18:22:54 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=CR5Mg0v2NESkom3pNuannvXm092rW8CYzcQRjPDJ1xT3Ur3BarrmXo73GaN3hziyFEd7RrboOhOTAjAAz/M7TTCXxtxgYvNGfORo64r4ILGAK/cQDazsqIXHaJRFfQ5AR7MttpDjIszDpz2e/hQaCP0s1nkWoP67BpJKpF5aTeyaDbWe63t1KJlxuG3JyCZCbDnkdYrAD0IZklUkOvpTWwuMpKWx/PzeTUfT49Pi5L/lzxvGpHcBhHywS1YCjmHg6yah77JQ8pnof7IyDNA5YGQP2Wx5CivOOcHRmfy/RyWXzRf4H2WpR5SuyfsGhX6IKJ6wvxZZ/PTp2C7eqYAPRA== 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-SenderADCheck; bh=IyurhJgmtiWN9HtPXqpfndLkqGqeyB6+3vA2qg2gHhQ=; b=XmqTMHFWkTXkP42BdGLB66Ub3N3xcQs/hD85jkktU4JUU1alGNYeQFthnCaCIG646u0Y5wogd4PfZwBy/zJEeQC6/WDbFK3nU1tU0DisX3z+KePtIlkt95GEq1ijAHglZmLT3xgtP4Sa6g5+TwOg2ggwxWu7VOji7TQkvUmTFA4UO9lkczidZBfYE3rStUxTXhgn8AXZ+a31szRvt589hzOHhjUEGkZxFSruPpHt9o11wbITHWPCPOD4EcwdqwB2d/qU7T6o+6CJa73CayMm2Ot4lTKHJyNE4Glowr7eE5wzR9QMZATORf3/lX9cXLHeHRqwqGJbbpXj4ZSRukReaA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 216.228.112.34) smtp.rcpttodomain=huawei.com smtp.mailfrom=nvidia.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=nvidia.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IyurhJgmtiWN9HtPXqpfndLkqGqeyB6+3vA2qg2gHhQ=; b=WjI+ZTtnc0BpMVtg5sw7HQlhW3Fzh4SDVvnsnLl5P9LM4tvX+PyLYTRZF9CMOhRvrJW7BYZa3dNIuZ2gEKsN/tCh0300wtoMaI8x7wVRfGOXVNGf02QwVaBGnfk8r61sBqP+Z2Q/0GG5KJ9J/PZo6FxqXBsOOpOLiUix/+/iScEhPHqHgQLTcy/eY+eOEIL0hq5P659jE+okhWOKmm3WdvDI/QoDNEeg8hiB87Lif3VmdljqmmjjlswdKxzEVB25RYU/B14FMn4cFtBZwgy31SBGCnBGUBm9ptoLf9UgIL3Swtjxh2NkV9n4FKhIh3HaqmCky+h7YLPwzSfpR7jcgQ== Received: from BN0PR04CA0037.namprd04.prod.outlook.com (2603:10b6:408:e8::12) by BYAPR12MB2950.namprd12.prod.outlook.com (2603:10b6:a03:131::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.27; Mon, 10 May 2021 16:22:52 +0000 Received: from BN8NAM11FT038.eop-nam11.prod.protection.outlook.com (2603:10b6:408:e8:cafe::c9) by BN0PR04CA0037.outlook.office365.com (2603:10b6:408:e8::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4108.25 via Frontend Transport; Mon, 10 May 2021 16:22:52 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 216.228.112.34) smtp.mailfrom=nvidia.com; huawei.com; dkim=none (message not signed) header.d=none;huawei.com; dmarc=pass action=none header.from=nvidia.com; Received-SPF: Pass (protection.outlook.com: domain of nvidia.com designates 216.228.112.34 as permitted sender) receiver=protection.outlook.com; client-ip=216.228.112.34; helo=mail.nvidia.com; Received: from mail.nvidia.com (216.228.112.34) by BN8NAM11FT038.mail.protection.outlook.com (10.13.176.246) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384) id 15.20.4108.25 via Frontend Transport; Mon, 10 May 2021 16:22:51 +0000 Received: from nvidia.com (172.20.145.6) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Mon, 10 May 2021 16:22:49 +0000 From: Xueming Li To: Huisong Li CC: Luca Boccassi , Min Hu , dpdk stable Date: Tue, 11 May 2021 00:02:25 +0800 Message-ID: <20210510160258.30982-196-xuemingl@nvidia.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20210510160258.30982-1-xuemingl@nvidia.com> References: <20210510160258.30982-1-xuemingl@nvidia.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [172.20.145.6] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 6b8c582e-4352-46b3-3d11-08d913cfdc03 X-MS-TrafficTypeDiagnostic: BYAPR12MB2950: X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:10000; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: FYbktxdtrHupum3uHZFRRTdIAcrOKI0fEXz4mnuow2aDAGVw2KjR8dkgND45BvEVOw2Q0e8zwettK7na6cm5VNJmXCURn4RqerLoE4k7MfhzbZmfrtHl3siullUfluESaf6pv/DQaBf5ye6k9y0IkZgeoua9u8Z5Ka+w9US2tPuFI48TV25xA/eM4y7Swr9AwEkxkxcimepPdFn6SFrlyXoH56qujZB6k7G4sS1ztpKnLIzbJzsk8HpWJJ4lD9VFLel9JspMwtQHl82N8KMTdQVQckP2+yfVZbQTtOBVozP1ceJZH16UhBD6RO1+kpVbQi/ZxGrSDBX0QRdeBC7nY62dddTb1212HZf/d0ec+ZakEhldTpa0YeaOUDqWxZ1M6uLzT8f9dln8Vn7lURVmFso3n0RiQ/NbNqeAHKagJ0w3yFfQY56U0o6WkdQ5YKB7e5rbx2zQnba6kTXA3y+Np8crkzoqAlI2wrXjqYJjp+Cc2lVshe25PIx9Z7upKcY2G0JHOdWETzrWcOkQi5kUX3QvanQA7/RN4cSGQi1IzxsKB/UCv2989RlDaka9USPrLCHXLlfjk7Fowy2wNhOQsHFMEXGlyFhdlrH/+B3pXIHgJvtMr35Vq1TKVjiwUcTB/3Vi9hhi7OD/3lXCxc7NBd/q6/BSTaOOePGaPeEsTJv8bK9XcReYPgRizLPVsiP9RW1aBUepSaJ7IEgtLT183md1tM+koLVVDsHjxJ6Fz0tGjDd6jwxeIzxQ5ZL3CN7oTm9JYkZMF1/97S/QqwBgOw== X-Forefront-Antispam-Report: CIP:216.228.112.34; CTRY:US; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:schybrid03.nvidia.com; CAT:NONE; SFS:(4636009)(39860400002)(396003)(346002)(136003)(376002)(46966006)(36840700001)(82740400003)(53546011)(966005)(36860700001)(16526019)(336012)(30864003)(7696005)(478600001)(47076005)(6916009)(316002)(26005)(8936002)(55016002)(356005)(186003)(7636003)(83380400001)(36756003)(5660300002)(54906003)(86362001)(1076003)(6286002)(70206006)(2616005)(82310400003)(4326008)(6666004)(36906005)(2906002)(70586007)(8676002)(426003); DIR:OUT; SFP:1101; X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 10 May 2021 16:22:51.7515 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b8c582e-4352-46b3-3d11-08d913cfdc03 X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.112.34]; Helo=[mail.nvidia.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT038.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BYAPR12MB2950 Subject: [dpdk-stable] patch 'net/hns3: fix flow control mode' has been queued to stable release 20.11.2 X-BeenThere: stable@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: patches for DPDK stable branches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: stable-bounces@dpdk.org Sender: "stable" Hi, FYI, your patch has been queued to stable release 20.11.2 Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet. It will be pushed if I get no objections before 05/12/21. So please shout if anyone has objections. Also note that after the patch there's a diff of the upstream commit vs the patch applied to the branch. This will indicate if there was any rebasing needed to apply to the stable branch. If there were code changes for rebasing (ie: not only metadata diffs), please double check that the rebase was correctly done. Queued patches are on a temporary branch at: https://github.com/steevenlee/dpdk This queued commit can be viewed at: https://github.com/steevenlee/dpdk/commit/6ac6d7e85275152d8545c7fc6e46b3cb04cad9b5 Thanks. Xueming Li --- >From 6ac6d7e85275152d8545c7fc6e46b3cb04cad9b5 Mon Sep 17 00:00:00 2001 From: Huisong Li Date: Tue, 13 Apr 2021 21:47:13 +0800 Subject: [PATCH] net/hns3: fix flow control mode Cc: Luca Boccassi [ upstream commit d4fdb71a0e7beb95b6e2c6ffe13fb159904317bf ] Currently, hns3 driver doesn't support to flow control auto-negotiation. The FC mode requested by user is the same as the current FC mode. It is not necessary to maintain the current FC mode. We only report the current FC mode based on actual flow control mode in hns3_flow_ctrl_get(). This patch removes this redundant field. In addition, "requested_mode" in hns3_hw struct indicates the FC mode requested by user, and the name is unreasonable. It needs to be modified to "requested_fc_mode". Fixes: 62e3ccc2b94c ("net/hns3: support flow control") Signed-off-by: Huisong Li Signed-off-by: Min Hu (Connor) --- drivers/net/hns3/hns3_dcb.c | 23 ++++++++--------------- drivers/net/hns3/hns3_ethdev.c | 28 ++++++++++------------------ drivers/net/hns3/hns3_ethdev.h | 3 +-- 3 files changed, 19 insertions(+), 35 deletions(-) diff --git a/drivers/net/hns3/hns3_dcb.c b/drivers/net/hns3/hns3_dcb.c index f7ad2a5e4c..b395372aac 100644 --- a/drivers/net/hns3/hns3_dcb.c +++ b/drivers/net/hns3/hns3_dcb.c @@ -1196,7 +1196,7 @@ hns3_qs_bp_cfg(struct hns3_hw *hw, uint8_t tc, uint8_t grp_id, uint32_t bit_map) static void hns3_get_rx_tx_en_status(struct hns3_hw *hw, bool *tx_en, bool *rx_en) { - switch (hw->current_mode) { + switch (hw->requested_fc_mode) { case HNS3_FC_NONE: *tx_en = false; *rx_en = false; @@ -1373,7 +1373,7 @@ hns3_dcb_cfg_validate(struct hns3_adapter *hns, uint8_t *tc, bool *changed) * We ensure that dcb information can be reconfigured * after the hns3_priority_flow_ctrl_set function called. */ - if (hw->current_mode != HNS3_FC_FULL) + if (hw->requested_fc_mode != HNS3_FC_FULL) *changed = true; pfc_en = RTE_LEN2MASK((uint8_t)dcb_rx_conf->nb_tcs, uint8_t); if (hw->dcb_info.pfc_en != pfc_en) @@ -1487,7 +1487,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) struct hns3_pf *pf = &hns->pf; struct hns3_hw *hw = &hns->hw; enum hns3_fc_status fc_status = hw->current_fc_status; - enum hns3_fc_mode current_mode = hw->current_mode; + enum hns3_fc_mode requested_fc_mode = hw->requested_fc_mode; uint8_t hw_pfc_map = hw->dcb_info.hw_pfc_map; int ret, status; @@ -1517,7 +1517,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) return ret; hw->current_fc_status = HNS3_FC_STATUS_PFC; - hw->current_mode = HNS3_FC_FULL; + hw->requested_fc_mode = HNS3_FC_FULL; ret = hns3_dcb_pause_setup_hw(hw); if (ret) { hns3_err(hw, "setup pfc failed! ret = %d", ret); @@ -1538,7 +1538,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) return 0; pfc_setup_fail: - hw->current_mode = current_mode; + hw->requested_fc_mode = requested_fc_mode; hw->current_fc_status = fc_status; hw->dcb_info.hw_pfc_map = hw_pfc_map; status = hns3_buffer_alloc(hw); @@ -1616,8 +1616,7 @@ hns3_dcb_init(struct hns3_hw *hw) * will be changed. */ if (hw->adapter_state == HNS3_NIC_UNINITIALIZED) { - hw->requested_mode = HNS3_FC_NONE; - hw->current_mode = hw->requested_mode; + hw->requested_fc_mode = HNS3_FC_NONE; pf->pause_time = HNS3_DEFAULT_PAUSE_TRANS_TIME; hw->current_fc_status = HNS3_FC_STATUS_NONE; @@ -1718,7 +1717,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private); enum hns3_fc_status fc_status = hw->current_fc_status; - enum hns3_fc_mode current_mode = hw->current_mode; uint8_t hw_pfc_map = hw->dcb_info.hw_pfc_map; uint8_t pfc_en = hw->dcb_info.pfc_en; uint8_t priority = pfc_conf->priority; @@ -1726,7 +1724,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) int ret, status; pf->pause_time = pfc_conf->fc.pause_time; - hw->current_mode = hw->requested_mode; hw->current_fc_status = HNS3_FC_STATUS_PFC; hw->dcb_info.pfc_en |= BIT(priority); hw->dcb_info.hw_pfc_map = @@ -1737,7 +1734,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) /* * The flow control mode of all UPs will be changed based on - * current_mode coming from user. + * requested_fc_mode coming from user. */ ret = hns3_dcb_pause_setup_hw(hw); if (ret) { @@ -1748,7 +1745,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) return 0; pfc_setup_fail: - hw->current_mode = current_mode; hw->current_fc_status = fc_status; pf->pause_time = pause_time; hw->dcb_info.pfc_en = pfc_en; @@ -1772,18 +1768,16 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private); enum hns3_fc_status fc_status = hw->current_fc_status; - enum hns3_fc_mode current_mode = hw->current_mode; uint16_t pause_time = pf->pause_time; int ret; pf->pause_time = fc_conf->pause_time; - hw->current_mode = hw->requested_mode; /* * In fact, current_fc_status is HNS3_FC_STATUS_NONE when mode * of flow control is configured to be HNS3_FC_NONE. */ - if (hw->current_mode == HNS3_FC_NONE) + if (hw->requested_fc_mode == HNS3_FC_NONE) hw->current_fc_status = HNS3_FC_STATUS_NONE; else hw->current_fc_status = HNS3_FC_STATUS_MAC_PAUSE; @@ -1797,7 +1791,6 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) return 0; setup_fc_fail: - hw->current_mode = current_mode; hw->current_fc_status = fc_status; pf->pause_time = pause_time; diff --git a/drivers/net/hns3/hns3_ethdev.c b/drivers/net/hns3/hns3_ethdev.c index b4e666ebfb..d63159f278 100644 --- a/drivers/net/hns3/hns3_ethdev.c +++ b/drivers/net/hns3/hns3_ethdev.c @@ -5202,8 +5202,11 @@ hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) fc_conf->pause_time = pf->pause_time; - /* return fc current mode */ - switch (hw->current_mode) { + /* + * If fc auto-negotiation is not supported, the configured fc mode + * from user is the current fc mode. + */ + switch (hw->requested_fc_mode) { case HNS3_FC_FULL: fc_conf->mode = RTE_FC_FULL; break; @@ -5227,19 +5230,19 @@ hns3_get_fc_mode(struct hns3_hw *hw, enum rte_eth_fc_mode mode) { switch (mode) { case RTE_FC_NONE: - hw->requested_mode = HNS3_FC_NONE; + hw->requested_fc_mode = HNS3_FC_NONE; break; case RTE_FC_RX_PAUSE: - hw->requested_mode = HNS3_FC_RX_PAUSE; + hw->requested_fc_mode = HNS3_FC_RX_PAUSE; break; case RTE_FC_TX_PAUSE: - hw->requested_mode = HNS3_FC_TX_PAUSE; + hw->requested_fc_mode = HNS3_FC_TX_PAUSE; break; case RTE_FC_FULL: - hw->requested_mode = HNS3_FC_FULL; + hw->requested_fc_mode = HNS3_FC_FULL; break; default: - hw->requested_mode = HNS3_FC_NONE; + hw->requested_fc_mode = HNS3_FC_NONE; hns3_warn(hw, "fc_mode(%u) exceeds member scope and is " "configured to RTE_FC_NONE", mode); break; @@ -5250,7 +5253,6 @@ static int hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) { struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); - struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private); int ret; if (fc_conf->high_water || fc_conf->low_water || @@ -5285,9 +5287,6 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) } hns3_get_fc_mode(hw, fc_conf->mode); - if (hw->requested_mode == hw->current_mode && - pf->pause_time == fc_conf->pause_time) - return 0; rte_spinlock_lock(&hw->lock); ret = hns3_fc_enable(dev, fc_conf); @@ -5301,8 +5300,6 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) { struct hns3_hw *hw = HNS3_DEV_PRIVATE_TO_HW(dev->data->dev_private); - struct hns3_pf *pf = HNS3_DEV_PRIVATE_TO_PF(dev->data->dev_private); - uint8_t priority; int ret; if (!hns3_dev_dcb_supported(hw)) { @@ -5337,12 +5334,7 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, return -EOPNOTSUPP; } - priority = pfc_conf->priority; hns3_get_fc_mode(hw, pfc_conf->fc.mode); - if (hw->dcb_info.pfc_en & BIT(priority) && - hw->requested_mode == hw->current_mode && - pfc_conf->fc.pause_time == pf->pause_time) - return 0; rte_spinlock_lock(&hw->lock); ret = hns3_dcb_pfc_enable(dev, pfc_conf); diff --git a/drivers/net/hns3/hns3_ethdev.h b/drivers/net/hns3/hns3_ethdev.h index b119b73ab3..f58dd356ce 100644 --- a/drivers/net/hns3/hns3_ethdev.h +++ b/drivers/net/hns3/hns3_ethdev.h @@ -457,8 +457,7 @@ struct hns3_hw { uint8_t num_tc; /* Total number of enabled TCs */ uint8_t hw_tc_map; - enum hns3_fc_mode current_mode; - enum hns3_fc_mode requested_mode; + enum hns3_fc_mode requested_fc_mode; /* FC mode requested by user */ struct hns3_dcb_info dcb_info; enum hns3_fc_status current_fc_status; /* current flow control status */ struct hns3_tc_queue_info tc_queue[HNS3_MAX_TC_NUM]; -- 2.25.1 --- Diff of the applied patch vs upstream commit (please double-check if non-empty: --- --- - 2021-05-10 23:59:31.657675900 +0800 +++ 0197-net-hns3-fix-flow-control-mode.patch 2021-05-10 23:59:26.660000000 +0800 @@ -1 +1 @@ -From d4fdb71a0e7beb95b6e2c6ffe13fb159904317bf Mon Sep 17 00:00:00 2001 +From 6ac6d7e85275152d8545c7fc6e46b3cb04cad9b5 Mon Sep 17 00:00:00 2001 @@ -4,0 +5,3 @@ +Cc: Luca Boccassi + +[ upstream commit d4fdb71a0e7beb95b6e2c6ffe13fb159904317bf ] @@ -16 +18,0 @@ -Cc: stable@dpdk.org @@ -27 +29 @@ -index 096afe8d0c..30e59e80a6 100644 +index f7ad2a5e4c..b395372aac 100644 @@ -30 +32 @@ -@@ -1238,7 +1238,7 @@ hns3_qs_bp_cfg(struct hns3_hw *hw, uint8_t tc, uint8_t grp_id, uint32_t bit_map) +@@ -1196,7 +1196,7 @@ hns3_qs_bp_cfg(struct hns3_hw *hw, uint8_t tc, uint8_t grp_id, uint32_t bit_map) @@ -39 +41 @@ -@@ -1415,7 +1415,7 @@ hns3_dcb_cfg_validate(struct hns3_adapter *hns, uint8_t *tc, bool *changed) +@@ -1373,7 +1373,7 @@ hns3_dcb_cfg_validate(struct hns3_adapter *hns, uint8_t *tc, bool *changed) @@ -48 +50 @@ -@@ -1529,7 +1529,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1487,7 +1487,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -57 +59 @@ -@@ -1559,7 +1559,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1517,7 +1517,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -66 +68 @@ -@@ -1580,7 +1580,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) +@@ -1538,7 +1538,7 @@ hns3_dcb_hw_configure(struct hns3_adapter *hns) @@ -75 +77 @@ -@@ -1659,8 +1659,7 @@ hns3_dcb_init(struct hns3_hw *hw) +@@ -1616,8 +1616,7 @@ hns3_dcb_init(struct hns3_hw *hw) @@ -85 +87 @@ -@@ -1761,7 +1760,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1718,7 +1717,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -93 +95 @@ -@@ -1769,7 +1767,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1726,7 +1724,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -101 +103 @@ -@@ -1780,7 +1777,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1737,7 +1734,7 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -110 +112 @@ -@@ -1791,7 +1788,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) +@@ -1748,7 +1745,6 @@ hns3_dcb_pfc_enable(struct rte_eth_dev *dev, struct rte_eth_pfc_conf *pfc_conf) @@ -118 +120 @@ -@@ -1815,18 +1811,16 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -1772,18 +1768,16 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -138 +140 @@ -@@ -1840,7 +1834,6 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -1797,7 +1791,6 @@ hns3_fc_enable(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -147 +149 @@ -index ee471173e6..cd6b159047 100644 +index b4e666ebfb..d63159f278 100644 @@ -150 +152 @@ -@@ -5496,8 +5496,11 @@ hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -5202,8 +5202,11 @@ hns3_flow_ctrl_get(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -164 +166 @@ -@@ -5521,19 +5524,19 @@ hns3_get_fc_mode(struct hns3_hw *hw, enum rte_eth_fc_mode mode) +@@ -5227,19 +5230,19 @@ hns3_get_fc_mode(struct hns3_hw *hw, enum rte_eth_fc_mode mode) @@ -189 +191 @@ -@@ -5544,7 +5547,6 @@ static int +@@ -5250,7 +5253,6 @@ static int @@ -197 +199 @@ -@@ -5579,9 +5581,6 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) +@@ -5285,9 +5287,6 @@ hns3_flow_ctrl_set(struct rte_eth_dev *dev, struct rte_eth_fc_conf *fc_conf) @@ -207 +209 @@ -@@ -5595,8 +5594,6 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, +@@ -5301,8 +5300,6 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, @@ -216 +218 @@ -@@ -5631,12 +5628,7 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, +@@ -5337,12 +5334,7 @@ hns3_priority_flow_ctrl_set(struct rte_eth_dev *dev, @@ -230 +232 @@ -index 17d24690bd..39afae7b80 100644 +index b119b73ab3..f58dd356ce 100644 @@ -233 +235 @@ -@@ -469,8 +469,7 @@ struct hns3_hw { +@@ -457,8 +457,7 @@ struct hns3_hw {