Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/mips/sibyte/dev Call sbmac_start() at the end of th...
details: https://anonhg.NetBSD.org/src/rev/a89c884a7a71
branches: trunk
changeset: 559299:a89c884a7a71
user: simonb <simonb%NetBSD.org@localhost>
date: Sun Mar 14 10:55:45 2004 +0000
description:
Call sbmac_start() at the end of the interrupt service function to try
to send more packets. Fixes problems with high UDP Tx rates.
Thanks to Matt Thomas for applying clue.
diffstat:
sys/arch/mips/sibyte/dev/sbmac.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
diffs (36 lines):
diff -r e9afa2ca0021 -r a89c884a7a71 sys/arch/mips/sibyte/dev/sbmac.c
--- a/sys/arch/mips/sibyte/dev/sbmac.c Sun Mar 14 10:36:09 2004 +0000
+++ b/sys/arch/mips/sibyte/dev/sbmac.c Sun Mar 14 10:55:45 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sbmac.c,v 1.13 2004/03/08 11:28:48 simonb Exp $ */
+/* $NetBSD: sbmac.c,v 1.14 2004/03/14 10:55:45 simonb Exp $ */
/*
* Copyright 2000, 2001
@@ -33,7 +33,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sbmac.c,v 1.13 2004/03/08 11:28:48 simonb Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sbmac.c,v 1.14 2004/03/14 10:55:45 simonb Exp $");
#include "bpfilter.h"
#include "opt_inet.h"
@@ -1688,6 +1688,7 @@
sbmac_intr(void *xsc, uint32_t status, uint32_t pc)
{
struct sbmac_softc *sc = (struct sbmac_softc *) xsc;
+ struct ifnet *ifp = &sc->sc_ethercom.ec_if;
uint64_t isr;
for (;;) {
@@ -1715,6 +1716,9 @@
if (isr & (M_MAC_INT_CHANNEL << S_MAC_RX_CH0))
sbdma_rx_process(sc, &(sc->sbm_rxdma));
}
+
+ /* try to get more packets going */
+ sbmac_start(ifp);
}
Home |
Main Index |
Thread Index |
Old Index