OSDN Git Service

rtlwifi: btcoex: 23b 2ant: tell fw if external or internal switch is used
authorYan-Hsuan Chuang <yhchuang@realtek.com>
Tue, 4 Apr 2017 16:50:02 +0000 (11:50 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 13 Apr 2017 14:08:38 +0000 (17:08 +0300)
Some chips use an external antenna switch, but fw may not realize it.
Here we tell fw exactly that which type of switch we are using.

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/halbtc8723b2ant.c

index 55dabe0..ec95f00 100644 (file)
@@ -1106,14 +1106,19 @@ static void btc8723b2ant_set_ant_path(struct btc_coexist *btcoexist,
                if (board_info->btdm_ant_pos == BTC_ANTENNA_AT_MAIN_PORT) {
                        /* tell firmware "no antenna inverse" */
                        h2c_parameter[0] = 0;
-                       h2c_parameter[1] = 1;  /* ext switch type */
-                       btcoexist->btc_fill_h2c(btcoexist, 0x65, 2,
-                                               h2c_parameter);
-                       btcoexist->btc_write_2byte(btcoexist, 0x948, 0x0);
                } else {
                        /* tell firmware "antenna inverse" */
                        h2c_parameter[0] = 1;
                }
+
+               if (use_ext_switch) {
+                       /* ext switch type */
+                       h2c_parameter[1] = 1;
+               } else {
+                       /* int switch type */
+                       h2c_parameter[1] = 0;
+               }
+               btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, h2c_parameter);
        } else {
                if (fw_ver >= 0x180000) {
                        /* Use H2C to set GNT_BT to "Control by PTA"*/