svn commit: r213255 - head/sys/dev/bge
Pyun YongHyeon
yongari at FreeBSD.org
Wed Sep 29 00:00:45 UTC 2010
Author: yongari
Date: Wed Sep 29 00:00:45 2010
New Revision: 213255
URL: http://svn.freebsd.org/changeset/base/213255
Log:
Set the number of RX frames to receive after RX MBUF low watermark
has reached. This reduced number of dropped frames when
flow-control is enabled. Previously it dropped incoming frames once
RX MBUF low watermark has reached. The value used in MAC RX MBUF
low watermark is greater than or equal to 4 so receiving two more
RX frames should not be a problem.
Obtained from: OpenBSD
Modified:
head/sys/dev/bge/if_bge.c
head/sys/dev/bge/if_bgereg.h
Modified: head/sys/dev/bge/if_bge.c
==============================================================================
--- head/sys/dev/bge/if_bge.c Tue Sep 28 23:23:23 2010 (r213254)
+++ head/sys/dev/bge/if_bge.c Wed Sep 29 00:00:45 2010 (r213255)
@@ -4220,6 +4220,14 @@ bge_init_locked(struct bge_softc *sc)
/* Turn on receiver. */
BGE_SETBIT(sc, BGE_RX_MODE, BGE_RXMODE_ENABLE);
+ /*
+ * Set the number of good frames to receive after RX MBUF
+ * Low Watermark has been reached. After the RX MAC receives
+ * this number of frames, it will drop subsequent incoming
+ * frames until the MBUF High Watermark is reached.
+ */
+ CSR_WRITE_4(sc, BGE_MAX_RX_FRAME_LOWAT, 2);
+
/* Tell firmware we're alive. */
BGE_SETBIT(sc, BGE_MODE_CTL, BGE_MODECTL_STACKUP);
Modified: head/sys/dev/bge/if_bgereg.h
==============================================================================
--- head/sys/dev/bge/if_bgereg.h Tue Sep 28 23:23:23 2010 (r213254)
+++ head/sys/dev/bge/if_bgereg.h Wed Sep 29 00:00:45 2010 (r213255)
@@ -632,6 +632,7 @@
#define BGE_RX_BD_RULES_CTL15 0x04F8
#define BGE_RX_BD_RULES_MASKVAL15 0x04FC
#define BGE_RX_RULES_CFG 0x0500
+#define BGE_MAX_RX_FRAME_LOWAT 0x0504
#define BGE_SERDES_CFG 0x0590
#define BGE_SERDES_STS 0x0594
#define BGE_SGDIG_CFG 0x05B0
More information about the svn-src-all
mailing list