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).
This commit is contained in:
Bill Paul 2001-09-19 21:39:26 +00:00
parent 40995998c5
commit 8ce3678a09
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=83678
2 changed files with 4 additions and 3 deletions

View File

@ -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;

View File

@ -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 {