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;
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to