Add an EEPROM op that extracts out the power table offset.

It defaults to -5 dBm for eeproms earlier than v21.

This apparently only applies to Merlin (AR9280) or later,
earlier 11n chipsets have a power table offset of 0.
All the code in ath9k which checks the power table offset
and takes it into account first ensures the chip is
Merlin or later.
This commit is contained in:
Adrian Chadd 2011-03-06 00:30:43 +00:00
parent 2348f1110e
commit 8823714276
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=219318
2 changed files with 8 additions and 0 deletions

View File

@ -100,6 +100,7 @@ enum {
AR_EEP_ANTGAINMAX_5, /* int8_t* */
AR_EEP_ANTGAINMAX_2, /* int8_t* */
AR_EEP_WRITEPROTECT, /* use ath_hal_eepromGetFlag */
AR_EEP_PWR_TABLE_OFFSET /* int8_t* */
};
typedef struct {

View File

@ -126,6 +126,13 @@ v14EepromGet(struct ath_hal *ah, int param, void *val)
case AR_EEP_ANTGAINMAX_5:
*(int8_t *) val = ee->ee_antennaGainMax[0];
return HAL_OK;
case AR_EEP_PWR_TABLE_OFFSET:
if (IS_VERS(>=, AR5416_EEP_MINOR_VER_21))
*(int8_t *) val = pBase->pwr_table_offset;
else
*(int8_t *) val = AR5416_PWR_TABLE_OFFSET_DB;
return HAL_OK;
default:
HALASSERT(0);
return HAL_EINVAL;