aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
diff options
context:
space:
mode:
authorDmitry Kravkov <dmitry@broadcom.com>2012-02-20 04:59:08 -0500
committerDavid S. Miller <davem@davemloft.net>2012-02-20 19:34:07 -0500
commit621b4d66b27e70ba9a0e8fa4676d9c4f916c8343 (patch)
tree41ebada1c68d784b97ca792b74a73a2f72ac4876 /drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
parent2b68c18194b078489a84023564bcf7464b6c7b37 (diff)
use FW 7.2.16
The patch integrates FW 7.2.16 HSI and implements driver part of GRO flow. FW 7.2.16 adds the ability to aggregate packets for GRO (and not just LRO) and also fixes some bugs. 1. Added new aggregation mode: GRO. In this mode packets are aggregated such that the original packets can be reconstructed by the OS. 2. 57712 HW bug workaround - initialized all CAM TM registers to 0x32. 3. Adding the FCoE statistics structures to the BNX2X HSI. 4. Wrong configuration of TX HW input buffer size may cause theoretical performance effect. Performed configuration fix. 5. FCOE - Arrival of packets beyond task IO size can lead to crash. Fix firmware data-in flow. 6. iSCSI - In rare cases of on-chip termination the graceful termination timer hangs, and the termination doesn't complete. Firmware fix to MSL timer tolerance. 7. iSCSI - Chip hangs when target sends FIN out-of-order or with isles open at the initiator side. Firmware implementation corrected to drop FIN received out-of-order or with isles still open. 8. iSCSI - Chip hangs when in case of retransmission not aligned to 4-bytes from the beginning of iSCSI PDU. Firmware implementation corrected to support arbitrary aligned retransmissions. 9. iSCSI - Arrival of target-initiated NOP-IN during intense ISCSI traffic might lead to crash. Firmware fix to relevant flow. Signed-off-by: Dmitry Kravkov <dmitry@broadcom.com> Signed-off-by: Eilon Greenstein <eilong@broadcom.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c')
-rw-r--r--drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
index ac15f747f8da..adfae6bb430b 100644
--- a/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
+++ b/drivers/net/ethernet/broadcom/bnx2x/bnx2x_sp.c
@@ -4431,9 +4431,10 @@ static void bnx2x_q_fill_init_rx_data(struct bnx2x_queue_sp_obj *o,
4431 struct client_init_rx_data *rx_data, 4431 struct client_init_rx_data *rx_data,
4432 unsigned long *flags) 4432 unsigned long *flags)
4433{ 4433{
4434 /* Rx data */
4435 rx_data->tpa_en = test_bit(BNX2X_Q_FLG_TPA, flags) * 4434 rx_data->tpa_en = test_bit(BNX2X_Q_FLG_TPA, flags) *
4436 CLIENT_INIT_RX_DATA_TPA_EN_IPV4; 4435 CLIENT_INIT_RX_DATA_TPA_EN_IPV4;
4436 rx_data->tpa_en |= test_bit(BNX2X_Q_FLG_TPA_GRO, flags) *
4437 CLIENT_INIT_RX_DATA_TPA_MODE;
4437 rx_data->vmqueue_mode_en_flg = 0; 4438 rx_data->vmqueue_mode_en_flg = 0;
4438 4439
4439 rx_data->cache_line_alignment_log_size = 4440 rx_data->cache_line_alignment_log_size =