Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/e1000/if_em.c
Show First 20 Lines • Show All 360 Lines • ▼ Show 20 Lines | |||||
/* Allow common code without TSO */ | /* Allow common code without TSO */ | ||||
#ifndef CSUM_TSO | #ifndef CSUM_TSO | ||||
#define CSUM_TSO 0 | #define CSUM_TSO 0 | ||||
#endif | #endif | ||||
static SYSCTL_NODE(_hw, OID_AUTO, em, CTLFLAG_RD, 0, "EM driver parameters"); | static SYSCTL_NODE(_hw, OID_AUTO, em, CTLFLAG_RD, 0, "EM driver parameters"); | ||||
static int em_disable_crc_stripping = 0; | |||||
SYSCTL_INT(_hw_em, OID_AUTO, disable_crc_stripping, CTLFLAG_RDTUN, | |||||
&em_disable_crc_stripping, 0, "Disable CRC Stripping"); | |||||
static int em_tx_int_delay_dflt = EM_TICKS_TO_USECS(EM_TIDV); | static int em_tx_int_delay_dflt = EM_TICKS_TO_USECS(EM_TIDV); | ||||
static int em_rx_int_delay_dflt = EM_TICKS_TO_USECS(EM_RDTR); | static int em_rx_int_delay_dflt = EM_TICKS_TO_USECS(EM_RDTR); | ||||
SYSCTL_INT(_hw_em, OID_AUTO, tx_int_delay, CTLFLAG_RDTUN, &em_tx_int_delay_dflt, | SYSCTL_INT(_hw_em, OID_AUTO, tx_int_delay, CTLFLAG_RDTUN, &em_tx_int_delay_dflt, | ||||
0, "Default transmit interrupt delay in usecs"); | 0, "Default transmit interrupt delay in usecs"); | ||||
SYSCTL_INT(_hw_em, OID_AUTO, rx_int_delay, CTLFLAG_RDTUN, &em_rx_int_delay_dflt, | SYSCTL_INT(_hw_em, OID_AUTO, rx_int_delay, CTLFLAG_RDTUN, &em_rx_int_delay_dflt, | ||||
0, "Default receive interrupt delay in usecs"); | 0, "Default receive interrupt delay in usecs"); | ||||
static int em_tx_abs_int_delay_dflt = EM_TICKS_TO_USECS(EM_TADV); | static int em_tx_abs_int_delay_dflt = EM_TICKS_TO_USECS(EM_TADV); | ||||
▲ Show 20 Lines • Show All 4,132 Lines • ▼ Show 20 Lines | #endif /* DEV_NETMAP */ | ||||
/* Setup the Receive Control Register */ | /* Setup the Receive Control Register */ | ||||
rctl &= ~(3 << E1000_RCTL_MO_SHIFT); | rctl &= ~(3 << E1000_RCTL_MO_SHIFT); | ||||
rctl |= E1000_RCTL_EN | E1000_RCTL_BAM | | rctl |= E1000_RCTL_EN | E1000_RCTL_BAM | | ||||
E1000_RCTL_LBM_NO | E1000_RCTL_RDMTS_HALF | | E1000_RCTL_LBM_NO | E1000_RCTL_RDMTS_HALF | | ||||
(hw->mac.mc_filter_type << E1000_RCTL_MO_SHIFT); | (hw->mac.mc_filter_type << E1000_RCTL_MO_SHIFT); | ||||
/* Strip the CRC */ | /* Strip the CRC */ | ||||
if (!em_disable_crc_stripping) | |||||
rctl |= E1000_RCTL_SECRC; | rctl |= E1000_RCTL_SECRC; | ||||
/* Make sure VLAN Filters are off */ | /* Make sure VLAN Filters are off */ | ||||
rctl &= ~E1000_RCTL_VFE; | rctl &= ~E1000_RCTL_VFE; | ||||
rctl &= ~E1000_RCTL_SBP; | rctl &= ~E1000_RCTL_SBP; | ||||
if (adapter->rx_mbuf_sz == MCLBYTES) | if (adapter->rx_mbuf_sz == MCLBYTES) | ||||
rctl |= E1000_RCTL_SZ_2048; | rctl |= E1000_RCTL_SZ_2048; | ||||
else if (adapter->rx_mbuf_sz == MJUMPAGESIZE) | else if (adapter->rx_mbuf_sz == MJUMPAGESIZE) | ||||
▲ Show 20 Lines • Show All 1,494 Lines • Show Last 20 Lines |