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
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to