svn commit: r218764 - head/sys/dev/ath/ath_hal/ar9002
Adrian Chadd
adrian at FreeBSD.org
Thu Feb 17 05:56:03 UTC 2011
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);
}
/*
More information about the svn-src-all
mailing list