|
@@ -79,12 +79,17 @@ static void ath9k_olc_get_pdadcs(struct ath_hw *ah,
|
|
|
|
|
|
static int ath9k_hw_def_get_eeprom_ver(struct ath_hw *ah)
|
|
|
{
|
|
|
- return ((ah->eeprom.def.baseEepHeader.version >> 12) & 0xF);
|
|
|
+ u16 version = ah->eeprom.def.baseEepHeader.version;
|
|
|
+
|
|
|
+ return (version & AR5416_EEP_VER_MAJOR_MASK) >>
|
|
|
+ AR5416_EEP_VER_MAJOR_SHIFT;
|
|
|
}
|
|
|
|
|
|
static int ath9k_hw_def_get_eeprom_rev(struct ath_hw *ah)
|
|
|
{
|
|
|
- return ((ah->eeprom.def.baseEepHeader.version) & 0xFFF);
|
|
|
+ u16 version = ah->eeprom.def.baseEepHeader.version;
|
|
|
+
|
|
|
+ return version & AR5416_EEP_VER_MINOR_MASK;
|
|
|
}
|
|
|
|
|
|
#define SIZE_EEPROM_DEF (sizeof(struct ar5416_eeprom_def) / sizeof(u16))
|
|
@@ -214,8 +219,8 @@ static u32 ath9k_hw_def_dump_eeprom(struct ath_hw *ah, bool dump_base_hdr,
|
|
|
goto out;
|
|
|
}
|
|
|
|
|
|
- PR_EEP("Major Version", pBase->version >> 12);
|
|
|
- PR_EEP("Minor Version", pBase->version & 0xFFF);
|
|
|
+ PR_EEP("Major Version", ath9k_hw_def_get_eeprom_ver(ah));
|
|
|
+ PR_EEP("Minor Version", ath9k_hw_def_get_eeprom_rev(ah));
|
|
|
PR_EEP("Checksum", pBase->checksum);
|
|
|
PR_EEP("Length", pBase->length);
|
|
|
PR_EEP("RegDomain1", pBase->regDmn[0]);
|
|
@@ -391,27 +396,27 @@ static u32 ath9k_hw_def_get_eeprom(struct ath_hw *ah,
|
|
|
case EEP_TXGAIN_TYPE:
|
|
|
return pBase->txGainType;
|
|
|
case EEP_OL_PWRCTRL:
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_19)
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_19)
|
|
|
return pBase->openLoopPwrCntl ? true : false;
|
|
|
else
|
|
|
return false;
|
|
|
case EEP_RC_CHAIN_MASK:
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_19)
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_19)
|
|
|
return pBase->rcChainMask;
|
|
|
else
|
|
|
return 0;
|
|
|
case EEP_DAC_HPWR_5G:
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_20)
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_20)
|
|
|
return pBase->dacHiPwrMode_5G;
|
|
|
else
|
|
|
return 0;
|
|
|
case EEP_FRAC_N_5G:
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_22)
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_22)
|
|
|
return pBase->frac_n_5g;
|
|
|
else
|
|
|
return 0;
|
|
|
case EEP_PWR_TABLE_OFFSET:
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_21)
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_21)
|
|
|
return pBase->pwr_table_offset;
|
|
|
else
|
|
|
return AR5416_PWR_TABLE_OFFSET_DB;
|
|
@@ -434,7 +439,7 @@ static void ath9k_hw_def_set_gain(struct ath_hw *ah,
|
|
|
u8 txRxAttenLocal, int regChainOffset, int i)
|
|
|
{
|
|
|
ENABLE_REG_RMW_BUFFER(ah);
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) {
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_3) {
|
|
|
txRxAttenLocal = pModal->txRxAttenCh[i];
|
|
|
|
|
|
if (AR_SREV_9280_20_OR_LATER(ah)) {
|
|
@@ -603,7 +608,7 @@ static void ath9k_hw_def_set_board_values(struct ath_hw *ah,
|
|
|
pModal->thresh62);
|
|
|
}
|
|
|
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_2) {
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) {
|
|
|
REG_RMW_FIELD(ah, AR_PHY_RF_CTL2,
|
|
|
AR_PHY_TX_END_DATA_START,
|
|
|
pModal->txFrameToDataStart);
|
|
@@ -611,7 +616,7 @@ static void ath9k_hw_def_set_board_values(struct ath_hw *ah,
|
|
|
pModal->txFrameToPaOn);
|
|
|
}
|
|
|
|
|
|
- if (AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_3) {
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_3) {
|
|
|
if (IS_CHAN_HT40(chan))
|
|
|
REG_RMW_FIELD(ah, AR_PHY_SETTLING,
|
|
|
AR_PHY_SETTLING_SWITCH,
|
|
@@ -619,13 +624,14 @@ static void ath9k_hw_def_set_board_values(struct ath_hw *ah,
|
|
|
}
|
|
|
|
|
|
if (AR_SREV_9280_20_OR_LATER(ah) &&
|
|
|
- AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_19)
|
|
|
+ ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_19)
|
|
|
REG_RMW_FIELD(ah, AR_PHY_CCK_TX_CTRL,
|
|
|
AR_PHY_CCK_TX_CTRL_TX_DAC_SCALE_CCK,
|
|
|
pModal->miscBits);
|
|
|
|
|
|
|
|
|
- if (AR_SREV_9280_20(ah) && AR5416_VER_MASK >= AR5416_EEP_MINOR_VER_20) {
|
|
|
+ if (AR_SREV_9280_20(ah) &&
|
|
|
+ ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_20) {
|
|
|
if (IS_CHAN_2GHZ(chan))
|
|
|
REG_RMW_FIELD(ah, AR_AN_TOP1, AR_AN_TOP1_DACIPMODE,
|
|
|
eep->baseEepHeader.dacLpMode);
|
|
@@ -796,8 +802,7 @@ static void ath9k_hw_set_def_power_cal_table(struct ath_hw *ah,
|
|
|
|
|
|
pwr_table_offset = ah->eep_ops->get_eeprom(ah, EEP_PWR_TABLE_OFFSET);
|
|
|
|
|
|
- if ((pEepData->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >=
|
|
|
- AR5416_EEP_MINOR_VER_2) {
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2) {
|
|
|
pdGainOverlap_t2 =
|
|
|
pEepData->modalHeader[modalIdx].pdGainOverlap;
|
|
|
} else {
|
|
@@ -1169,10 +1174,8 @@ static void ath9k_hw_def_set_txpower(struct ath_hw *ah,
|
|
|
|
|
|
memset(ratesArray, 0, sizeof(ratesArray));
|
|
|
|
|
|
- if ((pEepData->baseEepHeader.version & AR5416_EEP_VER_MINOR_MASK) >=
|
|
|
- AR5416_EEP_MINOR_VER_2) {
|
|
|
+ if (ath9k_hw_def_get_eeprom_rev(ah) >= AR5416_EEP_MINOR_VER_2)
|
|
|
ht40PowerIncForPdadc = pModal->ht40PowerIncForPdadc;
|
|
|
- }
|
|
|
|
|
|
ath9k_hw_set_def_power_per_rate_table(ah, chan,
|
|
|
&ratesArray[0], cfgCtl,
|