rtw88: coex: add write scoreboard action when WLAN in critical procedure
authorChing-Te Ku <ku920601@realtek.com>
Thu, 12 Nov 2020 03:14:22 +0000 (11:14 +0800)
committerKalle Valo <kvalo@codeaurora.org>
Tue, 24 Nov 2020 09:16:20 +0000 (11:16 +0200)
When WLAN in critical procedure, such as connecting, scan and so on,
coexistence will notify BT by scoreboard.
While BT firmware received the scoreboard interrupt, it will adjust
BT page priority lower to avoid WLAN critical procedure suffering impact.

Signed-off-by: Ching-Te Ku <ku920601@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201112031430.4846-4-pkshih@realtek.com
drivers/net/wireless/realtek/rtw88/coex.c

index f0d300e197b7134eb8897876e47a62dc75c36f49..cbc0b7417887c2919125fb3ae97bb29ceb6580bf 100644 (file)
@@ -460,6 +460,12 @@ static void rtw_coex_update_wl_link_info(struct rtw_dev *rtwdev, u8 reason)
                coex_dm->wl_rssi_state[i] = rssi_state;
        }
 
+       if (coex_stat->wl_linkscan_proc || coex_stat->wl_hi_pri_task1 ||
+           coex_stat->wl_hi_pri_task2 || coex_stat->wl_gl_busy)
+               rtw_coex_write_scbd(rtwdev, COEX_SCBD_SCAN, true);
+       else
+               rtw_coex_write_scbd(rtwdev, COEX_SCBD_SCAN, false);
+
        switch (reason) {
        case COEX_RSN_5GSCANSTART:
        case COEX_RSN_5GSWITCHBAND: