Commit 76f631cb authored by Ching-Te Ku's avatar Ching-Te Ku Committed by Kalle Valo
Browse files

rtw88: coex: update the mechanism for A2DP + PAN



Update A2DP+PAN+WL mechanism for CPT(Coexistence Performance Test) to
enhance WL/BT performance at the environment that some specific AP are
existing.

Signed-off-by: default avatarChing-Te Ku <ku920601@realtek.com>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/20201126021059.11981-4-pkshih@realtek.com
parent 1a589bd5
Loading
Loading
Loading
Loading
+28 −9
Original line number Diff line number Diff line
@@ -1910,6 +1910,7 @@ static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev)
	struct rtw_efuse *efuse = &rtwdev->efuse;
	struct rtw_chip_info *chip = rtwdev->chip;
	u8 table_case, tdma_case;
	bool wl_cpt_test = false, bt_cpt_test = false;

	rtw_dbg(rtwdev, RTW_DBG_COEX, "[BTCoex], %s()\n", __func__);

@@ -1917,6 +1918,18 @@ static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev)
	rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);
	if (efuse->share_ant) {
		/* Shared-Ant */
		if (wl_cpt_test) {
			if (coex_stat->wl_gl_busy) {
				table_case = 20;
				tdma_case = 17;
			} else {
				table_case = 10;
				tdma_case = 15;
			}
		} else if (bt_cpt_test) {
			table_case = 26;
			tdma_case = 26;
		} else {
			if (coex_stat->wl_gl_busy &&
			    coex_stat->wl_noisy_level == 0)
				table_case = 14;
@@ -1927,6 +1940,7 @@ static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev)
				tdma_case = 15;
			else
				tdma_case = 20;
		}
	} else {
		/* Non-Shared-Ant */
		table_case = 112;
@@ -1937,6 +1951,11 @@ static void rtw_coex_action_bt_a2dp_pan(struct rtw_dev *rtwdev)
			tdma_case = 120;
	}

	if (wl_cpt_test)
		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[1]);
	else
		rtw_coex_set_rf_para(rtwdev, chip->wl_rf_para_rx[0]);

	rtw_coex_table(rtwdev, false, table_case);
	rtw_coex_tdma(rtwdev, false, tdma_case);
}