net/bnxt: fix max ring count

Max Rx Ring count could be < Max stat contexts. While accounting
for stat contexts, this should be also considered and
the max ring count adjusted accordingly.

Fixes: f03e66cb64 ("net/bnxt: limit queue count for NS3/Stingray devices")
Cc: stable@dpdk.org

Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Reviewed-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
This commit is contained in:
Somnath Kotur 2020-04-24 16:30:54 +05:30 committed by Ferruh Yigit
parent 67889d1130
commit 9bccd7010f

View File

@ -653,10 +653,10 @@ struct bnxt {
#define MAX_STINGRAY_RINGS 128U
/* For sake of symmetry, max Tx rings == max Rx rings, one stat ctx for each */
#define BNXT_MAX_RX_RINGS(bp) \
(BNXT_STINGRAY(bp) ? RTE_MIN(RTE_MIN(bp->max_rx_rings, \
(BNXT_STINGRAY(bp) ? RTE_MIN(RTE_MIN(bp->max_rx_rings / 2U, \
MAX_STINGRAY_RINGS), \
bp->max_stat_ctx / 2U) : \
RTE_MIN(bp->max_rx_rings, \
RTE_MIN(bp->max_rx_rings / 2U, \
bp->max_stat_ctx / 2U))
#define BNXT_MAX_TX_RINGS(bp) \
(RTE_MIN((bp)->max_tx_rings, BNXT_MAX_RX_RINGS(bp)))