aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
index 30f04a389227..24220992413f 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_cmn.c
@@ -3523,15 +3523,18 @@ static int bnx2x_alloc_fp_mem_at(struct bnx2x *bp, int index)
3523 } else 3523 } else
3524#endif 3524#endif
3525 if (!bp->rx_ring_size) { 3525 if (!bp->rx_ring_size) {
3526 u32 cfg = SHMEM_RD(bp,
3527 dev_info.port_hw_config[BP_PORT(bp)].default_cfg);
3528
3529 rx_ring_size = MAX_RX_AVAIL/BNX2X_NUM_RX_QUEUES(bp); 3526 rx_ring_size = MAX_RX_AVAIL/BNX2X_NUM_RX_QUEUES(bp);
3530 3527
3531 /* Dercease ring size for 1G functions */ 3528 if (CHIP_IS_E3(bp)) {
3532 if ((cfg & PORT_HW_CFG_NET_SERDES_IF_MASK) == 3529 u32 cfg = SHMEM_RD(bp,
3533 PORT_HW_CFG_NET_SERDES_IF_SGMII) 3530 dev_info.port_hw_config[BP_PORT(bp)].
3534 rx_ring_size /= 10; 3531 default_cfg);
3532
3533 /* Decrease ring size for 1G functions */
3534 if ((cfg & PORT_HW_CFG_NET_SERDES_IF_MASK) ==
3535 PORT_HW_CFG_NET_SERDES_IF_SGMII)
3536 rx_ring_size /= 10;
3537 }
3535 3538
3536 /* allocate at least number of buffers required by FW */ 3539 /* allocate at least number of buffers required by FW */
3537 rx_ring_size = max_t(int, bp->disable_tpa ? MIN_RX_SIZE_NONTPA : 3540 rx_ring_size = max_t(int, bp->disable_tpa ? MIN_RX_SIZE_NONTPA :