svn commit: r225373 -
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416
Adrian Chadd
adrian at FreeBSD.org
Sun Sep 4 14:09:59 UTC 2011
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
More information about the svn-src-user
mailing list