From e11a32487cd685fb304e41fce511f1bc61642471 Mon Sep 17 00:00:00 2001 From: wpaul Date: Wed, 19 Sep 2001 21:39:26 +0000 Subject: [PATCH] Handle the RX FIFO overflow condition with the rxeof handler instead of the rxeoc handler for now. The rxeoc handler will reset the link, and the NatSemi chip's RX FIFO will overflow on a 32-bit bus once you start hitting it with 500Mbps or more of traffic. Also increase the size of the RX ring to 128 descriptors (was 64). --- sys/dev/nge/if_nge.c | 5 +++-- sys/dev/nge/if_ngereg.h | 2 +- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/sys/dev/nge/if_nge.c b/sys/dev/nge/if_nge.c index be42d04d98b..99ff20c9525 100644 --- a/sys/dev/nge/if_nge.c +++ b/sys/dev/nge/if_nge.c @@ -1495,12 +1495,13 @@ static void nge_intr(arg) if ((status & NGE_ISR_RX_DESC_OK) || (status & NGE_ISR_RX_ERR) || + (status & NGE_ISR_RX_OFLOW) || (status & NGE_ISR_RX_OK)) nge_rxeof(sc); - +#ifdef notdef if ((status & NGE_ISR_RX_OFLOW)) nge_rxeoc(sc); - +#endif if (status & NGE_ISR_SYSERR) { nge_reset(sc); ifp->if_flags &= ~IFF_RUNNING; diff --git a/sys/dev/nge/if_ngereg.h b/sys/dev/nge/if_ngereg.h index 575ae2febf1..f10590e2c88 100644 --- a/sys/dev/nge/if_ngereg.h +++ b/sys/dev/nge/if_ngereg.h @@ -562,7 +562,7 @@ struct nge_desc_32 { #define NGE_RXEXTSTS_UDPPKT 0x00200000 #define NGE_RXEXTSTS_UDPCSUMERR 0x00400000 -#define NGE_RX_LIST_CNT 64 +#define NGE_RX_LIST_CNT 128 #define NGE_TX_LIST_CNT 128 struct nge_list_data { -- 2.45.2