ath9k_hw: Add capability flag for Antenna diversity and combining feature
This is enabled only for ar9285. Signed-off-by: Vasanthakumar Thiagarajan <vasanth@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
7a374d8eeb
commit
754dc53641
|
@ -266,6 +266,8 @@ enum eeprom_param {
|
|||
EEP_INTERNAL_REGULATOR,
|
||||
EEP_SWREG,
|
||||
EEP_PAPRD,
|
||||
EEP_MODAL_VER,
|
||||
EEP_ANT_DIV_CTL1,
|
||||
};
|
||||
|
||||
enum ar5416_rates {
|
||||
|
|
|
@ -213,6 +213,10 @@ static u32 ath9k_hw_4k_get_eeprom(struct ath_hw *ah,
|
|||
return 0;
|
||||
case EEP_PWR_TABLE_OFFSET:
|
||||
return AR5416_PWR_TABLE_OFFSET_DB;
|
||||
case EEP_MODAL_VER:
|
||||
return pModal->version;
|
||||
case EEP_ANT_DIV_CTL1:
|
||||
return pModal->antdiv_ctl1;
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -2056,6 +2056,7 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
|
|||
struct ath_btcoex_hw *btcoex_hw = &ah->btcoex_hw;
|
||||
|
||||
u16 capField = 0, eeval;
|
||||
u8 ant_div_ctl1;
|
||||
|
||||
eeval = ah->eep_ops->get_eeprom(ah, EEP_REG_0);
|
||||
regulatory->current_rd = eeval;
|
||||
|
@ -2280,6 +2281,14 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
|
|||
if (AR_SREV_9287_10_OR_LATER(ah) || AR_SREV_9271(ah))
|
||||
pCap->hw_caps |= ATH9K_HW_CAP_SGI_20;
|
||||
|
||||
if (AR_SREV_9285(ah))
|
||||
if (ah->eep_ops->get_eeprom(ah, EEP_MODAL_VER) >= 3) {
|
||||
ant_div_ctl1 =
|
||||
ah->eep_ops->get_eeprom(ah, EEP_ANT_DIV_CTL1);
|
||||
if ((ant_div_ctl1 & 0x1) && ((ant_div_ctl1 >> 3) & 0x1))
|
||||
pCap->hw_caps |= ATH9K_HW_CAP_ANT_DIV_COMB;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -204,6 +204,7 @@ enum ath9k_hw_caps {
|
|||
ATH9K_HW_CAP_FASTCLOCK = BIT(20),
|
||||
ATH9K_HW_CAP_SGI_20 = BIT(21),
|
||||
ATH9K_HW_CAP_PAPRD = BIT(22),
|
||||
ATH9K_HW_CAP_ANT_DIV_COMB = BIT(23),
|
||||
};
|
||||
|
||||
struct ath9k_hw_capabilities {
|
||||
|
|
Loading…
Reference in New Issue