diff options
author | Pyun YongHyeon <yongari@FreeBSD.org> | 2014-03-31 01:54:59 +0000 |
---|---|---|
committer | Pyun YongHyeon <yongari@FreeBSD.org> | 2014-03-31 01:54:59 +0000 |
commit | 52ee8ac0274e8d4f75a146944803b2cdaad092bb (patch) | |
tree | 74de747b83372a8f57da81c4b04485edfa799ecc | |
parent | 8a27a339b6563b3b83347a427c75b08261d5e85f (diff) | |
download | src-52ee8ac0274e8d4f75a146944803b2cdaad092bb.tar.gz src-52ee8ac0274e8d4f75a146944803b2cdaad092bb.zip |
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
Notes
Notes:
svn path=/head/; revision=263957
-rw-r--r-- | sys/dev/age/if_agevar.h | 2 | ||||
-rw-r--r-- | sys/dev/alc/if_alcvar.h | 2 | ||||
-rw-r--r-- | sys/dev/ale/if_alevar.h | 2 | ||||
-rw-r--r-- | sys/dev/bce/if_bcereg.h | 4 | ||||
-rw-r--r-- | sys/dev/bge/if_bgereg.h | 2 | ||||
-rw-r--r-- | sys/dev/fxp/if_fxpreg.h | 2 | ||||
-rw-r--r-- | sys/dev/jme/if_jmevar.h | 2 | ||||
-rw-r--r-- | sys/dev/msk/if_mskreg.h | 2 | ||||
-rw-r--r-- | sys/dev/nfe/if_nfereg.h | 2 | ||||
-rw-r--r-- | sys/dev/sge/if_sgereg.h | 2 | ||||
-rw-r--r-- | sys/pci/if_rlreg.h | 2 |
11 files changed, 12 insertions, 12 deletions
diff --git a/sys/dev/age/if_agevar.h b/sys/dev/age/if_agevar.h index 6ee5423fc8e2..14792726ca1a 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 b7c9d3849927..f2d806f9bfe6 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 abf2d2e39a7c..8995c693f8b0 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 5b76f8c40d97..88c40a5f8218 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 8f4d96542600..37b04594ad01 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 cc764b54b2dc..7fd60afd170c 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 eb4eddc80301..1a1e81cc637d 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 41a6eb7c36d3..9c551920eab8 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 59c88c7d8a47..748c25b76093 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 81b15686d623..a72d1a5a5646 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 9edaf5bf6068..b0de60f49807 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 |