diff options
| author | Andrew Rybchenko <arybchik@FreeBSD.org> | 2018-11-30 07:05:23 +0000 |
|---|---|---|
| committer | Andrew Rybchenko <arybchik@FreeBSD.org> | 2018-11-30 07:05:23 +0000 |
| commit | 5037810f7e46272812a8521397e47190dec308ee (patch) | |
| tree | 5301f7bc51f32c265d473a3600286382bcff91c4 /sys/dev/sfxge | |
| parent | 6b231fec923a354e6f75e8c924350cec3ddc46c3 (diff) | |
Notes
Diffstat (limited to 'sys/dev/sfxge')
| -rw-r--r-- | sys/dev/sfxge/common/efx.h | 1 | ||||
| -rw-r--r-- | sys/dev/sfxge/common/hunt_nic.c | 3 | ||||
| -rw-r--r-- | sys/dev/sfxge/common/medford2_nic.c | 3 | ||||
| -rw-r--r-- | sys/dev/sfxge/common/medford_nic.c | 3 |
4 files changed, 10 insertions, 0 deletions
diff --git a/sys/dev/sfxge/common/efx.h b/sys/dev/sfxge/common/efx.h index fe9b36a9dc5d3..997c8a930d0cc 100644 --- a/sys/dev/sfxge/common/efx.h +++ b/sys/dev/sfxge/common/efx.h @@ -1320,6 +1320,7 @@ typedef struct efx_nic_cfg_s { boolean_t enc_bug35388_workaround; boolean_t enc_bug41750_workaround; boolean_t enc_bug61265_workaround; + boolean_t enc_bug61297_workaround; boolean_t enc_rx_batching_enabled; /* Maximum number of descriptors completed in an rx event. */ uint32_t enc_rx_batch_max; diff --git a/sys/dev/sfxge/common/hunt_nic.c b/sys/dev/sfxge/common/hunt_nic.c index 2e0cf24ed97b9..d97cdcbec30f1 100644 --- a/sys/dev/sfxge/common/hunt_nic.c +++ b/sys/dev/sfxge/common/hunt_nic.c @@ -217,6 +217,9 @@ hunt_board_cfg( encp->enc_bug61265_workaround = B_FALSE; /* Medford only */ + /* Checksums for TSO sends can be incorrect on Huntington. */ + encp->enc_bug61297_workaround = B_TRUE; + /* Alignment for receive packet DMA buffers */ encp->enc_rx_buf_align_start = 1; encp->enc_rx_buf_align_end = 64; /* RX DMA end padding */ diff --git a/sys/dev/sfxge/common/medford2_nic.c b/sys/dev/sfxge/common/medford2_nic.c index 8ea7dedb5f7a0..14c2fd73bf7f7 100644 --- a/sys/dev/sfxge/common/medford2_nic.c +++ b/sys/dev/sfxge/common/medford2_nic.c @@ -125,6 +125,9 @@ medford2_board_cfg( else goto fail1; + /* Checksums for TSO sends should always be correct on Medford2. */ + encp->enc_bug61297_workaround = B_FALSE; + /* Get clock frequencies (in MHz). */ if ((rc = efx_mcdi_get_clock(enp, &sysclk, &dpcpu_clk)) != 0) goto fail2; diff --git a/sys/dev/sfxge/common/medford_nic.c b/sys/dev/sfxge/common/medford_nic.c index 7fe13958071f4..6790704678ced 100644 --- a/sys/dev/sfxge/common/medford_nic.c +++ b/sys/dev/sfxge/common/medford_nic.c @@ -121,6 +121,9 @@ medford_board_cfg( else goto fail1; + /* Checksums for TSO sends can be incorrect on Medford. */ + encp->enc_bug61297_workaround = B_TRUE; + /* Get clock frequencies (in MHz). */ if ((rc = efx_mcdi_get_clock(enp, &sysclk, &dpcpu_clk)) != 0) goto fail2; |
