rtlwifi: btcoex: 21a 1ant: add bt_tx_rx_mask into bt info

Set rf register if the tx rx mask is switched.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Pkshih <pkshih@realtek.com>
Cc: Birming Chiu <birming@realtek.com>
Cc: Shaofu <shaofu@realtek.com>
Cc: Steven Ting <steventing@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
This commit is contained in:
Yan-Hsuan Chuang 2017-05-16 08:19:50 -05:00 committed by Kalle Valo
parent 0ad7bd2d1b
commit 63ad6ea938
2 changed files with 15 additions and 0 deletions

View File

@ -2848,6 +2848,20 @@ void ex_btc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
coex_sta->bt_info_ext = coex_sta->bt_info_c2h[rsp_source][4];
coex_sta->bt_tx_rx_mask =
(coex_sta->bt_info_c2h[rsp_source][2] & 0x40);
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_TX_RX_MASK,
&coex_sta->bt_tx_rx_mask);
if (!coex_sta->bt_tx_rx_mask) {
/* BT into is responded by BT FW and BT RF REG 0x3C !=
* 0x15 => Need to switch BT TRx Mask
*/
RT_TRACE(rtlpriv, COMP_BT_COEXIST, DBG_LOUD,
"[BTCoex], Switch BT TRx Mask since BT RF REG 0x3C != 0x15\n");
btcoexist->btc_set_bt_reg(btcoexist, BTC_BT_REG_RF,
0x3c, 0x15);
}
/* Here we need to resend some wifi info to BT
* because bt is reset and lost the info
*/

View File

@ -154,6 +154,7 @@ struct coex_sta_8821a_1ant {
u32 low_priority_tx;
u32 low_priority_rx;
u8 bt_rssi;
bool bt_tx_rx_mask;
u8 pre_bt_rssi_state;
u8 pre_wifi_rssi_state[4];
bool c2h_bt_info_req_sent;