Author: adrian
Date: Thu Feb 17 05:56:03 2011
New Revision: 218764
URL: http://svn.freebsd.org/changeset/base/218764

Log:
  Add in ANI parameters for the AR9280. These aren't enabled by default
  as they're likely not entirely correct, but they give people something
  to toy with to compare behaviour/performance.
  
  Disable the anti-noise part, as this apparently interferes with
  RIFS. I haven't verified this.

Modified:
  head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c

Modified: head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c     Thu Feb 17 05:52:53 
2011        (r218763)
+++ head/sys/dev/ath/ath_hal/ar9002/ar9280_attach.c     Thu Feb 17 05:56:03 
2011        (r218764)
@@ -68,8 +68,34 @@ static void ar9280WriteIni(struct ath_ha
 static void
 ar9280AniSetup(struct ath_hal *ah)
 {
-       /* NB: disable ANI for reliable RIFS rx */
-       ar5416AniAttach(ah, AH_NULL, AH_NULL, AH_FALSE);
+       /*
+        * These are the parameters from the AR5416 ANI code;
+        * they likely need quite a bit of adjustment for the
+        * AR9280.
+        */
+        static const struct ar5212AniParams aniparams = {
+                .maxNoiseImmunityLevel  = 4,    /* levels 0..4 */
+                .totalSizeDesired       = { -55, -55, -55, -55, -62 },
+                .coarseHigh             = { -14, -14, -14, -14, -12 },
+                .coarseLow              = { -64, -64, -64, -64, -70 },
+                .firpwr                 = { -78, -78, -78, -78, -80 },
+                .maxSpurImmunityLevel   = 2,
+                .cycPwrThr1             = { 2, 4, 6 },
+                .maxFirstepLevel        = 2,    /* levels 0..2 */
+                .firstep                = { 0, 4, 8 },
+                .ofdmTrigHigh           = 500,
+                .ofdmTrigLow            = 200,
+                .cckTrigHigh            = 200,
+                .cckTrigLow             = 100,
+                .rssiThrHigh            = 40,
+                .rssiThrLow             = 7,
+                .period                 = 100,
+        };
+       /* NB: disable ANI noise immmunity for reliable RIFS rx */
+       AH5416(ah)->ah_ani_function &= ~ HAL_ANI_NOISE_IMMUNITY_LEVEL;
+
+        /* NB: ANI is not enabled yet */
+        ar5416AniAttach(ah, &aniparams, &aniparams, AH_FALSE);
 }
 
 /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to