ath9k: Mute BT properly
Set The BT/WLAN priority weights correctly and make sure that MCI_LNA_TAKE is sent only for cards that share PA/LNA. Signed-off-by: Sujith Manoharan <c_manoha@qca.qualcomm.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
parent
ad1dc63872
commit
2f890caba6
|
@ -771,8 +771,14 @@ exit:
|
||||||
|
|
||||||
static void ar9003_mci_mute_bt(struct ath_hw *ah)
|
static void ar9003_mci_mute_bt(struct ath_hw *ah)
|
||||||
{
|
{
|
||||||
|
struct ath9k_hw_mci *mci = &ah->btcoex_hw.mci;
|
||||||
|
|
||||||
/* disable all MCI messages */
|
/* disable all MCI messages */
|
||||||
REG_WRITE(ah, AR_MCI_MSG_ATTRIBUTES_TABLE, 0xffff0000);
|
REG_WRITE(ah, AR_MCI_MSG_ATTRIBUTES_TABLE, 0xffff0000);
|
||||||
|
REG_WRITE(ah, AR_BTCOEX_WL_WEIGHTS0, 0xffffffff);
|
||||||
|
REG_WRITE(ah, AR_BTCOEX_WL_WEIGHTS1, 0xffffffff);
|
||||||
|
REG_WRITE(ah, AR_BTCOEX_WL_WEIGHTS2, 0xffffffff);
|
||||||
|
REG_WRITE(ah, AR_BTCOEX_WL_WEIGHTS3, 0xffffffff);
|
||||||
REG_SET_BIT(ah, AR_MCI_TX_CTRL, AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE);
|
REG_SET_BIT(ah, AR_MCI_TX_CTRL, AR_MCI_TX_CTRL_DISABLE_LNA_UPDATE);
|
||||||
|
|
||||||
/* wait pending HW messages to flush out */
|
/* wait pending HW messages to flush out */
|
||||||
|
@ -783,9 +789,10 @@ static void ar9003_mci_mute_bt(struct ath_hw *ah)
|
||||||
* 1. reset not after resuming from full sleep
|
* 1. reset not after resuming from full sleep
|
||||||
* 2. before reset MCI RX, to quiet BT and avoid MCI RX misalignment
|
* 2. before reset MCI RX, to quiet BT and avoid MCI RX misalignment
|
||||||
*/
|
*/
|
||||||
|
if (MCI_ANT_ARCH_PA_LNA_SHARED(mci)) {
|
||||||
ar9003_mci_send_lna_take(ah, true);
|
ar9003_mci_send_lna_take(ah, true);
|
||||||
|
|
||||||
udelay(5);
|
udelay(5);
|
||||||
|
}
|
||||||
|
|
||||||
ar9003_mci_send_sys_sleeping(ah, true);
|
ar9003_mci_send_sys_sleeping(ah, true);
|
||||||
}
|
}
|
||||||
|
|
|
@ -212,6 +212,11 @@
|
||||||
#define AR_BTCOEX_CTRL_SPDT_POLARITY 0x80000000
|
#define AR_BTCOEX_CTRL_SPDT_POLARITY 0x80000000
|
||||||
#define AR_BTCOEX_CTRL_SPDT_POLARITY_S 31
|
#define AR_BTCOEX_CTRL_SPDT_POLARITY_S 31
|
||||||
|
|
||||||
|
#define AR_BTCOEX_WL_WEIGHTS0 0x18b0
|
||||||
|
#define AR_BTCOEX_WL_WEIGHTS1 0x18b4
|
||||||
|
#define AR_BTCOEX_WL_WEIGHTS2 0x18b8
|
||||||
|
#define AR_BTCOEX_WL_WEIGHTS3 0x18bc
|
||||||
|
|
||||||
#define AR_BTCOEX_MAX_TXPWR(_x) (0x18c0 + ((_x) << 2))
|
#define AR_BTCOEX_MAX_TXPWR(_x) (0x18c0 + ((_x) << 2))
|
||||||
#define AR_BTCOEX_WL_LNA 0x1940
|
#define AR_BTCOEX_WL_LNA 0x1940
|
||||||
#define AR_BTCOEX_RFGAIN_CTRL 0x1944
|
#define AR_BTCOEX_RFGAIN_CTRL 0x1944
|
||||||
|
|
Loading…
Reference in New Issue