]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
rtlwifi: btcoex: hook external PnP notify by chip for wifi driver
authorYan-Hsuan Chuang <yhchuang@realtek.com>
Mon, 5 Jun 2017 15:29:54 +0000 (10:29 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 13 Jun 2017 07:02:28 +0000 (10:02 +0300)
Hook the chip-specific PnP notify functions for the wifi driver to
notify btcoexistence.

Signed-off-by: Yan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net>
Cc: Ping-Ke Shih <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/halbtc8723b2ant.h
drivers/net/wireless/realtek/rtlwifi/btcoexist/halbtcoutsrc.c

index a98b9548c3c7a155bb9c331465df42e6d0f0c951..ae3e450c5966404a4b68d15eca5eed7512d6eb36 100644 (file)
@@ -196,6 +196,7 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
 void ex_btc8723b2ant_halt_notify(struct btc_coexist *btcoexist);
 void ex_btc8723b2ant_periodical(struct btc_coexist *btcoexist);
 void ex_btc8723b2ant_display_coex_info(struct btc_coexist *btcoexist);
+void ex_btc8723b2ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state);
 void ex_btc8723b2ant_pre_load_firmware(struct btc_coexist *btcoexist);
 
 #endif
index 0cd4926c1ed795493a3271493714fc1044fe8473..5e6e14fd8c855810af552757e6d4861c28408252 100644 (file)
@@ -916,6 +916,24 @@ void exhalbtc_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
 {
        if (!halbtc_is_bt_coexist_available(btcoexist))
                return;
+
+       /* currently only 1ant we have to do the notification,
+        * once pnp is notified to sleep state, we have to leave LPS that
+        * we can sleep normally.
+        */
+
+       if (IS_HARDWARE_TYPE_8723B(btcoexist->adapter)) {
+               if (btcoexist->board_info.btdm_ant_num == 1)
+                       ex_btc8723b1ant_pnp_notify(btcoexist, pnp_state);
+               else if (btcoexist->board_info.btdm_ant_num == 2)
+                       ex_btc8723b2ant_pnp_notify(btcoexist, pnp_state);
+       } else if (IS_HARDWARE_TYPE_8821(btcoexist->adapter)) {
+               if (btcoexist->board_info.btdm_ant_num == 1)
+                       ex_btc8821a1ant_pnp_notify(btcoexist, pnp_state);
+               else if (btcoexist->board_info.btdm_ant_num == 2)
+                       ex_btc8821a2ant_pnp_notify(btcoexist, pnp_state);
+       } else if (IS_HARDWARE_TYPE_8192E(btcoexist->adapter)) {
+       }
 }
 
 void exhalbtc_periodical(struct btc_coexist *btcoexist)