From 39acdb23e5d1675a8dce46afd53f3121e516ff3c Mon Sep 17 00:00:00 2001 From: Sepherosa Ziehau Date: Thu, 16 Oct 2008 12:46:40 +0000 Subject: [PATCH] According to wpaul's comment, 8139C+ only support 64 TX/RX descriptors --- sys/dev/netif/re/if_re.c | 19 ++++++++++++------- sys/dev/netif/re/if_revar.h | 5 ++++- 2 files changed, 16 insertions(+), 8 deletions(-) diff --git a/sys/dev/netif/re/if_re.c b/sys/dev/netif/re/if_re.c index b47e6a4638..1c889a6daf 100644 --- a/sys/dev/netif/re/if_re.c +++ b/sys/dev/netif/re/if_re.c @@ -33,7 +33,7 @@ * THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/dev/re/if_re.c,v 1.25 2004/06/09 14:34:01 naddy Exp $ - * $DragonFly: src/sys/dev/netif/re/if_re.c,v 1.83 2008/10/16 12:29:13 sephe Exp $ + * $DragonFly: src/sys/dev/netif/re/if_re.c,v 1.84 2008/10/16 12:46:40 sephe Exp $ */ /* @@ -1312,13 +1312,18 @@ re_attach(device_t dev) sc->re_dev = dev; #endif - sc->re_rx_desc_cnt = re_rx_desc_count; - if (sc->re_rx_desc_cnt > RE_RX_DESC_CNT_MAX) - sc->re_rx_desc_cnt = RE_RX_DESC_CNT_MAX; + if (RE_IS_8139CP(sc)) { + sc->re_rx_desc_cnt = RE_RX_DESC_CNT_8139CP; + sc->re_tx_desc_cnt = RE_TX_DESC_CNT_8139CP; + } else { + sc->re_rx_desc_cnt = re_rx_desc_count; + if (sc->re_rx_desc_cnt > RE_RX_DESC_CNT_MAX) + sc->re_rx_desc_cnt = RE_RX_DESC_CNT_MAX; - sc->re_tx_desc_cnt = re_tx_desc_count; - if (sc->re_tx_desc_cnt > RE_TX_DESC_CNT_MAX) - sc->re_tx_desc_cnt = RE_TX_DESC_CNT_MAX; + sc->re_tx_desc_cnt = re_tx_desc_count; + if (sc->re_tx_desc_cnt > RE_TX_DESC_CNT_MAX) + sc->re_tx_desc_cnt = RE_TX_DESC_CNT_MAX; + } qlen = RE_IFQ_MAXLEN; if (sc->re_tx_desc_cnt > qlen) diff --git a/sys/dev/netif/re/if_revar.h b/sys/dev/netif/re/if_revar.h index c6568945c1..e03ca7e94a 100644 --- a/sys/dev/netif/re/if_revar.h +++ b/sys/dev/netif/re/if_revar.h @@ -33,9 +33,12 @@ * THE POSSIBILITY OF SUCH DAMAGE. * * $FreeBSD: src/sys/pci/if_rlreg.h,v 1.42 2004/05/24 19:39:23 jhb Exp $ - * $DragonFly: src/sys/dev/netif/re/if_revar.h,v 1.25 2008/10/16 12:29:13 sephe Exp $ + * $DragonFly: src/sys/dev/netif/re/if_revar.h,v 1.26 2008/10/16 12:46:40 sephe Exp $ */ +#define RE_RX_DESC_CNT_8139CP 64 +#define RE_TX_DESC_CNT_8139CP 64 + #define RE_RX_DESC_CNT_DEF 256 #define RE_TX_DESC_CNT_DEF 256 #define RE_RX_DESC_CNT_MAX 1024 -- 2.41.0