c0c76118d8
generally tidy up the TX power programming code. Enforce that the TX power offset for Merlin is -5 dBm, rather than any other value programmable in the EEPROM. This requires some further code to be ported over from ath9k, so until that is done and tested, fail to attach NICs whose TX power offset isn't -5 dBm. This improves both legacy and HT transmission on my merlin board. It allows for stable MCS TX up to MCS15. Specifics: * Refactor out a bunch of the TX power calibration code - setting/obtaining the power detector / gain boundaries, programming the PDADC * Take the -5 dBm TX power offset into account on Merlin - "0" in the per-rate TX power register means -5 dBm, not 0 dBm * When doing OLC * Enforce min (0) and max (AR5416_MAX_RATE_POWER) when fiddling with the TX power, to avoid the TX power values from wrapping when low. * Implement the 1 dBm cck power offset when doing OLC * Implement temperature compensation for 2.4ghz mode when doing OLC * Implement an AR9280 specific TX power calibration routine which includes the OLC twiddles, leaving the earlier chipset path (AR5416, AR9160) alone Whilst here, use these refactored routines for the AR9285 TX power calibration/programming code and enforce correct overflow/underflow handling when fiddling with TX power values. Obtained from: linux ath9k |
||
---|---|---|
.. | ||
ar5210 | ||
ar5211 | ||
ar5212 | ||
ar5312 | ||
ar5416 | ||
ar9001 | ||
ar9002 | ||
ah_debug.h | ||
ah_decode.h | ||
ah_desc.h | ||
ah_devid.h | ||
ah_diagcodes.h | ||
ah_eeprom_v1.c | ||
ah_eeprom_v1.h | ||
ah_eeprom_v3.c | ||
ah_eeprom_v3.h | ||
ah_eeprom_v4k.c | ||
ah_eeprom_v4k.h | ||
ah_eeprom_v14.c | ||
ah_eeprom_v14.h | ||
ah_eeprom.h | ||
ah_internal.h | ||
ah_regdomain.c | ||
ah_soc.h | ||
ah.c | ||
ah.h |