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: 657c2a7f1d ("net/bnxt: create aggregation rings when needed")

Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>
This commit is contained in:
Kalesh AP 2021-10-30 09:20:20 +05:30 committed by Ajit Khaparde
parent 400405873b
commit 7bea87cd24
3 changed files with 0 additions and 38 deletions

View File

@ -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);

View File

@ -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)
{

View File

@ -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);