From owner-svn-src-user@FreeBSD.ORG  Sun Sep  4 14:09:59 2011
Return-Path: <owner-svn-src-user@FreeBSD.ORG>
Delivered-To: svn-src-user@freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34])
	by hub.freebsd.org (Postfix) with ESMTP id 675AD106564A;
	Sun,  4 Sep 2011 14:09:59 +0000 (UTC)
	(envelope-from adrian@FreeBSD.org)
Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c])
	by mx1.freebsd.org (Postfix) with ESMTP id 570A28FC12;
	Sun,  4 Sep 2011 14:09:59 +0000 (UTC)
Received: from svn.freebsd.org (localhost [127.0.0.1])
	by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p84E9xkS094335;
	Sun, 4 Sep 2011 14:09:59 GMT (envelope-from adrian@svn.freebsd.org)
Received: (from adrian@localhost)
	by svn.freebsd.org (8.14.4/8.14.4/Submit) id p84E9xnL094333;
	Sun, 4 Sep 2011 14:09:59 GMT (envelope-from adrian@svn.freebsd.org)
Message-Id: <201109041409.p84E9xnL094333@svn.freebsd.org>
From: Adrian Chadd <adrian@FreeBSD.org>
Date: Sun, 4 Sep 2011 14:09:59 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Cc: 
Subject: svn commit: r225373 -
	user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
	src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user>
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <http://lists.freebsd.org/mailman/listinfo/svn-src-user>,
	<mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Sun, 04 Sep 2011 14:09:59 -0000

Author: adrian
Date: Sun Sep  4 14:09:59 2011
New Revision: 225373
URL: http://svn.freebsd.org/changeset/base/225373

Log:
  When RX'ing a high throughput UDP stream, NF calibration loads will almost
  always fail. For now, just drop the number of times we try the NF load
  to a low value. I'll have to investigate splitting the longcal into two
  halves and pushing the NF threshold cap (ie loading in -50 dBm) code into
  something which occurs in a second phase, rather than doing this tight loop.

Modified:
  user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c

Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c	Sun Sep  4 13:07:02 2011	(r225372)
+++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c	Sun Sep  4 14:09:59 2011	(r225373)
@@ -642,7 +642,15 @@ ar5416LoadNF(struct ath_hal *ah, const s
 	OS_REG_SET_BIT(ah, AR_PHY_AGC_CONTROL, AR_PHY_AGC_CONTROL_NF);
 
 	/* Wait for load to complete, should be fast, a few 10s of us. */
-	if (! ar5212WaitNFCalComplete(ah, 1000)) {
+	/*
+	 * XXX For now, don't be so aggressive in waiting for the NF
+	 * XXX load to complete. A very busy 11n RX load will cause this
+	 * XXX to always fail; so just leave it.
+	 * XXX Later on we may wish to split longcal into two parts - one to do
+	 * XXX the initial longcal, and one to load in an updated NF value
+	 * XXX once it's finished - say, by checking it every 500ms.
+	 */
+	if (! ar5212WaitNFCalComplete(ah, 5)) {
 		/*
 		 * We timed out waiting for the noisefloor to load, probably due to an
 		 * in-progress rx. Simply return here and allow the load plenty of time