Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 18 Nov 2017 20:59:21 +0000 (UTC)
From:      Emmanuel Vadot <manu@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r325982 - head/sys/arm/allwinner
Message-ID:  <201711182059.vAIKxLOe026899@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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@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);
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201711182059.vAIKxLOe026899>