Commit 588a290b authored by Yan-Hsuan Chuang's avatar Yan-Hsuan Chuang Committed by Kalle Valo

rtlwifi: btcoex: 23b 2ant: notify more bt information

These bt information are displayed in display coex
Signed-off-by: default avatarYan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: default avatarLarry 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: default avatarKalle Valo <kvalo@codeaurora.org>
parent 11094402
...@@ -4145,9 +4145,19 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -4145,9 +4145,19 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
coex_sta->bt_retry_cnt = coex_sta->bt_retry_cnt =
coex_sta->bt_info_c2h[rsp_source][2] & 0xf; coex_sta->bt_info_c2h[rsp_source][2] & 0xf;
if (coex_sta->bt_retry_cnt >= 1)
coex_sta->pop_event_cnt++;
coex_sta->bt_rssi = coex_sta->bt_rssi =
coex_sta->bt_info_c2h[rsp_source][3] * 2 + 10; coex_sta->bt_info_c2h[rsp_source][3] * 2 + 10;
coex_sta->bt_info_ext = coex_sta->bt_info_c2h[rsp_source][4];
if (coex_sta->bt_info_c2h[rsp_source][2] & 0x20)
coex_sta->c2h_bt_remote_name_req = true;
else
coex_sta->c2h_bt_remote_name_req = false;
if (coex_sta->bt_info_c2h[rsp_source][1] == 0x49) if (coex_sta->bt_info_c2h[rsp_source][1] == 0x49)
coex_sta->a2dp_bit_pool = coex_sta->a2dp_bit_pool =
coex_sta->bt_info_c2h[rsp_source][6]; coex_sta->bt_info_c2h[rsp_source][6];
...@@ -4222,6 +4232,16 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -4222,6 +4232,16 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
coex_sta->sco_exist = true; coex_sta->sco_exist = true;
else else
coex_sta->sco_exist = false; coex_sta->sco_exist = false;
if ((!coex_sta->hid_exist) &&
(!coex_sta->c2h_bt_inquiry_page) &&
(!coex_sta->sco_exist)) {
if (coex_sta->high_priority_tx +
coex_sta->high_priority_rx >= 160) {
coex_sta->hid_exist = true;
bt_info = bt_info | 0x28;
}
}
} }
btc8723b2ant_update_bt_link_info(btcoexist); btc8723b2ant_update_bt_link_info(btcoexist);
......
...@@ -151,12 +151,14 @@ struct coex_sta_8723b_2ant { ...@@ -151,12 +151,14 @@ struct coex_sta_8723b_2ant {
u32 low_priority_tx; u32 low_priority_tx;
u32 low_priority_rx; u32 low_priority_rx;
u8 bt_rssi; u8 bt_rssi;
bool bt_tx_rx_mask;
u8 pre_bt_rssi_state; u8 pre_bt_rssi_state;
u8 pre_wifi_rssi_state[4]; u8 pre_wifi_rssi_state[4];
bool c2h_bt_info_req_sent; bool c2h_bt_info_req_sent;
u8 bt_info_c2h[BT_INFO_SRC_8723B_2ANT_MAX][10]; u8 bt_info_c2h[BT_INFO_SRC_8723B_2ANT_MAX][10];
u32 bt_info_c2h_cnt[BT_INFO_SRC_8723B_2ANT_MAX]; u32 bt_info_c2h_cnt[BT_INFO_SRC_8723B_2ANT_MAX];
bool c2h_bt_inquiry_page; bool c2h_bt_inquiry_page;
bool c2h_bt_remote_name_req;
u8 bt_retry_cnt; u8 bt_retry_cnt;
u8 bt_info_ext; u8 bt_info_ext;
u32 pop_event_cnt; u32 pop_event_cnt;
......
...@@ -66,6 +66,15 @@ ...@@ -66,6 +66,15 @@
#define BTC_ANT_WIFI_AT_CPL_MAIN 0 #define BTC_ANT_WIFI_AT_CPL_MAIN 0
#define BTC_ANT_WIFI_AT_CPL_AUX 1 #define BTC_ANT_WIFI_AT_CPL_AUX 1
enum btc_bt_reg_type {
BTC_BT_REG_RF = 0,
BTC_BT_REG_MODEM = 1,
BTC_BT_REG_BLUEWIZE = 2,
BTC_BT_REG_VENDOR = 3,
BTC_BT_REG_LE = 4,
BTC_BT_REG_MAX
};
enum btc_chip_interface { enum btc_chip_interface {
BTC_INTF_UNKNOWN = 0, BTC_INTF_UNKNOWN = 0,
BTC_INTF_PCI = 1, BTC_INTF_PCI = 1,
...@@ -251,6 +260,7 @@ enum btc_set_type { ...@@ -251,6 +260,7 @@ enum btc_set_type {
BTC_SET_BL_TO_REJ_AP_AGG_PKT, BTC_SET_BL_TO_REJ_AP_AGG_PKT,
BTC_SET_BL_BT_CTRL_AGG_SIZE, BTC_SET_BL_BT_CTRL_AGG_SIZE,
BTC_SET_BL_INC_SCAN_DEV_NUM, BTC_SET_BL_INC_SCAN_DEV_NUM,
BTC_SET_BL_BT_TX_RX_MASK,
BTC_SET_BL_MIRACAST_PLUS_BT, BTC_SET_BL_MIRACAST_PLUS_BT,
/* type u1Byte */ /* type u1Byte */
...@@ -392,6 +402,9 @@ typedef bool (*bfp_btc_get)(void *btcoexist, u8 get_type, void *out_buf); ...@@ -392,6 +402,9 @@ typedef bool (*bfp_btc_get)(void *btcoexist, u8 get_type, void *out_buf);
typedef bool (*bfp_btc_set)(void *btcoexist, u8 set_type, void *in_buf); typedef bool (*bfp_btc_set)(void *btcoexist, u8 set_type, void *in_buf);
typedef void (*bfp_btc_set_bt_reg)(void *btc_context, u8 reg_type, u32 offset,
u32 value);
typedef void (*bfp_btc_disp_dbg_msg)(void *btcoexist, u8 disp_type); typedef void (*bfp_btc_disp_dbg_msg)(void *btcoexist, u8 disp_type);
struct btc_bt_info { struct btc_bt_info {
...@@ -511,6 +524,8 @@ struct btc_coexist { ...@@ -511,6 +524,8 @@ struct btc_coexist {
bfp_btc_get btc_get; bfp_btc_get btc_get;
bfp_btc_set btc_set; bfp_btc_set btc_set;
bfp_btc_set_bt_reg btc_set_bt_reg;
}; };
bool halbtc_is_wifi_uplink(struct rtl_priv *adapter); bool halbtc_is_wifi_uplink(struct rtl_priv *adapter);
......
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