From 935fe0101434c0f728336b966f37a3aa55a16a77 Mon Sep 17 00:00:00 2001 From: Luigi Rizzo Date: Sat, 27 Oct 2001 00:59:17 +0000 Subject: Enable round-robin arbitration between transmit and receive unit in the 21143, instead of giving priority to the receive unit. This gives a 10-15% performance improvement in the forwarding rate under heavy load. Reviewed-by: Bill Paul --- sys/dev/dc/if_dc.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'sys/dev/dc') diff --git a/sys/dev/dc/if_dc.c b/sys/dev/dc/if_dc.c index 0d227293dfaee..d8874649fed36 100644 --- a/sys/dev/dc/if_dc.c +++ b/sys/dev/dc/if_dc.c @@ -3057,6 +3057,11 @@ static void dc_init(xsc) CSR_WRITE_4(sc, DC_BUSCTL, 0); else CSR_WRITE_4(sc, DC_BUSCTL, DC_BUSCTL_MRME|DC_BUSCTL_MRLE); + /* + * Evenly share the bus between receive and transmit process. + */ + if (DC_IS_INTEL(sc)) + DC_SETBIT(sc, DC_BUSCTL, DC_BUSCTL_ARBITRATION); if (DC_IS_DAVICOM(sc) || DC_IS_INTEL(sc)) { DC_SETBIT(sc, DC_BUSCTL, DC_BURSTLEN_USECA); } else { -- cgit v1.3