From 7bea87cd244cd87975dd4dc4ee7d8cd30335b8eb Mon Sep 17 00:00:00 2001 From: Kalesh AP Date: Sat, 30 Oct 2021 09:20:20 +0530 Subject: [PATCH] net/bnxt: fix stat context allocation stat_ctx_alloc is called within the context of each rx/tx ring. i.e from bnxt_alloc_hwrm_rx_ring and bnxt_alloc_hwrm_tx_ring(). So, there is no need to invoke bnxt_alloc_all_hwrm_stat_ctxs() from bnxt_start_nic(). Fixes: 657c2a7f1dd4 ("net/bnxt: create aggregation rings when needed") Signed-off-by: Kalesh AP Reviewed-by: Ajit Khaparde Reviewed-by: Somnath Kotur --- drivers/net/bnxt/bnxt_ethdev.c | 6 ------ drivers/net/bnxt/bnxt_hwrm.c | 31 ------------------------------- drivers/net/bnxt/bnxt_hwrm.h | 1 - 3 files changed, 38 deletions(-) diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c index 91f114ecbc..c8dad8a7c5 100644 --- a/drivers/net/bnxt/bnxt_ethdev.c +++ b/drivers/net/bnxt/bnxt_ethdev.c @@ -747,12 +747,6 @@ static int bnxt_start_nic(struct bnxt *bp) if (BNXT_CHIP_P5(bp)) bp->max_ring_grps = BNXT_MAX_RSS_CTXTS_P5; - rc = bnxt_alloc_all_hwrm_stat_ctxs(bp); - if (rc) { - PMD_DRV_LOG(ERR, "HWRM stat ctx alloc failure rc: %x\n", rc); - goto err_out; - } - rc = bnxt_alloc_hwrm_rings(bp); if (rc) { PMD_DRV_LOG(ERR, "HWRM ring alloc failure rc: %x\n", rc); diff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c index 82e89b7c8a..55dcb1dd6a 100644 --- a/drivers/net/bnxt/bnxt_hwrm.c +++ b/drivers/net/bnxt/bnxt_hwrm.c @@ -2648,37 +2648,6 @@ bnxt_free_all_hwrm_stat_ctxs(struct bnxt *bp) return 0; } -int bnxt_alloc_all_hwrm_stat_ctxs(struct bnxt *bp) -{ - struct bnxt_cp_ring_info *cpr; - unsigned int i; - int rc = 0; - - for (i = 0; i < bp->rx_cp_nr_rings; i++) { - struct bnxt_rx_queue *rxq = bp->rx_queues[i]; - - cpr = rxq->cp_ring; - if (cpr->hw_stats_ctx_id == HWRM_NA_SIGNATURE) { - rc = bnxt_hwrm_stat_ctx_alloc(bp, cpr); - if (rc) - return rc; - } - } - - for (i = 0; i < bp->tx_cp_nr_rings; i++) { - struct bnxt_tx_queue *txq = bp->tx_queues[i]; - - cpr = txq->cp_ring; - if (cpr->hw_stats_ctx_id == HWRM_NA_SIGNATURE) { - rc = bnxt_hwrm_stat_ctx_alloc(bp, cpr); - if (rc) - return rc; - } - } - - return rc; -} - static int bnxt_free_all_hwrm_ring_grps(struct bnxt *bp) { diff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h index 6dc23b93ac..72d486468c 100644 --- a/drivers/net/bnxt/bnxt_hwrm.h +++ b/drivers/net/bnxt/bnxt_hwrm.h @@ -188,7 +188,6 @@ int bnxt_hwrm_vnic_plcmode_cfg(struct bnxt *bp, int bnxt_hwrm_vnic_tpa_cfg(struct bnxt *bp, struct bnxt_vnic_info *vnic, bool enable); -int bnxt_alloc_all_hwrm_stat_ctxs(struct bnxt *bp); int bnxt_clear_all_hwrm_stat_ctxs(struct bnxt *bp); int bnxt_alloc_all_hwrm_ring_grps(struct bnxt *bp); void bnxt_free_cp_ring(struct bnxt *bp, struct bnxt_cp_ring_info *cpr); -- 2.39.5