svn commit: r325982 - head/sys/arm/allwinner

Emmanuel Vadot manu at FreeBSD.org
Sat Nov 18 20:59:22 UTC 2017


Author: manu
Date: Sat Nov 18 20:59:20 2017
New Revision: 325982
URL: https://svnweb.freebsd.org/changeset/base/325982

Log:
  if_awg: don't process transmitted packets on TX_BUF_UA_INT, only on TX_INT
  
  TX_BUF_UA_INT is set when there are no buffers to transmit and can
  happen before hw.awg.tx_interval segments have been transmitted.
  
  To reduce load, tx cleanup should be done in hw.awg.tx_interval intervals.
  
  Submitted by:	Guy Yur <guyyur at gmail.com>
  Differential Revision:	https://reviews.freebsd.org/D13034

Modified:
  head/sys/arm/allwinner/if_awg.c

Modified: head/sys/arm/allwinner/if_awg.c
==============================================================================
--- head/sys/arm/allwinner/if_awg.c	Sat Nov 18 20:55:37 2017	(r325981)
+++ head/sys/arm/allwinner/if_awg.c	Sat Nov 18 20:59:20 2017	(r325982)
@@ -963,8 +963,10 @@ awg_intr(void *arg)
 	if (val & RX_INT)
 		awg_rxintr(sc);
 
-	if (val & (TX_INT|TX_BUF_UA_INT)) {
+	if (val & TX_INT)
 		awg_txintr(sc);
+
+	if (val & (TX_INT | TX_BUF_UA_INT)) {
 		if (!if_sendq_empty(sc->ifp))
 			awg_start_locked(sc);
 	}


More information about the svn-src-head mailing list