diff options
author | glebius <glebius@FreeBSD.org> | 2005-11-10 11:44:37 +0000 |
---|---|---|
committer | glebius <glebius@FreeBSD.org> | 2005-11-10 11:44:37 +0000 |
commit | 91564dc239bc801ca2a70a875784e5fcf61bf034 (patch) | |
tree | c13ef4103fa8065f4b010ee564a17c4187214ef7 /sys/dev | |
parent | dcccc2e254b65c0d294c8ab60f302ee656ad0e55 (diff) | |
download | FreeBSD-src-91564dc239bc801ca2a70a875784e5fcf61bf034.zip FreeBSD-src-91564dc239bc801ca2a70a875784e5fcf61bf034.tar.gz |
Give a try to autoconfiguring the number of transmit and receive
descriptors depending on chip revision.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/em/if_em.c | 9 | ||||
-rw-r--r-- | sys/dev/em/if_em.h | 12 |
2 files changed, 14 insertions, 7 deletions
diff --git a/sys/dev/em/if_em.c b/sys/dev/em/if_em.c index 3ff8b83..a995213 100644 --- a/sys/dev/em/if_em.c +++ b/sys/dev/em/if_em.c @@ -359,8 +359,13 @@ em_attach(device_t dev) } /* Parameters (to be read from user) */ - adapter->num_tx_desc = EM_MAX_TXD; - adapter->num_rx_desc = EM_MAX_RXD; + if (adapter->hw.mac_type >= em_82544) { + adapter->num_tx_desc = EM_TXD_82544; + adapter->num_rx_desc = EM_RXD_82544; + } else { + adapter->num_tx_desc = EM_TXD; + adapter->num_rx_desc = EM_RXD; + } adapter->hw.autoneg = DO_AUTO_NEG; adapter->hw.wait_autoneg_complete = WAIT_FOR_AUTO_NEG_DEFAULT; adapter->hw.autoneg_advertised = AUTONEG_ADV_DEFAULT; diff --git a/sys/dev/em/if_em.h b/sys/dev/em/if_em.h index 3c38d84..a418191 100644 --- a/sys/dev/em/if_em.h +++ b/sys/dev/em/if_em.h @@ -77,7 +77,7 @@ POSSIBILITY OF SUCH DAMAGE. /* Tunables */ /* - * EM_MAX_TXD: Maximum number of Transmit Descriptors + * EM_TXD: Maximum number of Transmit Descriptors * Valid Range: 80-256 for 82542 and 82543-based adapters * 80-4096 for others * Default Value: 256 @@ -85,10 +85,11 @@ POSSIBILITY OF SUCH DAMAGE. * Increasing this value allows the driver to queue more transmits. Each * descriptor is 16 bytes. */ -#define EM_MAX_TXD 256 +#define EM_TXD 256 +#define EM_TXD_82544 4096 /* - * EM_MAX_RXD - Maximum number of receive Descriptors + * EM_RXD - Maximum number of receive Descriptors * Valid Range: 80-256 for 82542 and 82543-based adapters * 80-4096 for others * Default Value: 256 @@ -98,7 +99,8 @@ POSSIBILITY OF SUCH DAMAGE. * descriptor. The maximum MTU size is 16110. * */ -#define EM_MAX_RXD 256 +#define EM_RXD 256 +#define EM_RXD_82544 4096 /* * EM_TIDV - Transmit Interrupt Delay Value @@ -173,7 +175,7 @@ POSSIBILITY OF SUCH DAMAGE. * This parameter controls when the driver calls the routine to reclaim * transmit descriptors. */ -#define EM_TX_CLEANUP_THRESHOLD EM_MAX_TXD / 8 +#define EM_TX_CLEANUP_THRESHOLD (adapter->num_tx_desc / 8) /* * This parameter controls whether or not autonegotation is enabled. |