summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authoryongari <yongari@FreeBSD.org>2014-03-31 01:54:59 +0000
committeryongari <yongari@FreeBSD.org>2014-03-31 01:54:59 +0000
commite1b5ce307a401cee03e8762e864442953d82c590 (patch)
tree74de747b83372a8f57da81c4b04485edfa799ecc /sys
parenteebc91c3f07da2be029d067225ea5126070dce16 (diff)
downloadFreeBSD-src-e1b5ce307a401cee03e8762e864442953d82c590.zip
FreeBSD-src-e1b5ce307a401cee03e8762e864442953d82c590.tar.gz
Increase the number of TX DMA segments from 32 to 35. It turned
out 32 is not enough to support a full sized TSO packet. While I'm here fix a long standing bug introduced in r169632 in bce(4) where it didn't include L2 header length of TSO packet in the maximum DMA segment size calculation. In collaboration with: rmacklem MFC after: 2 weeks
Diffstat (limited to 'sys')
-rw-r--r--sys/dev/age/if_agevar.h2
-rw-r--r--sys/dev/alc/if_alcvar.h2
-rw-r--r--sys/dev/ale/if_alevar.h2
-rw-r--r--sys/dev/bce/if_bcereg.h4
-rw-r--r--sys/dev/bge/if_bgereg.h2
-rw-r--r--sys/dev/fxp/if_fxpreg.h2
-rw-r--r--sys/dev/jme/if_jmevar.h2
-rw-r--r--sys/dev/msk/if_mskreg.h2
-rw-r--r--sys/dev/nfe/if_nfereg.h2
-rw-r--r--sys/dev/sge/if_sgereg.h2
-rw-r--r--sys/pci/if_rlreg.h2
11 files changed, 12 insertions, 12 deletions
diff --git a/sys/dev/age/if_agevar.h b/sys/dev/age/if_agevar.h
index 6ee5423..1479272 100644
--- a/sys/dev/age/if_agevar.h
+++ b/sys/dev/age/if_agevar.h
@@ -42,7 +42,7 @@
#define AGE_TSO_MAXSEGSIZE 4096
#define AGE_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
-#define AGE_MAXTXSEGS 32
+#define AGE_MAXTXSEGS 35
#define AGE_RX_BUF_ALIGN 8
#ifndef __NO_STRICT_ALIGNMENT
#define AGE_RX_BUF_SIZE (MCLBYTES - AGE_RX_BUF_ALIGN)
diff --git a/sys/dev/alc/if_alcvar.h b/sys/dev/alc/if_alcvar.h
index b7c9d38..f2d806f 100644
--- a/sys/dev/alc/if_alcvar.h
+++ b/sys/dev/alc/if_alcvar.h
@@ -42,7 +42,7 @@
#define ALC_TSO_MAXSEGSIZE 4096
#define ALC_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
-#define ALC_MAXTXSEGS 32
+#define ALC_MAXTXSEGS 35
#define ALC_ADDR_LO(x) ((uint64_t) (x) & 0xFFFFFFFF)
#define ALC_ADDR_HI(x) ((uint64_t) (x) >> 32)
diff --git a/sys/dev/ale/if_alevar.h b/sys/dev/ale/if_alevar.h
index abf2d2e..8995c69 100644
--- a/sys/dev/ale/if_alevar.h
+++ b/sys/dev/ale/if_alevar.h
@@ -40,7 +40,7 @@
#define ALE_TSO_MAXSEGSIZE 4096
#define ALE_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
-#define ALE_MAXTXSEGS 32
+#define ALE_MAXTXSEGS 35
#define ALE_ADDR_LO(x) ((uint64_t) (x) & 0xFFFFFFFF)
#define ALE_ADDR_HI(x) ((uint64_t) (x) >> 32)
diff --git a/sys/dev/bce/if_bcereg.h b/sys/dev/bce/if_bcereg.h
index 5b76f8c..88c40a5 100644
--- a/sys/dev/bce/if_bcereg.h
+++ b/sys/dev/bce/if_bcereg.h
@@ -6309,8 +6309,8 @@ struct fw_info {
#define BCE_TX_TIMEOUT 5
-#define BCE_MAX_SEGMENTS 32
-#define BCE_TSO_MAX_SIZE 65536
+#define BCE_MAX_SEGMENTS 35
+#define BCE_TSO_MAX_SIZE (65535 + sizeof(struct ether_vlan_header))
#define BCE_TSO_MAX_SEG_SIZE 4096
#define BCE_DMA_ALIGN 8
diff --git a/sys/dev/bge/if_bgereg.h b/sys/dev/bge/if_bgereg.h
index 8f4d965..37b0459 100644
--- a/sys/dev/bge/if_bgereg.h
+++ b/sys/dev/bge/if_bgereg.h
@@ -2852,7 +2852,7 @@ struct bge_gib {
*/
#define BGE_NSEG_JUMBO 4
-#define BGE_NSEG_NEW 32
+#define BGE_NSEG_NEW 35
#define BGE_TSOSEG_SZ 4096
/* Maximum DMA address for controllers that have 40bit DMA address bug. */
diff --git a/sys/dev/fxp/if_fxpreg.h b/sys/dev/fxp/if_fxpreg.h
index cc764b5..7fd60af 100644
--- a/sys/dev/fxp/if_fxpreg.h
+++ b/sys/dev/fxp/if_fxpreg.h
@@ -250,7 +250,7 @@ struct fxp_cb_ucode {
/*
* Number of DMA segments in a TxCB.
*/
-#define FXP_NTXSEG 32
+#define FXP_NTXSEG 35
struct fxp_tbd {
uint32_t tb_addr;
diff --git a/sys/dev/jme/if_jmevar.h b/sys/dev/jme/if_jmevar.h
index eb4eddc..1a1e81c 100644
--- a/sys/dev/jme/if_jmevar.h
+++ b/sys/dev/jme/if_jmevar.h
@@ -49,7 +49,7 @@
#define JME_RX_RING_ALIGN 16
#define JME_TSO_MAXSEGSIZE 4096
#define JME_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
-#define JME_MAXTXSEGS 32
+#define JME_MAXTXSEGS 35
#define JME_RX_BUF_ALIGN sizeof(uint64_t)
#define JME_SSB_ALIGN 16
diff --git a/sys/dev/msk/if_mskreg.h b/sys/dev/msk/if_mskreg.h
index 41a6eb7..9c55192 100644
--- a/sys/dev/msk/if_mskreg.h
+++ b/sys/dev/msk/if_mskreg.h
@@ -2338,7 +2338,7 @@ struct msk_stat_desc {
#endif
#define MSK_RX_BUF_ALIGN 8
#define MSK_JUMBO_RX_RING_CNT MSK_RX_RING_CNT
-#define MSK_MAXTXSEGS 32
+#define MSK_MAXTXSEGS 35
#define MSK_TSO_MAXSGSIZE 4096
#define MSK_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
diff --git a/sys/dev/nfe/if_nfereg.h b/sys/dev/nfe/if_nfereg.h
index 59c88c7..748c25b 100644
--- a/sys/dev/nfe/if_nfereg.h
+++ b/sys/dev/nfe/if_nfereg.h
@@ -40,7 +40,7 @@
(NFE_JUMBO_FRAMELEN - NFE_RX_HEADERS)
#define NFE_MIN_FRAMELEN (ETHER_MIN_LEN - ETHER_CRC_LEN)
-#define NFE_MAX_SCATTER 32
+#define NFE_MAX_SCATTER 35
#define NFE_TSO_MAXSGSIZE 4096
#define NFE_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
diff --git a/sys/dev/sge/if_sgereg.h b/sys/dev/sge/if_sgereg.h
index 81b1568..a72d1a5 100644
--- a/sys/dev/sge/if_sgereg.h
+++ b/sys/dev/sge/if_sgereg.h
@@ -284,7 +284,7 @@ struct sge_desc {
#define SGE_RX_RING_CNT 256 /* [8, 1024] */
#define SGE_TX_RING_CNT 256 /* [8, 8192] */
#define SGE_DESC_ALIGN 16
-#define SGE_MAXTXSEGS 32
+#define SGE_MAXTXSEGS 35
#define SGE_TSO_MAXSIZE (65535 + sizeof(struct ether_vlan_header))
#define SGE_TSO_MAXSEGSIZE 4096
#define SGE_RX_BUF_ALIGN sizeof(uint64_t)
diff --git a/sys/pci/if_rlreg.h b/sys/pci/if_rlreg.h
index 9edaf5b..b0de60f 100644
--- a/sys/pci/if_rlreg.h
+++ b/sys/pci/if_rlreg.h
@@ -776,7 +776,7 @@ struct rl_stats {
#define RL_TX_DESC_CNT RL_8169_TX_DESC_CNT
#define RL_RX_DESC_CNT RL_8169_RX_DESC_CNT
#define RL_RX_JUMBO_DESC_CNT RL_RX_DESC_CNT
-#define RL_NTXSEGS 32
+#define RL_NTXSEGS 35
#define RL_RING_ALIGN 256
#define RL_DUMP_ALIGN 64
OpenPOWER on IntegriCloud