rtl8xxxu: Setup coex table correctly (hopefully)
authorJes Sorensen <Jes.Sorensen@redhat.com>
Mon, 29 Feb 2016 22:05:16 +0000 (17:05 -0500)
committerKalle Valo <kvalo@codeaurora.org>
Thu, 10 Mar 2016 13:29:12 +0000 (15:29 +0200)
Use the same values as the vendor driver when setting up the BTCOEX
table for 8723bu.

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
drivers/net/wireless/realtek/rtl8xxxu/rtl8xxxu.c

index 5b74ba114d535f95581dd4801c4291510969101b..3e99a17c79626ed59945e09ccf305aece006ffca 100644 (file)
@@ -5842,6 +5842,7 @@ static void rtl8xxxu_power_off(struct rtl8xxxu_priv *priv)
        rtl8xxxu_write8(priv, REG_RSV_CTRL, 0x0e);
 }
 
+#ifdef NEED_PS_TDMA
 static void rtl8723bu_set_ps_tdma(struct rtl8xxxu_priv *priv,
                                  u8 arg1, u8 arg2, u8 arg3, u8 arg4, u8 arg5)
 {
@@ -5856,6 +5857,7 @@ static void rtl8723bu_set_ps_tdma(struct rtl8xxxu_priv *priv,
        h2c.b_type_dma.data5 = arg5;
        rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.b_type_dma));
 }
+#endif
 
 static void rtl8723bu_init_bt(struct rtl8xxxu_priv *priv)
 {
@@ -5944,18 +5946,20 @@ static void rtl8723bu_init_bt(struct rtl8xxxu_priv *priv)
        /*
         * Software control, antenna at WiFi side
         */
+#ifdef NEED_PS_TDMA
        rtl8723bu_set_ps_tdma(priv, 0x08, 0x00, 0x00, 0x00, 0x00);
+#endif
+
+       rtl8xxxu_write32(priv, REG_BT_COEX_TABLE1, 0x55555555);
+       rtl8xxxu_write32(priv, REG_BT_COEX_TABLE2, 0x55555555);
+       rtl8xxxu_write32(priv, REG_BT_COEX_TABLE3, 0x00ffffff);
+       rtl8xxxu_write8(priv, REG_BT_COEX_TABLE4, 0x03);
 
        memset(&h2c, 0, sizeof(struct h2c_cmd));
        h2c.bt_info.cmd = H2C_8723B_BT_INFO;
        h2c.bt_info.data = BIT(0);
        rtl8723a_h2c_cmd(priv, &h2c, sizeof(h2c.bt_info));
 
-       rtl8xxxu_write32(priv, REG_BT_COEX_TABLE1, 0x55555555);
-       rtl8xxxu_write32(priv, REG_BT_COEX_TABLE2, 0x5a5a5a5a);
-       rtl8xxxu_write32(priv, REG_BT_COEX_TABLE3, 0x00ffffff);
-       rtl8xxxu_write8(priv, REG_BT_COEX_TABLE4, 0x03);
-
        memset(&h2c, 0, sizeof(struct h2c_cmd));
        h2c.ignore_wlan.cmd = H2C_8723B_BT_IGNORE_WLANACT;
        h2c.ignore_wlan.data = 0;