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

rtw88: coex: 8723d: handle BT inquiry cases

Coex mechanism used to make BT have higher priority and more time to
transfer data when BT inquiry-page, which leads to poor WiFi performance.
Should take WiFi traffic into consideration. If the WiFi is having heavy
traffic, use another parameter to make sure WiFi has more chance to TX/RX,
while guarantee the priority of BT for inquiry. If the WiFi isn't busy
(connected or not), set proper parameter to fix originals.

Fixes: f5df1a8b ("rtw88: 8723d: Add 8723DE to Kconfig and Makefile")
Tested-by: default avatarYou-Sheng Yang <vicamo.yang@canonical.com>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarYan-Hsuan Chuang <yhchuang@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20200529025009.2468-3-yhchuang@realtek.com
parent efad6611
...@@ -1354,12 +1354,15 @@ static void rtw_coex_action_bt_inquiry(struct rtw_dev *rtwdev) ...@@ -1354,12 +1354,15 @@ static void rtw_coex_action_bt_inquiry(struct rtw_dev *rtwdev)
tdma_case = 108; tdma_case = 108;
else else
tdma_case = 109; tdma_case = 109;
} else if (coex_stat->wl_gl_busy) {
table_case = 114;
tdma_case = 121;
} else if (coex_stat->wl_connected) { } else if (coex_stat->wl_connected) {
table_case = 101;
tdma_case = 110;
} else {
table_case = 100; table_case = 100;
tdma_case = 100; tdma_case = 100;
} else {
table_case = 101;
tdma_case = 100;
} }
} }
......
...@@ -2040,7 +2040,7 @@ static const struct coex_tdma_para tdma_sant_8723d[] = { ...@@ -2040,7 +2040,7 @@ static const struct coex_tdma_para tdma_sant_8723d[] = {
/* Non-Shared-Antenna TDMA */ /* Non-Shared-Antenna TDMA */
static const struct coex_tdma_para tdma_nsant_8723d[] = { static const struct coex_tdma_para tdma_nsant_8723d[] = {
{ {0x00, 0x00, 0x00, 0x40, 0x00} }, /* case-100 */ { {0x00, 0x00, 0x00, 0x40, 0x01} }, /* case-100 */
{ {0x61, 0x45, 0x03, 0x11, 0x11} }, /* case-101 */ { {0x61, 0x45, 0x03, 0x11, 0x11} }, /* case-101 */
{ {0x61, 0x3a, 0x03, 0x11, 0x11} }, { {0x61, 0x3a, 0x03, 0x11, 0x11} },
{ {0x61, 0x30, 0x03, 0x11, 0x11} }, { {0x61, 0x30, 0x03, 0x11, 0x11} },
...@@ -2060,7 +2060,8 @@ static const struct coex_tdma_para tdma_nsant_8723d[] = { ...@@ -2060,7 +2060,8 @@ static const struct coex_tdma_para tdma_nsant_8723d[] = {
{ {0x51, 0x3a, 0x03, 0x10, 0x50} }, { {0x51, 0x3a, 0x03, 0x10, 0x50} },
{ {0x51, 0x30, 0x03, 0x10, 0x50} }, { {0x51, 0x30, 0x03, 0x10, 0x50} },
{ {0x51, 0x20, 0x03, 0x10, 0x50} }, { {0x51, 0x20, 0x03, 0x10, 0x50} },
{ {0x51, 0x10, 0x03, 0x10, 0x50} } { {0x51, 0x10, 0x03, 0x10, 0x50} }, /* case-120 */
{ {0x51, 0x08, 0x03, 0x10, 0x50} },
}; };
/* rssi in percentage % (dbm = % - 100) */ /* rssi in percentage % (dbm = % - 100) */
......
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