Commit c404dbd4 authored by Ching-Te Ku's avatar Ching-Te Ku Committed by Kalle Valo

rtw88: coex: change the coexistence mechanism for WLAN connected

Add a flag to make decision whether the mechanism
should go into free-run mode or not.
For now, it is always false, the flag assignment will
be implemented later.
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-7-pkshih@realtek.com
parent 6a910a2a
...@@ -2179,6 +2179,7 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev) ...@@ -2179,6 +2179,7 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev)
struct rtw_coex_stat *coex_stat = &coex->stat; struct rtw_coex_stat *coex_stat = &coex->stat;
struct rtw_coex_dm *coex_dm = &coex->dm; struct rtw_coex_dm *coex_dm = &coex->dm;
struct rtw_efuse *efuse = &rtwdev->efuse; struct rtw_efuse *efuse = &rtwdev->efuse;
bool freerun_check = false;
u8 algorithm; u8 algorithm;
/* Non-Shared-Ant */ /* Non-Shared-Ant */
...@@ -2198,10 +2199,15 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev) ...@@ -2198,10 +2199,15 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev)
rtw_coex_action_bt_hfp(rtwdev); rtw_coex_action_bt_hfp(rtwdev);
break; break;
case COEX_ALGO_HID: case COEX_ALGO_HID:
rtw_coex_action_bt_hid(rtwdev); if (freerun_check)
rtw_coex_action_freerun(rtwdev);
else
rtw_coex_action_bt_hid(rtwdev);
break; break;
case COEX_ALGO_A2DP: case COEX_ALGO_A2DP:
if (coex_stat->bt_a2dp_sink) if (freerun_check)
rtw_coex_action_freerun(rtwdev);
else if (coex_stat->bt_a2dp_sink)
rtw_coex_action_bt_a2dpsink(rtwdev); rtw_coex_action_bt_a2dpsink(rtwdev);
else else
rtw_coex_action_bt_a2dp(rtwdev); rtw_coex_action_bt_a2dp(rtwdev);
...@@ -2210,7 +2216,10 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev) ...@@ -2210,7 +2216,10 @@ static void rtw_coex_action_wl_connected(struct rtw_dev *rtwdev)
rtw_coex_action_bt_pan(rtwdev); rtw_coex_action_bt_pan(rtwdev);
break; break;
case COEX_ALGO_A2DP_HID: case COEX_ALGO_A2DP_HID:
rtw_coex_action_bt_a2dp_hid(rtwdev); if (freerun_check)
rtw_coex_action_freerun(rtwdev);
else
rtw_coex_action_bt_a2dp_hid(rtwdev);
break; break;
case COEX_ALGO_A2DP_PAN: case COEX_ALGO_A2DP_PAN:
rtw_coex_action_bt_a2dp_pan(rtwdev); rtw_coex_action_bt_a2dp_pan(rtwdev);
......
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