]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
rtlwifi: btcoex: 21a 1ant: more bt profiling when wifi receives special packet
authorYan-Hsuan Chuang <yhchuang@realtek.com>
Thu, 11 May 2017 23:24:30 +0000 (18:24 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 18 May 2017 14:08:25 +0000 (17:08 +0300)
Consider bt profiling is sco or hid to set coex table and tdma.

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>
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtc8821a1ant.c

index 087e3ffff2f09bfe2ab43d607326c688fc853558..55cde3d85abd77a0b47f93e676a4a5bc53b0534d 100644 (file)
@@ -1753,29 +1753,26 @@ void btc8821a1ant_action_wifi_connected_scan(struct btc_coexist *btcoexist)
 static void btc8821a1ant_act_wifi_conn_sp_pkt(struct btc_coexist *btcoexist)
 {
        struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info;
-       bool hs_connecting = false;
-
-       btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_CONNECTING, &hs_connecting);
 
        btc8821a1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE,
                                      0x0, 0x0);
 
        /* tdma and coex table */
-       if (coex_dm->bt_status == BT_8821A_1ANT_BT_STATUS_ACL_BUSY) {
-               if (bt_link_info->a2dp_exist && bt_link_info->pan_exist) {
-                       btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC,
-                                            true, 22);
-                       btc8821a1ant_coex_table_with_type(btcoexist,
-                                                         NORMAL_EXEC, 1);
-               } else {
-                       btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC,
-                                            true, 20);
-                       btc8821a1ant_coex_table_with_type(btcoexist,
-                                                         NORMAL_EXEC, 1);
-               }
-       } else {
-               btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 20);
+       if ((bt_link_info->sco_exist) || (bt_link_info->hid_exist) ||
+           (bt_link_info->a2dp_exist)) {
+               btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 32);
+               btc8821a1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4);
+       }
+
+       if ((bt_link_info->hid_exist) && (bt_link_info->a2dp_exist)) {
+               btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 14);
                btc8821a1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 1);
+       } else if (bt_link_info->pan_exist) {
+               btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 20);
+               btc8821a1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4);
+       } else {
+               btc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8);
+               btc8821a1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2);
        }
 }