|
@@ -588,30 +588,17 @@ static void ar9003_hw_init_bb(struct ath_hw *ah,
|
|
|
|
|
|
void ar9003_hw_set_chain_masks(struct ath_hw *ah, u8 rx, u8 tx)
|
|
|
{
|
|
|
- switch (rx) {
|
|
|
- case 0x5:
|
|
|
+ if (ah->caps.tx_chainmask == 5 || ah->caps.rx_chainmask == 5)
|
|
|
REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP,
|
|
|
AR_PHY_SWAP_ALT_CHAIN);
|
|
|
- case 0x3:
|
|
|
- case 0x1:
|
|
|
- case 0x2:
|
|
|
- case 0x7:
|
|
|
- REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx);
|
|
|
- REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx);
|
|
|
- break;
|
|
|
- default:
|
|
|
- break;
|
|
|
- }
|
|
|
+
|
|
|
+ REG_WRITE(ah, AR_PHY_RX_CHAINMASK, rx);
|
|
|
+ REG_WRITE(ah, AR_PHY_CAL_CHAINMASK, rx);
|
|
|
|
|
|
if ((ah->caps.hw_caps & ATH9K_HW_CAP_APM) && (tx == 0x7))
|
|
|
- REG_WRITE(ah, AR_SELFGEN_MASK, 0x3);
|
|
|
- else
|
|
|
- REG_WRITE(ah, AR_SELFGEN_MASK, tx);
|
|
|
+ tx = 3;
|
|
|
|
|
|
- if (tx == 0x5) {
|
|
|
- REG_SET_BIT(ah, AR_PHY_ANALOG_SWAP,
|
|
|
- AR_PHY_SWAP_ALT_CHAIN);
|
|
|
- }
|
|
|
+ REG_WRITE(ah, AR_SELFGEN_MASK, tx);
|
|
|
}
|
|
|
|
|
|
/*
|