[dpdk-stable] patch 'net/bnxt: fix unnecessary HWRM command' has been queued to stable release 19.11.4

luca.boccassi at gmail.com luca.boccassi at gmail.com
Fri Jul 24 13:59:43 CEST 2020


Hi,

FYI, your patch has been queued to stable release 19.11.4

Note it hasn't been pushed to http://dpdk.org/browse/dpdk-stable yet.
It will be pushed if I get no objections before 07/26/20. 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.

Thanks.

Luca Boccassi

---
>From 7806e74cd1dfd85ac31a1ba91ba53f5a6f62149e Mon Sep 17 00:00:00 2001
From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Date: Thu, 9 Jul 2020 15:08:30 +0530
Subject: [PATCH] net/bnxt: fix unnecessary HWRM command

[ upstream commit f456684ac2afafc97106ab8d997c9aa477f6b15f ]

During probe, driver issues HWRM_CFA_ADV_FLOW_MGNT_QCAPS command.
But it is not using the command response anywhere which makes the
fw call redundant.

Remove the unnecessary HWRM_CFA_ADV_FLOW_MGNT_QCAPS call to fw.
Remove the redundant flow_flags in bnxt struct.

Fixes: afef822b2e1b ("net/bnxt: support creating SMAC and inner DMAC filters")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
---
 drivers/net/bnxt/bnxt.h        |  2 --
 drivers/net/bnxt/bnxt_ethdev.c |  4 ----
 drivers/net/bnxt/bnxt_hwrm.c   | 32 --------------------------------
 drivers/net/bnxt/bnxt_hwrm.h   |  1 -
 4 files changed, 39 deletions(-)

diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
index 96e46868e..46cf41864 100644
--- a/drivers/net/bnxt/bnxt.h
+++ b/drivers/net/bnxt/bnxt.h
@@ -541,8 +541,6 @@ struct bnxt {
 #define BNXT_FW_CAP_ERROR_RECOVERY	BIT(2)
 #define BNXT_FW_CAP_ERR_RECOVER_RELOAD	BIT(3)
 
-	uint32_t		flow_flags;
-#define BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN	BIT(0)
 	pthread_mutex_t         flow_lock;
 
 	uint32_t		vnic_cap_flags;
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index f1bd57535..f6d2ed741 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -4723,10 +4723,6 @@ static int bnxt_init_fw(struct bnxt *bp)
 	if (rc)
 		return rc;
 
-	rc = bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(bp);
-	if (rc)
-		return rc;
-
 	/* Get the adapter error recovery support info */
 	rc = bnxt_hwrm_error_recovery_qcfg(bp);
 	if (rc)
diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
index 33f352fad..720099a32 100644
--- a/drivers/net/bnxt/bnxt_hwrm.c
+++ b/drivers/net/bnxt/bnxt_hwrm.c
@@ -5068,35 +5068,3 @@ int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path, uint64_t *timestamp)
 
 	return rc;
 }
-
-int bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(struct bnxt *bp)
-{
-	struct hwrm_cfa_adv_flow_mgnt_qcaps_output *resp =
-					bp->hwrm_cmd_resp_addr;
-	struct hwrm_cfa_adv_flow_mgnt_qcaps_input req = {0};
-	uint32_t flags = 0;
-	int rc = 0;
-
-	if (!(bp->flags & BNXT_FLAG_ADV_FLOW_MGMT))
-		return rc;
-
-	if (!(BNXT_PF(bp) || BNXT_VF_IS_TRUSTED(bp))) {
-		PMD_DRV_LOG(DEBUG,
-			    "Not a PF or trusted VF. Command not supported\n");
-		return 0;
-	}
-
-	HWRM_PREP(req, CFA_ADV_FLOW_MGNT_QCAPS, BNXT_USE_KONG(bp));
-	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_KONG(bp));
-
-	HWRM_CHECK_RESULT();
-	flags = rte_le_to_cpu_32(resp->flags);
-	HWRM_UNLOCK();
-
-	if (flags & HWRM_CFA_ADV_FLOW_MGNT_QCAPS_L2_HDR_SRC_FILTER_EN) {
-		bp->flow_flags |= BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN;
-		PMD_DRV_LOG(INFO, "Source L2 header filtering enabled\n");
-	}
-
-	return rc;
-}
diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
index 2753720ae..ad5baf262 100644
--- a/drivers/net/bnxt/bnxt_hwrm.h
+++ b/drivers/net/bnxt/bnxt_hwrm.h
@@ -229,5 +229,4 @@ int bnxt_hwrm_error_recovery_qcfg(struct bnxt *bp);
 int bnxt_hwrm_fw_reset(struct bnxt *bp);
 int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path,
 			    uint64_t *timestamp);
-int bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(struct bnxt *bp);
 #endif
-- 
2.20.1

---
  Diff of the applied patch vs upstream commit (please double-check if non-empty:
---
--- -	2020-07-24 12:53:54.147834598 +0100
+++ 0145-net-bnxt-fix-unnecessary-HWRM-command.patch	2020-07-24 12:53:48.491010260 +0100
@@ -1,8 +1,10 @@
-From f456684ac2afafc97106ab8d997c9aa477f6b15f Mon Sep 17 00:00:00 2001
+From 7806e74cd1dfd85ac31a1ba91ba53f5a6f62149e Mon Sep 17 00:00:00 2001
 From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
 Date: Thu, 9 Jul 2020 15:08:30 +0530
 Subject: [PATCH] net/bnxt: fix unnecessary HWRM command
 
+[ upstream commit f456684ac2afafc97106ab8d997c9aa477f6b15f ]
+
 During probe, driver issues HWRM_CFA_ADV_FLOW_MGNT_QCAPS command.
 But it is not using the command response anywhere which makes the
 fw call redundant.
@@ -11,7 +13,6 @@
 Remove the redundant flow_flags in bnxt struct.
 
 Fixes: afef822b2e1b ("net/bnxt: support creating SMAC and inner DMAC filters")
-Cc: stable at dpdk.org
 
 Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
 Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
@@ -24,12 +25,12 @@
  4 files changed, 39 deletions(-)
 
 diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h
-index 8325e8796..50f93ff5b 100644
+index 96e46868e..46cf41864 100644
 --- a/drivers/net/bnxt/bnxt.h
 +++ b/drivers/net/bnxt/bnxt.h
-@@ -638,8 +638,6 @@ struct bnxt {
- #define BNXT_FW_CAP_ADV_FLOW_COUNTERS	BIT(6)
- #define BNXT_FW_CAP_HCOMM_FW_STATUS	BIT(7)
+@@ -541,8 +541,6 @@ struct bnxt {
+ #define BNXT_FW_CAP_ERROR_RECOVERY	BIT(2)
+ #define BNXT_FW_CAP_ERR_RECOVER_RELOAD	BIT(3)
  
 -	uint32_t		flow_flags;
 -#define BNXT_FLOW_FLAG_L2_HDR_SRC_FILTER_EN	BIT(0)
@@ -37,28 +38,29 @@
  
  	uint32_t		vnic_cap_flags;
 diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
-index 712de1869..318d6b33a 100644
+index f1bd57535..f6d2ed741 100644
 --- a/drivers/net/bnxt/bnxt_ethdev.c
 +++ b/drivers/net/bnxt/bnxt_ethdev.c
-@@ -5472,10 +5472,6 @@ static int bnxt_init_fw(struct bnxt *bp)
- 
- 	bnxt_hwrm_port_phy_qcaps(bp);
+@@ -4723,10 +4723,6 @@ static int bnxt_init_fw(struct bnxt *bp)
+ 	if (rc)
+ 		return rc;
  
 -	rc = bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(bp);
 -	if (rc)
 -		return rc;
 -
- 	bnxt_alloc_error_recovery_info(bp);
  	/* Get the adapter error recovery support info */
  	rc = bnxt_hwrm_error_recovery_qcfg(bp);
+ 	if (rc)
 diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c
-index 6ade32d1b..f9c746109 100644
+index 33f352fad..720099a32 100644
 --- a/drivers/net/bnxt/bnxt_hwrm.c
 +++ b/drivers/net/bnxt/bnxt_hwrm.c
-@@ -5320,38 +5320,6 @@ int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path, uint64_t *timestamp)
+@@ -5068,35 +5068,3 @@ int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path, uint64_t *timestamp)
+ 
  	return rc;
  }
- 
+-
 -int bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(struct bnxt *bp)
 -{
 -	struct hwrm_cfa_adv_flow_mgnt_qcaps_output *resp =
@@ -67,7 +69,7 @@
 -	uint32_t flags = 0;
 -	int rc = 0;
 -
--	if (!(bp->fw_cap & BNXT_FW_CAP_ADV_FLOW_MGMT))
+-	if (!(bp->flags & BNXT_FLAG_ADV_FLOW_MGMT))
 -		return rc;
 -
 -	if (!(BNXT_PF(bp) || BNXT_VF_IS_TRUSTED(bp))) {
@@ -76,7 +78,7 @@
 -		return 0;
 -	}
 -
--	HWRM_PREP(&req, HWRM_CFA_ADV_FLOW_MGNT_QCAPS, BNXT_USE_KONG(bp));
+-	HWRM_PREP(req, CFA_ADV_FLOW_MGNT_QCAPS, BNXT_USE_KONG(bp));
 -	rc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_KONG(bp));
 -
 -	HWRM_CHECK_RESULT();
@@ -90,22 +92,16 @@
 -
 -	return rc;
 -}
--
- int bnxt_hwrm_cfa_counter_qcaps(struct bnxt *bp, uint16_t *max_fc)
- {
- 	int rc = 0;
 diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h
-index 9e0b79904..1704eddba 100644
+index 2753720ae..ad5baf262 100644
 --- a/drivers/net/bnxt/bnxt_hwrm.h
 +++ b/drivers/net/bnxt/bnxt_hwrm.h
-@@ -259,7 +259,6 @@ int bnxt_hwrm_error_recovery_qcfg(struct bnxt *bp);
+@@ -229,5 +229,4 @@ int bnxt_hwrm_error_recovery_qcfg(struct bnxt *bp);
  int bnxt_hwrm_fw_reset(struct bnxt *bp);
  int bnxt_hwrm_port_ts_query(struct bnxt *bp, uint8_t path,
  			    uint64_t *timestamp);
 -int bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(struct bnxt *bp);
- int bnxt_hwrm_cfa_counter_qcaps(struct bnxt *bp, uint16_t *max_fc);
- int bnxt_hwrm_ctx_rgtr(struct bnxt *bp, rte_iova_t dma_addr, uint16_t *ctx_id);
- int bnxt_hwrm_ctx_unrgtr(struct bnxt *bp, uint16_t ctx_id);
+ #endif
 -- 
 2.20.1
 


More information about the stable mailing list