HAL updates!
* Add some more ANI spur immunity levels. * For AR5111 radios attached to an AR5212, limit the 5GHz channels that are available. A later revision of the AR5111 supports the 4.9GHz PSB channels but right now there's no check in place for the radio revision. If someone wants PSB support on AR5212+AR5111 radios then please let me know and I'll add the relevant version check. Obtained from: Qualcomm Atheros
This commit is contained in:
parent
3631c3f200
commit
adadb6074d
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=242408
@ -786,7 +786,29 @@ ar5212FillCapabilityInfo(struct ath_hal *ah)
|
||||
else
|
||||
pCap->halHigh2GhzChan = 2732;
|
||||
|
||||
pCap->halLow5GhzChan = 4915;
|
||||
/*
|
||||
* For AR5111 version < 4, the lowest centre frequency supported is
|
||||
* 5130MHz. For AR5111 version 4, the 4.9GHz channels are supported
|
||||
* but only in 10MHz increments.
|
||||
*
|
||||
* In addition, the programming method is wrong - it uses the IEEE
|
||||
* channel number to calculate the frequency, rather than the
|
||||
* channel centre. Since half/quarter rates re-use some of the
|
||||
* 5GHz channel IEEE numbers, this will result in a badly programmed
|
||||
* synth.
|
||||
*
|
||||
* Until the relevant support is written, just limit lower frequency
|
||||
* support for AR5111 so things aren't incorrectly programmed.
|
||||
*
|
||||
* XXX It's also possible this code doesn't correctly limit the
|
||||
* centre frequencies of potential channels; this is very important
|
||||
* for half/quarter rate!
|
||||
*/
|
||||
if (AH_RADIO_MAJOR(ah) == AR_RAD5111_SREV_MAJOR) {
|
||||
pCap->halLow5GhzChan = 5120; /* XXX lowest centre = 5130MHz */
|
||||
} else {
|
||||
pCap->halLow5GhzChan = 4915;
|
||||
}
|
||||
pCap->halHigh5GhzChan = 6100;
|
||||
|
||||
pCap->halCipherCkipSupport = AH_FALSE;
|
||||
|
@ -47,8 +47,8 @@ ar5416AniSetup(struct ath_hal *ah)
|
||||
.coarseHigh = { -14, -14, -14, -14, -12 },
|
||||
.coarseLow = { -64, -64, -64, -64, -70 },
|
||||
.firpwr = { -78, -78, -78, -78, -80 },
|
||||
.maxSpurImmunityLevel = 2,
|
||||
.cycPwrThr1 = { 2, 4, 6 },
|
||||
.maxSpurImmunityLevel = 7,
|
||||
.cycPwrThr1 = { 2, 4, 6, 8, 10, 12, 14, 16 },
|
||||
.maxFirstepLevel = 2, /* levels 0..2 */
|
||||
.firstep = { 0, 4, 8 },
|
||||
.ofdmTrigHigh = 500,
|
||||
@ -61,7 +61,6 @@ ar5416AniSetup(struct ath_hal *ah)
|
||||
};
|
||||
/* NB: disable ANI noise immmunity for reliable RIFS rx */
|
||||
AH5416(ah)->ah_ani_function &= ~(1 << HAL_ANI_NOISE_IMMUNITY_LEVEL);
|
||||
ar5416AniAttach(ah, &aniparams, &aniparams, AH_TRUE);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -82,8 +82,8 @@ ar9280AniSetup(struct ath_hal *ah)
|
||||
.coarseHigh = { -14, -14, -14, -14, -12 },
|
||||
.coarseLow = { -64, -64, -64, -64, -70 },
|
||||
.firpwr = { -78, -78, -78, -78, -80 },
|
||||
.maxSpurImmunityLevel = 2,
|
||||
.cycPwrThr1 = { 2, 4, 6 },
|
||||
.maxSpurImmunityLevel = 7,
|
||||
.cycPwrThr1 = { 2, 4, 6, 8, 10, 12, 14, 16 },
|
||||
.maxFirstepLevel = 2, /* levels 0..2 */
|
||||
.firstep = { 0, 4, 8 },
|
||||
.ofdmTrigHigh = 500,
|
||||
|
@ -87,8 +87,8 @@ ar9285AniSetup(struct ath_hal *ah)
|
||||
.coarseHigh = { -14, -14, -14, -14, -12 },
|
||||
.coarseLow = { -64, -64, -64, -64, -70 },
|
||||
.firpwr = { -78, -78, -78, -78, -80 },
|
||||
.maxSpurImmunityLevel = 2,
|
||||
.cycPwrThr1 = { 2, 4, 6 },
|
||||
.maxSpurImmunityLevel = 7,
|
||||
.cycPwrThr1 = { 2, 4, 6, 8, 10, 12, 14, 16 },
|
||||
.maxFirstepLevel = 2, /* levels 0..2 */
|
||||
.firstep = { 0, 4, 8 },
|
||||
.ofdmTrigHigh = 500,
|
||||
|
@ -86,8 +86,8 @@ ar9287AniSetup(struct ath_hal *ah)
|
||||
.coarseHigh = { -14, -14, -14, -14, -12 },
|
||||
.coarseLow = { -64, -64, -64, -64, -70 },
|
||||
.firpwr = { -78, -78, -78, -78, -80 },
|
||||
.maxSpurImmunityLevel = 2,
|
||||
.cycPwrThr1 = { 2, 4, 6 },
|
||||
.maxSpurImmunityLevel = 7,
|
||||
.cycPwrThr1 = { 2, 4, 6, 8, 10, 12, 14, 16 },
|
||||
.maxFirstepLevel = 2, /* levels 0..2 */
|
||||
.firstep = { 0, 4, 8 },
|
||||
.ofdmTrigHigh = 500,
|
||||
|
Loading…
Reference in New Issue
Block a user