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:
parent
40995998c5
commit
8ce3678a09
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=83678
@ -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;
|
||||
|
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user