Commit ee79ccd9 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville

ath9k: Store the chip chainmask in HW capabilities

Cc: Miaoqing Pan <miaoqing@qca.qualcomm.com>
Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent f4c34af4
...@@ -2341,7 +2341,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) ...@@ -2341,7 +2341,6 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
struct ath9k_hw_capabilities *pCap = &ah->caps; struct ath9k_hw_capabilities *pCap = &ah->caps;
struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah); struct ath_regulatory *regulatory = ath9k_hw_regulatory(ah);
struct ath_common *common = ath9k_hw_common(ah); struct ath_common *common = ath9k_hw_common(ah);
unsigned int chip_chainmask;
u16 eeval; u16 eeval;
u8 ant_div_ctl1, tx_chainmask, rx_chainmask; u8 ant_div_ctl1, tx_chainmask, rx_chainmask;
...@@ -2385,15 +2384,16 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) ...@@ -2385,15 +2384,16 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
AR_SREV_9285(ah) || AR_SREV_9285(ah) ||
AR_SREV_9330(ah) || AR_SREV_9330(ah) ||
AR_SREV_9565(ah)) AR_SREV_9565(ah))
chip_chainmask = 1; pCap->chip_chainmask = 1;
else if (AR_SREV_9462(ah))
chip_chainmask = 3;
else if (!AR_SREV_9280_20_OR_LATER(ah)) else if (!AR_SREV_9280_20_OR_LATER(ah))
chip_chainmask = 7; pCap->chip_chainmask = 7;
else if (!AR_SREV_9300_20_OR_LATER(ah) || AR_SREV_9340(ah)) else if (!AR_SREV_9300_20_OR_LATER(ah) ||
chip_chainmask = 3; AR_SREV_9340(ah) ||
AR_SREV_9462(ah) ||
AR_SREV_9531(ah))
pCap->chip_chainmask = 3;
else else
chip_chainmask = 7; pCap->chip_chainmask = 7;
pCap->tx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_TX_MASK); pCap->tx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_TX_MASK);
/* /*
...@@ -2411,8 +2411,8 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah) ...@@ -2411,8 +2411,8 @@ int ath9k_hw_fill_cap_info(struct ath_hw *ah)
/* Use rx_chainmask from EEPROM. */ /* Use rx_chainmask from EEPROM. */
pCap->rx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_RX_MASK); pCap->rx_chainmask = ah->eep_ops->get_eeprom(ah, EEP_RX_MASK);
pCap->tx_chainmask = fixup_chainmask(chip_chainmask, pCap->tx_chainmask); pCap->tx_chainmask = fixup_chainmask(pCap->chip_chainmask, pCap->tx_chainmask);
pCap->rx_chainmask = fixup_chainmask(chip_chainmask, pCap->rx_chainmask); pCap->rx_chainmask = fixup_chainmask(pCap->chip_chainmask, pCap->rx_chainmask);
ah->txchainmask = pCap->tx_chainmask; ah->txchainmask = pCap->tx_chainmask;
ah->rxchainmask = pCap->rx_chainmask; ah->rxchainmask = pCap->rx_chainmask;
......
...@@ -276,6 +276,7 @@ struct ath9k_hw_capabilities { ...@@ -276,6 +276,7 @@ struct ath9k_hw_capabilities {
u16 rts_aggr_limit; u16 rts_aggr_limit;
u8 tx_chainmask; u8 tx_chainmask;
u8 rx_chainmask; u8 rx_chainmask;
u8 chip_chainmask;
u8 max_txchains; u8 max_txchains;
u8 max_rxchains; u8 max_rxchains;
u8 num_gpio_pins; u8 num_gpio_pins;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment