svn commit: r224510 - head/sys/dev/ath/ath_hal/ar5416
Adrian Chadd
adrian at FreeBSD.org
Sat Jul 30 13:21:34 UTC 2011
Author: adrian
Date: Sat Jul 30 13:21:33 2011
New Revision: 224510
URL: http://svn.freebsd.org/changeset/base/224510
Log:
I noticed that the Merlin NICs I had (AR9220, AR9280) never completed
the ADC calibrations if the NIC is in 5ghz 11a or 5ghz HT/20 modes.
I've been told that the dual-ADC is only engaged in turbo/40mhz modes.
Since Sowl (AR9160) seems to return valid-looking calibration data
in 5ghz 20MHz modes, I'm only disabling it for Merlin for now.
It may turn out I can disable it for all chipsets and only enable
it for 40MHz modes.
Approved by: re (kib)
Modified:
head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c Sat Jul 30 13:18:48 2011 (r224509)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_cal.c Sat Jul 30 13:21:33 2011 (r224510)
@@ -73,8 +73,15 @@ ar5416IsCalSupp(struct ath_hal *ah, cons
case ADC_GAIN_CAL:
case ADC_DC_CAL:
/* Run ADC Gain Cal for either 5ghz any or 2ghz HT40 */
- if (IEEE80211_IS_CHAN_5GHZ(chan))
- return AH_TRUE;
+ /*
+ * Merlin (AR9280) doesn't ever complete ADC calibrations
+ * in 5ghz non-HT40 mode (ie, HT20, 11a). For now, disable
+ * it for Merlin only until further information is
+ * available.
+ */
+ if (! AR_SREV_MERLIN(ah))
+ if (IEEE80211_IS_CHAN_5GHZ(chan))
+ return AH_TRUE;
if (IEEE80211_IS_CHAN_HT40(chan))
return AH_TRUE;
return AH_FALSE;
More information about the svn-src-head
mailing list