Commit 75717802 authored by Ping-Ke Shih's avatar Ping-Ke Shih Committed by Kalle Valo

rtlwifi: btcoex: 23b 1ant: check if BT high priority packet exist

If there are BT high priority packets, we arrange more time to BT.
To make user experience to  be better, HID and SCO are also seen as
high priority packet exist.
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarLarry Finger <Larry.Finger@lwfinger.net>
Cc: Yan-Hsuan Chuang <yhchuang@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 37a5be0c
...@@ -407,6 +407,7 @@ static void halbtc8723b1ant_update_bt_link_info(struct btc_coexist *btcoexist) ...@@ -407,6 +407,7 @@ static void halbtc8723b1ant_update_bt_link_info(struct btc_coexist *btcoexist)
bt_link_info->a2dp_exist = coex_sta->a2dp_exist; bt_link_info->a2dp_exist = coex_sta->a2dp_exist;
bt_link_info->pan_exist = coex_sta->pan_exist; bt_link_info->pan_exist = coex_sta->pan_exist;
bt_link_info->hid_exist = coex_sta->hid_exist; bt_link_info->hid_exist = coex_sta->hid_exist;
bt_link_info->bt_hi_pri_link_exist = coex_sta->bt_hi_pri_link_exist;
/* work around for HS mode. */ /* work around for HS mode. */
if (bt_hs_on) { if (bt_hs_on) {
...@@ -2644,6 +2645,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2644,6 +2645,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist,
coex_sta->a2dp_exist = false; coex_sta->a2dp_exist = false;
coex_sta->hid_exist = false; coex_sta->hid_exist = false;
coex_sta->sco_exist = false; coex_sta->sco_exist = false;
coex_sta->bt_hi_pri_link_exist = false;
} else { } else {
/* connection exists */ /* connection exists */
coex_sta->bt_link_exist = true; coex_sta->bt_link_exist = true;
...@@ -2663,6 +2666,14 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2663,6 +2666,14 @@ void ex_halbtc8723b1ant_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;
/* Add Hi-Pri Tx/Rx counter to avoid false detection */
if (((coex_sta->hid_exist) || (coex_sta->sco_exist)) &&
(coex_sta->high_priority_tx + coex_sta->high_priority_rx >=
160) &&
(!coex_sta->c2h_bt_inquiry_page))
coex_sta->bt_hi_pri_link_exist = true;
} }
halbtc8723b1ant_update_bt_link_info(btcoexist); halbtc8723b1ant_update_bt_link_info(btcoexist);
......
...@@ -142,6 +142,7 @@ struct coex_sta_8723b_1ant { ...@@ -142,6 +142,7 @@ struct coex_sta_8723b_1ant {
bool a2dp_exist; bool a2dp_exist;
bool hid_exist; bool hid_exist;
bool pan_exist; bool pan_exist;
bool bt_hi_pri_link_exist;
bool under_lps; bool under_lps;
bool under_ips; bool under_ips;
......
...@@ -468,6 +468,7 @@ struct btc_statistics { ...@@ -468,6 +468,7 @@ struct btc_statistics {
struct btc_bt_link_info { struct btc_bt_link_info {
bool bt_link_exist; bool bt_link_exist;
bool bt_hi_pri_link_exist;
bool sco_exist; bool sco_exist;
bool sco_only; bool sco_only;
bool a2dp_exist; bool a2dp_exist;
......
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