提交 466414a0 编写于 作者: J Joe Perches 提交者: Kalle Valo

rtlwifi: btcoexist: Convert BTC_PRINTK to btc_<foo>_dbg

Use a more common logging style.

Miscellanea:

o Add specific logging macros for ALGORITHM and INTERFACE types
o Output the messages at KERN_DEBUG
o Coalesce formats
o Align arguments
o Whitespace style adjustments for only these changes
Signed-off-by: NJoe Perches <joe@perches.com>
Signed-off-by: NKalle Valo <kvalo@codeaurora.org>
上级 1e812458
...@@ -70,83 +70,83 @@ static u8 halbtc8192e2ant_btrssi_state(u8 level_num, u8 rssi_thresh, ...@@ -70,83 +70,83 @@ static u8 halbtc8192e2ant_btrssi_state(u8 level_num, u8 rssi_thresh,
if (level_num == 2) { if (level_num == 2) {
if ((coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_LOW) || if ((coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_LOW) ||
(coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_STAY_LOW)) { (coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_STAY_LOW)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi pre state = LOW\n"); "BT Rssi pre state = LOW\n");
if (btrssi >= (rssi_thresh + if (btrssi >= (rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) {
btrssi_state = BTC_RSSI_STATE_HIGH; btrssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state switch to High\n"); "BT Rssi state switch to High\n");
} else { } else {
btrssi_state = BTC_RSSI_STATE_STAY_LOW; btrssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state stay at Low\n"); "BT Rssi state stay at Low\n");
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi pre state = HIGH\n"); "BT Rssi pre state = HIGH\n");
if (btrssi < rssi_thresh) { if (btrssi < rssi_thresh) {
btrssi_state = BTC_RSSI_STATE_LOW; btrssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state switch to Low\n"); "BT Rssi state switch to Low\n");
} else { } else {
btrssi_state = BTC_RSSI_STATE_STAY_HIGH; btrssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state stay at High\n"); "BT Rssi state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi thresh error!!\n"); "BT Rssi thresh error!!\n");
return coex_sta->pre_bt_rssi_state; return coex_sta->pre_bt_rssi_state;
} }
if ((coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_LOW) || if ((coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_LOW) ||
(coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_STAY_LOW)) { (coex_sta->pre_bt_rssi_state == BTC_RSSI_STATE_STAY_LOW)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi pre state = LOW\n"); "BT Rssi pre state = LOW\n");
if (btrssi >= (rssi_thresh + if (btrssi >= (rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) {
btrssi_state = BTC_RSSI_STATE_MEDIUM; btrssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state switch to Medium\n"); "BT Rssi state switch to Medium\n");
} else { } else {
btrssi_state = BTC_RSSI_STATE_STAY_LOW; btrssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state stay at Low\n"); "BT Rssi state stay at Low\n");
} }
} else if ((coex_sta->pre_bt_rssi_state == } else if ((coex_sta->pre_bt_rssi_state ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
(coex_sta->pre_bt_rssi_state == (coex_sta->pre_bt_rssi_state ==
BTC_RSSI_STATE_STAY_MEDIUM)) { BTC_RSSI_STATE_STAY_MEDIUM)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi pre state = MEDIUM\n"); "[BTCoex], BT Rssi pre state = MEDIUM\n");
if (btrssi >= (rssi_thresh1 + if (btrssi >= (rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) {
btrssi_state = BTC_RSSI_STATE_HIGH; btrssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state switch to High\n"); "BT Rssi state switch to High\n");
} else if (btrssi < rssi_thresh) { } else if (btrssi < rssi_thresh) {
btrssi_state = BTC_RSSI_STATE_LOW; btrssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state switch to Low\n"); "BT Rssi state switch to Low\n");
} else { } else {
btrssi_state = BTC_RSSI_STATE_STAY_MEDIUM; btrssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state stay at Medium\n"); "BT Rssi state stay at Medium\n");
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi pre state = HIGH\n"); "BT Rssi pre state = HIGH\n");
if (btrssi < rssi_thresh1) { if (btrssi < rssi_thresh1) {
btrssi_state = BTC_RSSI_STATE_MEDIUM; btrssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state switch to Medium\n"); "BT Rssi state switch to Medium\n");
} else { } else {
btrssi_state = BTC_RSSI_STATE_STAY_HIGH; btrssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"BT Rssi state stay at High\n"); "BT Rssi state stay at High\n");
} }
} }
} }
...@@ -173,32 +173,28 @@ static u8 halbtc8192e2ant_wifirssi_state(struct btc_coexist *btcoexist, ...@@ -173,32 +173,28 @@ static u8 halbtc8192e2ant_wifirssi_state(struct btc_coexist *btcoexist,
if (wifirssi >= (rssi_thresh + if (wifirssi >= (rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) {
wifirssi_state = BTC_RSSI_STATE_HIGH; wifirssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state switch to High\n");
"wifi RSSI state switch to High\n");
} else { } else {
wifirssi_state = BTC_RSSI_STATE_STAY_LOW; wifirssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state stay at Low\n");
"wifi RSSI state stay at Low\n");
} }
} else { } else {
if (wifirssi < rssi_thresh) { if (wifirssi < rssi_thresh) {
wifirssi_state = BTC_RSSI_STATE_LOW; wifirssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state switch to Low\n");
"wifi RSSI state switch to Low\n");
} else { } else {
wifirssi_state = BTC_RSSI_STATE_STAY_HIGH; wifirssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state stay at High\n");
"wifi RSSI state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_WIFI_RSSI_STATE, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
"wifi RSSI thresh error!!\n"); "wifi RSSI thresh error!!\n");
return coex_sta->pre_wifi_rssi_state[index]; return coex_sta->pre_wifi_rssi_state[index];
} }
...@@ -209,14 +205,12 @@ static u8 halbtc8192e2ant_wifirssi_state(struct btc_coexist *btcoexist, ...@@ -209,14 +205,12 @@ static u8 halbtc8192e2ant_wifirssi_state(struct btc_coexist *btcoexist,
if (wifirssi >= (rssi_thresh + if (wifirssi >= (rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) {
wifirssi_state = BTC_RSSI_STATE_MEDIUM; wifirssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state switch to Medium\n");
"wifi RSSI state switch to Medium\n");
} else { } else {
wifirssi_state = BTC_RSSI_STATE_STAY_LOW; wifirssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state stay at Low\n");
"wifi RSSI state stay at Low\n");
} }
} else if ((coex_sta->pre_wifi_rssi_state[index] == } else if ((coex_sta->pre_wifi_rssi_state[index] ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -225,31 +219,26 @@ static u8 halbtc8192e2ant_wifirssi_state(struct btc_coexist *btcoexist, ...@@ -225,31 +219,26 @@ static u8 halbtc8192e2ant_wifirssi_state(struct btc_coexist *btcoexist,
if (wifirssi >= (rssi_thresh1 + if (wifirssi >= (rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8192E_2ANT)) {
wifirssi_state = BTC_RSSI_STATE_HIGH; wifirssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state switch to High\n");
"wifi RSSI state switch to High\n");
} else if (wifirssi < rssi_thresh) { } else if (wifirssi < rssi_thresh) {
wifirssi_state = BTC_RSSI_STATE_LOW; wifirssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state switch to Low\n");
"wifi RSSI state switch to Low\n");
} else { } else {
wifirssi_state = BTC_RSSI_STATE_STAY_MEDIUM; wifirssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state stay at Medium\n");
"wifi RSSI state stay at Medium\n");
} }
} else { } else {
if (wifirssi < rssi_thresh1) { if (wifirssi < rssi_thresh1) {
wifirssi_state = BTC_RSSI_STATE_MEDIUM; wifirssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state switch to Medium\n");
"wifi RSSI state switch to Medium\n");
} else { } else {
wifirssi_state = BTC_RSSI_STATE_STAY_HIGH; wifirssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "wifi RSSI state stay at High\n");
"wifi RSSI state stay at High\n");
} }
} }
} }
...@@ -284,26 +273,26 @@ static void btc8192e2ant_monitor_bt_enable_dis(struct btc_coexist *btcoexist) ...@@ -284,26 +273,26 @@ static void btc8192e2ant_monitor_bt_enable_dis(struct btc_coexist *btcoexist)
bt_disabled = false; bt_disabled = false;
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE,
&bt_disabled); &bt_disabled);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is enabled !!\n"); "[BTCoex], BT is enabled !!\n");
} else { } else {
bt_disable_cnt++; bt_disable_cnt++;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], bt all counters = 0, %d times!!\n", "[BTCoex], bt all counters = 0, %d times!!\n",
bt_disable_cnt); bt_disable_cnt);
if (bt_disable_cnt >= 2) { if (bt_disable_cnt >= 2) {
bt_disabled = true; bt_disabled = true;
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE,
&bt_disabled); &bt_disabled);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is disabled !!\n"); "[BTCoex], BT is disabled !!\n");
} }
} }
if (pre_bt_disabled != bt_disabled) { if (pre_bt_disabled != bt_disabled) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is from %s to %s!!\n", "[BTCoex], BT is from %s to %s!!\n",
(pre_bt_disabled ? "disabled" : "enabled"), (pre_bt_disabled ? "disabled" : "enabled"),
(bt_disabled ? "disabled" : "enabled")); (bt_disabled ? "disabled" : "enabled"));
pre_bt_disabled = bt_disabled; pre_bt_disabled = bt_disabled;
} }
} }
...@@ -499,12 +488,12 @@ static void halbtc8192e2ant_monitor_bt_ctr(struct btc_coexist *btcoexist) ...@@ -499,12 +488,12 @@ static void halbtc8192e2ant_monitor_bt_ctr(struct btc_coexist *btcoexist)
coex_sta->low_priority_tx = reg_lp_tx; coex_sta->low_priority_tx = reg_lp_tx;
coex_sta->low_priority_rx = reg_lp_rx; coex_sta->low_priority_rx = reg_lp_rx;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex] High Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n", "[BTCoex] High Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n",
reg_hp_txrx, reg_hp_tx, reg_hp_tx, reg_hp_rx, reg_hp_rx); reg_hp_txrx, reg_hp_tx, reg_hp_tx, reg_hp_rx, reg_hp_rx);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex] Low Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n", "[BTCoex] Low Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n",
reg_lp_txrx, reg_lp_tx, reg_lp_tx, reg_lp_rx, reg_lp_rx); reg_lp_txrx, reg_lp_tx, reg_lp_tx, reg_lp_rx, reg_lp_rx);
/* reset counter */ /* reset counter */
btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc); btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc);
...@@ -518,9 +507,9 @@ static void halbtc8192e2ant_querybt_info(struct btc_coexist *btcoexist) ...@@ -518,9 +507,9 @@ static void halbtc8192e2ant_querybt_info(struct btc_coexist *btcoexist)
h2c_parameter[0] |= BIT0; /* trigger */ h2c_parameter[0] |= BIT0; /* trigger */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n", "[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter);
} }
...@@ -592,8 +581,8 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -592,8 +581,8 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hson); btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hson);
if (!bt_link_info->bt_link_exist) { if (!bt_link_info->bt_link_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"No BT link exists!!!\n"); "No BT link exists!!!\n");
return algorithm; return algorithm;
} }
...@@ -608,27 +597,27 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -608,27 +597,27 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
if (numdiffprofile == 1) { if (numdiffprofile == 1) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO only\n"); "SCO only\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_SCO; algorithm = BT_8192E_2ANT_COEX_ALGO_SCO;
} else { } else {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID only\n"); "HID only\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_HID; algorithm = BT_8192E_2ANT_COEX_ALGO_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"A2DP only\n"); "A2DP only\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_A2DP; algorithm = BT_8192E_2ANT_COEX_ALGO_A2DP;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"PAN(HS) only\n"); "PAN(HS) only\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_PANHS; BT_8192E_2ANT_COEX_ALGO_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"PAN(EDR) only\n"); "PAN(EDR) only\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_PANEDR; BT_8192E_2ANT_COEX_ALGO_PANEDR;
} }
...@@ -637,21 +626,21 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -637,21 +626,21 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
} else if (numdiffprofile == 2) { } else if (numdiffprofile == 2) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + HID\n"); "SCO + HID\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_SCO; algorithm = BT_8192E_2ANT_COEX_ALGO_SCO;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + A2DP ==> SCO\n"); "SCO + A2DP ==> SCO\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8192E_2ANT_COEX_ALGO_PANEDR_HID;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + PAN(HS)\n"); "SCO + PAN(HS)\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_SCO; algorithm = BT_8192E_2ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + PAN(EDR)\n"); "SCO + PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_SCO_PAN; BT_8192E_2ANT_COEX_ALGO_SCO_PAN;
} }
...@@ -660,38 +649,38 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -660,38 +649,38 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (stack_info->num_of_hid >= 2) { if (stack_info->num_of_hid >= 2) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID*2 + A2DP\n"); "HID*2 + A2DP\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_HID_A2DP_PANEDR; BT_8192E_2ANT_COEX_ALGO_HID_A2DP_PANEDR;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID + A2DP\n"); "HID + A2DP\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_HID_A2DP; BT_8192E_2ANT_COEX_ALGO_HID_A2DP;
} }
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID + PAN(HS)\n"); "HID + PAN(HS)\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_HID; algorithm = BT_8192E_2ANT_COEX_ALGO_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID + PAN(EDR)\n"); "HID + PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_PANEDR_HID; BT_8192E_2ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"A2DP + PAN(HS)\n"); "A2DP + PAN(HS)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_A2DP_PANHS; BT_8192E_2ANT_COEX_ALGO_A2DP_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"A2DP + PAN(EDR)\n"); "A2DP + PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_PANEDR_A2DP; BT_8192E_2ANT_COEX_ALGO_PANEDR_A2DP;
} }
...@@ -701,30 +690,30 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -701,30 +690,30 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + HID + A2DP ==> HID\n"); "SCO + HID + A2DP ==> HID\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8192E_2ANT_COEX_ALGO_PANEDR_HID;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + HID + PAN(HS)\n"); "SCO + HID + PAN(HS)\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_SCO; algorithm = BT_8192E_2ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + HID + PAN(EDR)\n"); "SCO + HID + PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_SCO_PAN; BT_8192E_2ANT_COEX_ALGO_SCO_PAN;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + A2DP + PAN(HS)\n"); "SCO + A2DP + PAN(HS)\n");
algorithm = BT_8192E_2ANT_COEX_ALGO_SCO; algorithm = BT_8192E_2ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO + A2DP + PAN(EDR)\n"); "SCO + A2DP + PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_PANEDR_HID; BT_8192E_2ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -734,13 +723,13 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -734,13 +723,13 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID + A2DP + PAN(HS)\n"); "HID + A2DP + PAN(HS)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_HID_A2DP; BT_8192E_2ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"HID + A2DP + PAN(EDR)\n"); "HID + A2DP + PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_HID_A2DP_PANEDR; BT_8192E_2ANT_COEX_ALGO_HID_A2DP_PANEDR;
} }
...@@ -752,12 +741,12 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -752,12 +741,12 @@ static u8 halbtc8192e2ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hson) { if (bt_hson) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"ErrorSCO+HID+A2DP+PAN(HS)\n"); "ErrorSCO+HID+A2DP+PAN(HS)\n");
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"SCO+HID+A2DP+PAN(EDR)\n"); "SCO+HID+A2DP+PAN(EDR)\n");
algorithm = algorithm =
BT_8192E_2ANT_COEX_ALGO_PANEDR_HID; BT_8192E_2ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -778,10 +767,10 @@ static void halbtc8192e2ant_setfw_dac_swinglevel(struct btc_coexist *btcoexist, ...@@ -778,10 +767,10 @@ static void halbtc8192e2ant_setfw_dac_swinglevel(struct btc_coexist *btcoexist,
*/ */
h2c_parameter[0] = dac_swinglvl; h2c_parameter[0] = dac_swinglvl;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Set Dac Swing Level = 0x%x\n", dac_swinglvl); "[BTCoex], Set Dac Swing Level = 0x%x\n", dac_swinglvl);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x64 = 0x%x\n", h2c_parameter[0]); "[BTCoex], FW write 0x64 = 0x%x\n", h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x64, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x64, 1, h2c_parameter);
} }
...@@ -793,9 +782,9 @@ static void halbtc8192e2ant_set_fwdec_btpwr(struct btc_coexist *btcoexist, ...@@ -793,9 +782,9 @@ static void halbtc8192e2ant_set_fwdec_btpwr(struct btc_coexist *btcoexist,
h2c_parameter[0] = dec_btpwr_lvl; h2c_parameter[0] = dec_btpwr_lvl;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex] decrease Bt Power level = %d, FW write 0x62 = 0x%x\n", "[BTCoex] decrease Bt Power level = %d, FW write 0x62 = 0x%x\n",
dec_btpwr_lvl, h2c_parameter[0]); dec_btpwr_lvl, h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x62, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x62, 1, h2c_parameter);
} }
...@@ -803,15 +792,15 @@ static void halbtc8192e2ant_set_fwdec_btpwr(struct btc_coexist *btcoexist, ...@@ -803,15 +792,15 @@ static void halbtc8192e2ant_set_fwdec_btpwr(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_dec_btpwr(struct btc_coexist *btcoexist, static void halbtc8192e2ant_dec_btpwr(struct btc_coexist *btcoexist,
bool force_exec, u8 dec_btpwr_lvl) bool force_exec, u8 dec_btpwr_lvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s Dec BT power level = %d\n", "[BTCoex], %s Dec BT power level = %d\n",
(force_exec ? "force to" : ""), dec_btpwr_lvl); (force_exec ? "force to" : ""), dec_btpwr_lvl);
coex_dm->cur_dec_bt_pwr = dec_btpwr_lvl; coex_dm->cur_dec_bt_pwr = dec_btpwr_lvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], preBtDecPwrLvl=%d, curBtDecPwrLvl=%d\n", "[BTCoex], preBtDecPwrLvl=%d, curBtDecPwrLvl=%d\n",
coex_dm->pre_dec_bt_pwr, coex_dm->cur_dec_bt_pwr); coex_dm->pre_dec_bt_pwr, coex_dm->cur_dec_bt_pwr);
} }
halbtc8192e2ant_set_fwdec_btpwr(btcoexist, coex_dm->cur_dec_bt_pwr); halbtc8192e2ant_set_fwdec_btpwr(btcoexist, coex_dm->cur_dec_bt_pwr);
...@@ -828,10 +817,10 @@ static void halbtc8192e2ant_set_bt_autoreport(struct btc_coexist *btcoexist, ...@@ -828,10 +817,10 @@ static void halbtc8192e2ant_set_bt_autoreport(struct btc_coexist *btcoexist,
if (enable_autoreport) if (enable_autoreport)
h2c_parameter[0] |= BIT0; h2c_parameter[0] |= BIT0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], BT FW auto report : %s, FW write 0x68 = 0x%x\n", "[BTCoex], BT FW auto report : %s, FW write 0x68 = 0x%x\n",
(enable_autoreport ? "Enabled!!" : "Disabled!!"), (enable_autoreport ? "Enabled!!" : "Disabled!!"),
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter);
} }
...@@ -840,17 +829,17 @@ static void halbtc8192e2ant_bt_autoreport(struct btc_coexist *btcoexist, ...@@ -840,17 +829,17 @@ static void halbtc8192e2ant_bt_autoreport(struct btc_coexist *btcoexist,
bool force_exec, bool force_exec,
bool enable_autoreport) bool enable_autoreport)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s BT Auto report = %s\n", "[BTCoex], %s BT Auto report = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((enable_autoreport) ? "Enabled" : "Disabled")); ((enable_autoreport) ? "Enabled" : "Disabled"));
coex_dm->cur_bt_auto_report = enable_autoreport; coex_dm->cur_bt_auto_report = enable_autoreport;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex] bPreBtAutoReport=%d, bCurBtAutoReport=%d\n", "[BTCoex] bPreBtAutoReport=%d, bCurBtAutoReport=%d\n",
coex_dm->pre_bt_auto_report, coex_dm->pre_bt_auto_report,
coex_dm->cur_bt_auto_report); coex_dm->cur_bt_auto_report);
if (coex_dm->pre_bt_auto_report == coex_dm->cur_bt_auto_report) if (coex_dm->pre_bt_auto_report == coex_dm->cur_bt_auto_report)
return; return;
...@@ -864,16 +853,16 @@ static void halbtc8192e2ant_bt_autoreport(struct btc_coexist *btcoexist, ...@@ -864,16 +853,16 @@ static void halbtc8192e2ant_bt_autoreport(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_fw_dac_swinglvl(struct btc_coexist *btcoexist, static void halbtc8192e2ant_fw_dac_swinglvl(struct btc_coexist *btcoexist,
bool force_exec, u8 fw_dac_swinglvl) bool force_exec, u8 fw_dac_swinglvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s set FW Dac Swing level = %d\n", "[BTCoex], %s set FW Dac Swing level = %d\n",
(force_exec ? "force to" : ""), fw_dac_swinglvl); (force_exec ? "force to" : ""), fw_dac_swinglvl);
coex_dm->cur_fw_dac_swing_lvl = fw_dac_swinglvl; coex_dm->cur_fw_dac_swing_lvl = fw_dac_swinglvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex] preFwDacSwingLvl=%d, curFwDacSwingLvl=%d\n", "[BTCoex] preFwDacSwingLvl=%d, curFwDacSwingLvl=%d\n",
coex_dm->pre_fw_dac_swing_lvl, coex_dm->pre_fw_dac_swing_lvl,
coex_dm->cur_fw_dac_swing_lvl); coex_dm->cur_fw_dac_swing_lvl);
if (coex_dm->pre_fw_dac_swing_lvl == if (coex_dm->pre_fw_dac_swing_lvl ==
coex_dm->cur_fw_dac_swing_lvl) coex_dm->cur_fw_dac_swing_lvl)
...@@ -891,8 +880,8 @@ static void btc8192e2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -891,8 +880,8 @@ static void btc8192e2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
{ {
if (rx_rf_shrink_on) { if (rx_rf_shrink_on) {
/* Shrink RF Rx LPF corner */ /* Shrink RF Rx LPF corner */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Shrink RF Rx LPF corner!!\n"); "[BTCoex], Shrink RF Rx LPF corner!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e,
0xfffff, 0xffffc); 0xfffff, 0xffffc);
} else { } else {
...@@ -900,8 +889,8 @@ static void btc8192e2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -900,8 +889,8 @@ static void btc8192e2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
* After initialized, we can use coex_dm->btRf0x1eBackup * After initialized, we can use coex_dm->btRf0x1eBackup
*/ */
if (btcoexist->initilized) { if (btcoexist->initilized) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Resume RF Rx LPF corner!!\n"); "[BTCoex], Resume RF Rx LPF corner!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e,
0xfffff, 0xfffff,
coex_dm->bt_rf0x1e_backup); coex_dm->bt_rf0x1e_backup);
...@@ -912,17 +901,17 @@ static void btc8192e2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -912,17 +901,17 @@ static void btc8192e2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_rf_shrink(struct btc_coexist *btcoexist, static void halbtc8192e2ant_rf_shrink(struct btc_coexist *btcoexist,
bool force_exec, bool rx_rf_shrink_on) bool force_exec, bool rx_rf_shrink_on)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn Rx RF Shrink = %s\n", "[BTCoex], %s turn Rx RF Shrink = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((rx_rf_shrink_on) ? "ON" : "OFF")); ((rx_rf_shrink_on) ? "ON" : "OFF"));
coex_dm->cur_rf_rx_lpf_shrink = rx_rf_shrink_on; coex_dm->cur_rf_rx_lpf_shrink = rx_rf_shrink_on;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex]bPreRfRxLpfShrink=%d,bCurRfRxLpfShrink=%d\n", "[BTCoex]bPreRfRxLpfShrink=%d,bCurRfRxLpfShrink=%d\n",
coex_dm->pre_rf_rx_lpf_shrink, coex_dm->pre_rf_rx_lpf_shrink,
coex_dm->cur_rf_rx_lpf_shrink); coex_dm->cur_rf_rx_lpf_shrink);
if (coex_dm->pre_rf_rx_lpf_shrink == if (coex_dm->pre_rf_rx_lpf_shrink ==
coex_dm->cur_rf_rx_lpf_shrink) coex_dm->cur_rf_rx_lpf_shrink)
...@@ -939,8 +928,8 @@ static void halbtc8192e2ant_set_dac_swingreg(struct btc_coexist *btcoexist, ...@@ -939,8 +928,8 @@ static void halbtc8192e2ant_set_dac_swingreg(struct btc_coexist *btcoexist,
{ {
u8 val = (u8)level; u8 val = (u8)level;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Write SwDacSwing = 0x%x\n", level); "[BTCoex], Write SwDacSwing = 0x%x\n", level);
btcoexist->btc_write_1byte_bitmask(btcoexist, 0x883, 0x3e, val); btcoexist->btc_write_1byte_bitmask(btcoexist, 0x883, 0x3e, val);
} }
...@@ -958,22 +947,22 @@ static void halbtc8192e2ant_DacSwing(struct btc_coexist *btcoexist, ...@@ -958,22 +947,22 @@ static void halbtc8192e2ant_DacSwing(struct btc_coexist *btcoexist,
bool force_exec, bool dac_swingon, bool force_exec, bool dac_swingon,
u32 dac_swinglvl) u32 dac_swinglvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn DacSwing=%s, dac_swinglvl = 0x%x\n", "[BTCoex], %s turn DacSwing=%s, dac_swinglvl = 0x%x\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((dac_swingon) ? "ON" : "OFF"), dac_swinglvl); ((dac_swingon) ? "ON" : "OFF"), dac_swinglvl);
coex_dm->cur_dac_swing_on = dac_swingon; coex_dm->cur_dac_swing_on = dac_swingon;
coex_dm->cur_dac_swing_lvl = dac_swinglvl; coex_dm->cur_dac_swing_lvl = dac_swinglvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], bPreDacSwingOn=%d, preDacSwingLvl = 0x%x, ", "[BTCoex], bPreDacSwingOn=%d, preDacSwingLvl = 0x%x, ",
coex_dm->pre_dac_swing_on, coex_dm->pre_dac_swing_on,
coex_dm->pre_dac_swing_lvl); coex_dm->pre_dac_swing_lvl);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"bCurDacSwingOn=%d, curDacSwingLvl = 0x%x\n", "bCurDacSwingOn=%d, curDacSwingLvl = 0x%x\n",
coex_dm->cur_dac_swing_on, coex_dm->cur_dac_swing_on,
coex_dm->cur_dac_swing_lvl); coex_dm->cur_dac_swing_lvl);
if ((coex_dm->pre_dac_swing_on == coex_dm->cur_dac_swing_on) && if ((coex_dm->pre_dac_swing_on == coex_dm->cur_dac_swing_on) &&
(coex_dm->pre_dac_swing_lvl == coex_dm->cur_dac_swing_lvl)) (coex_dm->pre_dac_swing_lvl == coex_dm->cur_dac_swing_lvl))
...@@ -991,8 +980,8 @@ static void halbtc8192e2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -991,8 +980,8 @@ static void halbtc8192e2ant_set_agc_table(struct btc_coexist *btcoexist,
{ {
/* BB AGC Gain Table */ /* BB AGC Gain Table */
if (agc_table_en) { if (agc_table_en) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], BB Agc Table On!\n"); "[BTCoex], BB Agc Table On!\n");
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x0a1A0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x0a1A0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x091B0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x091B0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x081C0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x081C0001);
...@@ -1000,8 +989,8 @@ static void halbtc8192e2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -1000,8 +989,8 @@ static void halbtc8192e2ant_set_agc_table(struct btc_coexist *btcoexist,
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x061E0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x061E0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x051F0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x051F0001);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], BB Agc Table Off!\n"); "[BTCoex], BB Agc Table Off!\n");
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xaa1A0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xaa1A0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa91B0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa91B0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa81C0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa81C0001);
...@@ -1014,16 +1003,17 @@ static void halbtc8192e2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -1014,16 +1003,17 @@ static void halbtc8192e2ant_set_agc_table(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_AgcTable(struct btc_coexist *btcoexist, static void halbtc8192e2ant_AgcTable(struct btc_coexist *btcoexist,
bool force_exec, bool agc_table_en) bool force_exec, bool agc_table_en)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s %s Agc Table\n", "[BTCoex], %s %s Agc Table\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((agc_table_en) ? "Enable" : "Disable")); ((agc_table_en) ? "Enable" : "Disable"));
coex_dm->cur_agc_table_en = agc_table_en; coex_dm->cur_agc_table_en = agc_table_en;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], bPreAgcTableEn=%d, bCurAgcTableEn=%d\n", "[BTCoex], bPreAgcTableEn=%d, bCurAgcTableEn=%d\n",
coex_dm->pre_agc_table_en, coex_dm->cur_agc_table_en); coex_dm->pre_agc_table_en,
coex_dm->cur_agc_table_en);
if (coex_dm->pre_agc_table_en == coex_dm->cur_agc_table_en) if (coex_dm->pre_agc_table_en == coex_dm->cur_agc_table_en)
return; return;
...@@ -1037,20 +1027,20 @@ static void halbtc8192e2ant_set_coex_table(struct btc_coexist *btcoexist, ...@@ -1037,20 +1027,20 @@ static void halbtc8192e2ant_set_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c0, u32 val0x6c4, u32 val0x6c0, u32 val0x6c4,
u32 val0x6c8, u8 val0x6cc) u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0); "[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0);
btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0); btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4); "[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4);
btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4); btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8); "[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8);
btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8); btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc); "[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc);
btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc); btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc);
} }
...@@ -1059,30 +1049,30 @@ static void halbtc8192e2ant_coex_table(struct btc_coexist *btcoexist, ...@@ -1059,30 +1049,30 @@ static void halbtc8192e2ant_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c0, u32 val0x6c4, u32 val0x6c0, u32 val0x6c4,
u32 val0x6c8, u8 val0x6cc) u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s write Coex Table 0x6c0 = 0x%x, ", "[BTCoex], %s write Coex Table 0x6c0 = 0x%x, ",
(force_exec ? "force to" : ""), val0x6c0); (force_exec ? "force to" : ""), val0x6c0);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"0x6c4 = 0x%x, 0x6c8 = 0x%x, 0x6cc = 0x%x\n", "0x6c4 = 0x%x, 0x6c8 = 0x%x, 0x6cc = 0x%x\n",
val0x6c4, val0x6c8, val0x6cc); val0x6c4, val0x6c8, val0x6cc);
coex_dm->cur_val0x6c0 = val0x6c0; coex_dm->cur_val0x6c0 = val0x6c0;
coex_dm->cur_val0x6c4 = val0x6c4; coex_dm->cur_val0x6c4 = val0x6c4;
coex_dm->cur_val0x6c8 = val0x6c8; coex_dm->cur_val0x6c8 = val0x6c8;
coex_dm->cur_val0x6cc = val0x6cc; coex_dm->cur_val0x6cc = val0x6cc;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], preVal0x6c0 = 0x%x, preVal0x6c4 = 0x%x, ", "[BTCoex], preVal0x6c0 = 0x%x, preVal0x6c4 = 0x%x, ",
coex_dm->pre_val0x6c0, coex_dm->pre_val0x6c4); coex_dm->pre_val0x6c0, coex_dm->pre_val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"preVal0x6c8 = 0x%x, preVal0x6cc = 0x%x !!\n", "preVal0x6c8 = 0x%x, preVal0x6cc = 0x%x !!\n",
coex_dm->pre_val0x6c8, coex_dm->pre_val0x6cc); coex_dm->pre_val0x6c8, coex_dm->pre_val0x6cc);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], curVal0x6c0 = 0x%x, curVal0x6c4 = 0x%x,\n", "[BTCoex], curVal0x6c0 = 0x%x, curVal0x6c4 = 0x%x\n",
coex_dm->cur_val0x6c0, coex_dm->cur_val0x6c4); coex_dm->cur_val0x6c0, coex_dm->cur_val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"curVal0x6c8 = 0x%x, curVal0x6cc = 0x%x !!\n", "curVal0x6c8 = 0x%x, curVal0x6cc = 0x%x !!\n",
coex_dm->cur_val0x6c8, coex_dm->cur_val0x6cc); coex_dm->cur_val0x6c8, coex_dm->cur_val0x6cc);
if ((coex_dm->pre_val0x6c0 == coex_dm->cur_val0x6c0) && if ((coex_dm->pre_val0x6c0 == coex_dm->cur_val0x6c0) &&
(coex_dm->pre_val0x6c4 == coex_dm->cur_val0x6c4) && (coex_dm->pre_val0x6c4 == coex_dm->cur_val0x6c4) &&
...@@ -1136,9 +1126,9 @@ static void halbtc8192e2ant_set_fw_ignore_wlanact(struct btc_coexist *btcoexist, ...@@ -1136,9 +1126,9 @@ static void halbtc8192e2ant_set_fw_ignore_wlanact(struct btc_coexist *btcoexist,
if (enable) if (enable)
h2c_parameter[0] |= BIT0; /* function enable */ h2c_parameter[0] |= BIT0; /* function enable */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex]set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n", "[BTCoex]set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter);
} }
...@@ -1146,18 +1136,18 @@ static void halbtc8192e2ant_set_fw_ignore_wlanact(struct btc_coexist *btcoexist, ...@@ -1146,18 +1136,18 @@ static void halbtc8192e2ant_set_fw_ignore_wlanact(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_IgnoreWlanAct(struct btc_coexist *btcoexist, static void halbtc8192e2ant_IgnoreWlanAct(struct btc_coexist *btcoexist,
bool force_exec, bool enable) bool force_exec, bool enable)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn Ignore WlanAct %s\n", "[BTCoex], %s turn Ignore WlanAct %s\n",
(force_exec ? "force to" : ""), (enable ? "ON" : "OFF")); (force_exec ? "force to" : ""), (enable ? "ON" : "OFF"));
coex_dm->cur_ignore_wlan_act = enable; coex_dm->cur_ignore_wlan_act = enable;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], bPreIgnoreWlanAct = %d ", "[BTCoex], bPreIgnoreWlanAct = %d ",
coex_dm->pre_ignore_wlan_act); coex_dm->pre_ignore_wlan_act);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"bCurIgnoreWlanAct = %d!!\n", "bCurIgnoreWlanAct = %d!!\n",
coex_dm->cur_ignore_wlan_act); coex_dm->cur_ignore_wlan_act);
if (coex_dm->pre_ignore_wlan_act == if (coex_dm->pre_ignore_wlan_act ==
coex_dm->cur_ignore_wlan_act) coex_dm->cur_ignore_wlan_act)
...@@ -1185,11 +1175,11 @@ static void halbtc8192e2ant_SetFwPstdma(struct btc_coexist *btcoexist, u8 byte1, ...@@ -1185,11 +1175,11 @@ static void halbtc8192e2ant_SetFwPstdma(struct btc_coexist *btcoexist, u8 byte1,
coex_dm->ps_tdma_para[3] = byte4; coex_dm->ps_tdma_para[3] = byte4;
coex_dm->ps_tdma_para[4] = byte5; coex_dm->ps_tdma_para[4] = byte5;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x60(5bytes) = 0x%x%08x\n", "[BTCoex], FW write 0x60(5bytes) = 0x%x%08x\n",
h2c_parameter[0], h2c_parameter[0],
h2c_parameter[1] << 24 | h2c_parameter[2] << 16 | h2c_parameter[1] << 24 | h2c_parameter[2] << 16 |
h2c_parameter[3] << 8 | h2c_parameter[4]); h2c_parameter[3] << 8 | h2c_parameter[4]);
btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter);
} }
...@@ -1213,20 +1203,20 @@ static void btc8192e2ant_sw_mec2(struct btc_coexist *btcoexist, ...@@ -1213,20 +1203,20 @@ static void btc8192e2ant_sw_mec2(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_ps_tdma(struct btc_coexist *btcoexist, static void halbtc8192e2ant_ps_tdma(struct btc_coexist *btcoexist,
bool force_exec, bool turn_on, u8 type) bool force_exec, bool turn_on, u8 type)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn %s PS TDMA, type=%d\n", "[BTCoex], %s turn %s PS TDMA, type=%d\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
(turn_on ? "ON" : "OFF"), type); (turn_on ? "ON" : "OFF"), type);
coex_dm->cur_ps_tdma_on = turn_on; coex_dm->cur_ps_tdma_on = turn_on;
coex_dm->cur_ps_tdma = type; coex_dm->cur_ps_tdma = type;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], bPrePsTdmaOn = %d, bCurPsTdmaOn = %d!!\n", "[BTCoex], bPrePsTdmaOn = %d, bCurPsTdmaOn = %d!!\n",
coex_dm->pre_ps_tdma_on, coex_dm->cur_ps_tdma_on); coex_dm->pre_ps_tdma_on, coex_dm->cur_ps_tdma_on);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], prePsTdma = %d, curPsTdma = %d!!\n", "[BTCoex], prePsTdma = %d, curPsTdma = %d!!\n",
coex_dm->pre_ps_tdma, coex_dm->cur_ps_tdma); coex_dm->pre_ps_tdma, coex_dm->cur_ps_tdma);
if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) && if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) &&
(coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma)) (coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma))
...@@ -1353,8 +1343,8 @@ static void halbtc8192e2ant_set_switch_sstype(struct btc_coexist *btcoexist, ...@@ -1353,8 +1343,8 @@ static void halbtc8192e2ant_set_switch_sstype(struct btc_coexist *btcoexist,
u8 mimops = BTC_MIMO_PS_DYNAMIC; u8 mimops = BTC_MIMO_PS_DYNAMIC;
u32 disra_mask = 0x0; u32 disra_mask = 0x0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], REAL set SS Type = %d\n", sstype); "[BTCoex], REAL set SS Type = %d\n", sstype);
disra_mask = halbtc8192e2ant_decidera_mask(btcoexist, sstype, disra_mask = halbtc8192e2ant_decidera_mask(btcoexist, sstype,
coex_dm->curra_masktype); coex_dm->curra_masktype);
...@@ -1386,9 +1376,9 @@ static void halbtc8192e2ant_set_switch_sstype(struct btc_coexist *btcoexist, ...@@ -1386,9 +1376,9 @@ static void halbtc8192e2ant_set_switch_sstype(struct btc_coexist *btcoexist,
static void halbtc8192e2ant_switch_sstype(struct btc_coexist *btcoexist, static void halbtc8192e2ant_switch_sstype(struct btc_coexist *btcoexist,
bool force_exec, u8 new_sstype) bool force_exec, u8 new_sstype)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], %s Switch SS Type = %d\n", "[BTCoex], %s Switch SS Type = %d\n",
(force_exec ? "force to" : ""), new_sstype); (force_exec ? "force to" : ""), new_sstype);
coex_dm->cur_sstype = new_sstype; coex_dm->cur_sstype = new_sstype;
if (!force_exec) { if (!force_exec) {
...@@ -1469,8 +1459,8 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1469,8 +1459,8 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist)
btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER, btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
&low_pwr_disable); &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non-connected idle!!\n"); "[BTCoex], Wifi non-connected idle!!\n");
if ((BT_8192E_2ANT_BT_STATUS_NON_CONNECTED_IDLE == if ((BT_8192E_2ANT_BT_STATUS_NON_CONNECTED_IDLE ==
coex_dm->bt_status) || coex_dm->bt_status) ||
...@@ -1506,8 +1496,8 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1506,8 +1496,8 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist)
BTC_SET_ACT_DISABLE_LOW_POWER, BTC_SET_ACT_DISABLE_LOW_POWER,
&low_pwr_disable); &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Wifi connected + BT non connected-idle!!\n"); "Wifi connected + BT non connected-idle!!\n");
halbtc8192e2ant_switch_sstype(btcoexist, halbtc8192e2ant_switch_sstype(btcoexist,
NORMAL_EXEC, 2); NORMAL_EXEC, 2);
...@@ -1534,8 +1524,8 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1534,8 +1524,8 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist)
if (bt_hson) if (bt_hson)
return false; return false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Wifi connected + BT connected-idle!!\n"); "Wifi connected + BT connected-idle!!\n");
halbtc8192e2ant_switch_sstype(btcoexist, halbtc8192e2ant_switch_sstype(btcoexist,
NORMAL_EXEC, 2); NORMAL_EXEC, 2);
...@@ -1560,12 +1550,12 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1560,12 +1550,12 @@ static bool halbtc8192e2ant_is_common_action(struct btc_coexist *btcoexist)
&low_pwr_disable); &low_pwr_disable);
if (wifi_busy) { if (wifi_busy) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Wifi Connected-Busy + BT Busy!!\n"); "Wifi Connected-Busy + BT Busy!!\n");
common = false; common = false;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Wifi Connected-Idle + BT Busy!!\n"); "Wifi Connected-Idle + BT Busy!!\n");
halbtc8192e2ant_switch_sstype(btcoexist, halbtc8192e2ant_switch_sstype(btcoexist,
NORMAL_EXEC, 1); NORMAL_EXEC, 1);
...@@ -1592,9 +1582,8 @@ static void btc8192e_int1(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1592,9 +1582,8 @@ static void btc8192e_int1(struct btc_coexist *btcoexist, bool tx_pause,
int result) int result)
{ {
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 1\n");
"[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 71) { if (coex_dm->cur_ps_tdma == 71) {
halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC,
...@@ -1689,9 +1678,8 @@ static void btc8192e_int1(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1689,9 +1678,8 @@ static void btc8192e_int1(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 0\n");
"[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 71); true, 71);
...@@ -1795,9 +1783,8 @@ static void btc8192e_int2(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1795,9 +1783,8 @@ static void btc8192e_int2(struct btc_coexist *btcoexist, bool tx_pause,
int result) int result)
{ {
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 1\n");
"[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 1) { if (coex_dm->cur_ps_tdma == 1) {
halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 6); true, 6);
...@@ -1886,9 +1873,8 @@ static void btc8192e_int2(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1886,9 +1873,8 @@ static void btc8192e_int2(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 0\n");
"[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 2); true, 2);
...@@ -1983,9 +1969,8 @@ static void btc8192e_int3(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1983,9 +1969,8 @@ static void btc8192e_int3(struct btc_coexist *btcoexist, bool tx_pause,
int result) int result)
{ {
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 1\n");
"[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 1) { if (coex_dm->cur_ps_tdma == 1) {
halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 7); true, 7);
...@@ -2074,9 +2059,8 @@ static void btc8192e_int3(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -2074,9 +2059,8 @@ static void btc8192e_int3(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 0\n");
"[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8192e2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 3); true, 3);
...@@ -2178,13 +2162,13 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2178,13 +2162,13 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
int result; int result;
u8 retry_cnt = 0; u8 retry_cnt = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], TdmaDurationAdjust()\n"); "[BTCoex], TdmaDurationAdjust()\n");
if (!coex_dm->auto_tdma_adjust) { if (!coex_dm->auto_tdma_adjust) {
coex_dm->auto_tdma_adjust = true; coex_dm->auto_tdma_adjust = true;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], first run TdmaDurationAdjust()!!\n"); "[BTCoex], first run TdmaDurationAdjust()!!\n");
if (sco_hid) { if (sco_hid) {
if (tx_pause) { if (tx_pause) {
if (max_interval == 1) { if (max_interval == 1) {
...@@ -2288,11 +2272,11 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2288,11 +2272,11 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
} else { } else {
/* accquire the BT TRx retry count from BT_Info byte2 */ /* accquire the BT TRx retry count from BT_Info byte2 */
retry_cnt = coex_sta->bt_retry_cnt; retry_cnt = coex_sta->bt_retry_cnt;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], retry_cnt = %d\n", retry_cnt); "[BTCoex], retry_cnt = %d\n", retry_cnt);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], up=%d, dn=%d, m=%d, n=%d, wait_cnt=%d\n", "[BTCoex], up=%d, dn=%d, m=%d, n=%d, wait_cnt=%d\n",
up, dn, m, n, wait_cnt); up, dn, m, n, wait_cnt);
result = 0; result = 0;
wait_cnt++; wait_cnt++;
/* no retry in the last 2-second duration */ /* no retry in the last 2-second duration */
...@@ -2309,9 +2293,8 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2309,9 +2293,8 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
up = 0; up = 0;
dn = 0; dn = 0;
result = 1; result = 1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex]Increase wifi duration!!\n");
"[BTCoex]Increase wifi duration!!\n");
} }
} else if (retry_cnt <= 3) { } else if (retry_cnt <= 3) {
up--; up--;
...@@ -2334,9 +2317,8 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2334,9 +2317,8 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_cnt = 0; wait_cnt = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "Reduce wifi duration for retry<3\n");
"Reduce wifi duration for retry<3\n");
} }
} else { } else {
if (wait_cnt == 1) if (wait_cnt == 1)
...@@ -2352,12 +2334,12 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2352,12 +2334,12 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_cnt = 0; wait_cnt = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"Decrease wifi duration for retryCounter>3!!\n"); "Decrease wifi duration for retryCounter>3!!\n");
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], max Interval = %d\n", max_interval); "[BTCoex], max Interval = %d\n", max_interval);
if (max_interval == 1) if (max_interval == 1)
btc8192e_int1(btcoexist, tx_pause, result); btc8192e_int1(btcoexist, tx_pause, result);
else if (max_interval == 2) else if (max_interval == 2)
...@@ -2373,11 +2355,11 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2373,11 +2355,11 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
if (coex_dm->cur_ps_tdma != coex_dm->tdma_adj_type) { if (coex_dm->cur_ps_tdma != coex_dm->tdma_adj_type) {
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], PsTdma type dismatch!!!, "); "[BTCoex], PsTdma type dismatch!!!, ");
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"curPsTdma=%d, recordPsTdma=%d\n", "curPsTdma=%d, recordPsTdma=%d\n",
coex_dm->cur_ps_tdma, coex_dm->tdma_adj_type); coex_dm->cur_ps_tdma, coex_dm->tdma_adj_type);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link);
...@@ -2388,9 +2370,8 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2388,9 +2370,8 @@ static void halbtc8192e2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
true, true,
coex_dm->tdma_adj_type); coex_dm->tdma_adj_type);
else else
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], roaming/link/scan is under progress, will adjust next time!!!\n");
"[BTCoex], roaming/link/scan is under progress, will adjust next time!!!\n");
} }
} }
...@@ -2594,8 +2575,8 @@ static void halbtc8192e2ant_action_a2dp(struct btc_coexist *btcoexist) ...@@ -2594,8 +2575,8 @@ static void halbtc8192e2ant_action_a2dp(struct btc_coexist *btcoexist)
btrssi_state == BTC_RSSI_STATE_STAY_LOW) && btrssi_state == BTC_RSSI_STATE_STAY_LOW) &&
(wifirssi_state == BTC_RSSI_STATE_LOW || (wifirssi_state == BTC_RSSI_STATE_LOW ||
wifirssi_state == BTC_RSSI_STATE_STAY_LOW)) { wifirssi_state == BTC_RSSI_STATE_STAY_LOW)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], A2dp, wifi/bt rssi both LOW!!\n"); "[BTCoex], A2dp, wifi/bt rssi both LOW!!\n");
long_dist = true; long_dist = true;
} }
if (long_dist) { if (long_dist) {
...@@ -3100,105 +3081,105 @@ static void halbtc8192e2ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -3100,105 +3081,105 @@ static void halbtc8192e2ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
{ {
u8 algorithm = 0; u8 algorithm = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism()===>\n"); "[BTCoex], RunCoexistMechanism()===>\n");
if (btcoexist->manual_control) { if (btcoexist->manual_control) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], return for Manual CTRL <===\n"); "[BTCoex], return for Manual CTRL <===\n");
return; return;
} }
if (coex_sta->under_ips) { if (coex_sta->under_ips) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], wifi is under IPS !!!\n"); "[BTCoex], wifi is under IPS !!!\n");
return; return;
} }
algorithm = halbtc8192e2ant_action_algorithm(btcoexist); algorithm = halbtc8192e2ant_action_algorithm(btcoexist);
if (coex_sta->c2h_bt_inquiry_page && if (coex_sta->c2h_bt_inquiry_page &&
(BT_8192E_2ANT_COEX_ALGO_PANHS != algorithm)) { (BT_8192E_2ANT_COEX_ALGO_PANHS != algorithm)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT is under inquiry/page scan !!\n"); "[BTCoex], BT is under inquiry/page scan !!\n");
halbtc8192e2ant_action_bt_inquiry(btcoexist); halbtc8192e2ant_action_bt_inquiry(btcoexist);
return; return;
} }
coex_dm->cur_algorithm = algorithm; coex_dm->cur_algorithm = algorithm;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Algorithm = %d\n", coex_dm->cur_algorithm); "[BTCoex], Algorithm = %d\n", coex_dm->cur_algorithm);
if (halbtc8192e2ant_is_common_action(btcoexist)) { if (halbtc8192e2ant_is_common_action(btcoexist)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant common.\n"); "[BTCoex], Action 2-Ant common\n");
coex_dm->auto_tdma_adjust = false; coex_dm->auto_tdma_adjust = false;
} else { } else {
if (coex_dm->cur_algorithm != coex_dm->pre_algorithm) { if (coex_dm->cur_algorithm != coex_dm->pre_algorithm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex] preAlgorithm=%d, curAlgorithm=%d\n", "[BTCoex] preAlgorithm=%d, curAlgorithm=%d\n",
coex_dm->pre_algorithm, coex_dm->pre_algorithm,
coex_dm->cur_algorithm); coex_dm->cur_algorithm);
coex_dm->auto_tdma_adjust = false; coex_dm->auto_tdma_adjust = false;
} }
switch (coex_dm->cur_algorithm) { switch (coex_dm->cur_algorithm) {
case BT_8192E_2ANT_COEX_ALGO_SCO: case BT_8192E_2ANT_COEX_ALGO_SCO:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = SCO.\n"); "Action 2-Ant, algorithm = SCO\n");
halbtc8192e2ant_action_sco(btcoexist); halbtc8192e2ant_action_sco(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_SCO_PAN: case BT_8192E_2ANT_COEX_ALGO_SCO_PAN:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = SCO+PAN(EDR).\n"); "Action 2-Ant, algorithm = SCO+PAN(EDR)\n");
halbtc8192e2ant_action_sco_pan(btcoexist); halbtc8192e2ant_action_sco_pan(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_HID: case BT_8192E_2ANT_COEX_ALGO_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = HID.\n"); "Action 2-Ant, algorithm = HID\n");
halbtc8192e2ant_action_hid(btcoexist); halbtc8192e2ant_action_hid(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_A2DP: case BT_8192E_2ANT_COEX_ALGO_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = A2DP.\n"); "Action 2-Ant, algorithm = A2DP\n");
halbtc8192e2ant_action_a2dp(btcoexist); halbtc8192e2ant_action_a2dp(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_A2DP_PANHS: case BT_8192E_2ANT_COEX_ALGO_A2DP_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = A2DP+PAN(HS).\n"); "Action 2-Ant, algorithm = A2DP+PAN(HS)\n");
halbtc8192e2ant_action_a2dp_pan_hs(btcoexist); halbtc8192e2ant_action_a2dp_pan_hs(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_PANEDR: case BT_8192E_2ANT_COEX_ALGO_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = PAN(EDR).\n"); "Action 2-Ant, algorithm = PAN(EDR)\n");
halbtc8192e2ant_action_pan_edr(btcoexist); halbtc8192e2ant_action_pan_edr(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_PANHS: case BT_8192E_2ANT_COEX_ALGO_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = HS mode.\n"); "Action 2-Ant, algorithm = HS mode\n");
halbtc8192e2ant_action_pan_hs(btcoexist); halbtc8192e2ant_action_pan_hs(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_PANEDR_A2DP: case BT_8192E_2ANT_COEX_ALGO_PANEDR_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = PAN+A2DP.\n"); "Action 2-Ant, algorithm = PAN+A2DP\n");
halbtc8192e2ant_action_pan_edr_a2dp(btcoexist); halbtc8192e2ant_action_pan_edr_a2dp(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_PANEDR_HID: case BT_8192E_2ANT_COEX_ALGO_PANEDR_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = PAN(EDR)+HID.\n"); "Action 2-Ant, algorithm = PAN(EDR)+HID\n");
halbtc8192e2ant_action_pan_edr_hid(btcoexist); halbtc8192e2ant_action_pan_edr_hid(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_HID_A2DP_PANEDR: case BT_8192E_2ANT_COEX_ALGO_HID_A2DP_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = HID+A2DP+PAN.\n"); "Action 2-Ant, algorithm = HID+A2DP+PAN\n");
btc8192e2ant_action_hid_a2dp_pan_edr(btcoexist); btc8192e2ant_action_hid_a2dp_pan_edr(btcoexist);
break; break;
case BT_8192E_2ANT_COEX_ALGO_HID_A2DP: case BT_8192E_2ANT_COEX_ALGO_HID_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = HID+A2DP.\n"); "Action 2-Ant, algorithm = HID+A2DP\n");
halbtc8192e2ant_action_hid_a2dp(btcoexist); halbtc8192e2ant_action_hid_a2dp(btcoexist);
break; break;
default: default:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"Action 2-Ant, algorithm = unknown!!\n"); "Action 2-Ant, algorithm = unknown!!\n");
/* halbtc8192e2ant_coex_alloff(btcoexist); */ /* halbtc8192e2ant_coex_alloff(btcoexist); */
break; break;
} }
...@@ -3212,8 +3193,8 @@ static void halbtc8192e2ant_init_hwconfig(struct btc_coexist *btcoexist, ...@@ -3212,8 +3193,8 @@ static void halbtc8192e2ant_init_hwconfig(struct btc_coexist *btcoexist,
u16 u16tmp = 0; u16 u16tmp = 0;
u8 u8tmp = 0; u8 u8tmp = 0;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], 2Ant Init HW Config!!\n"); "[BTCoex], 2Ant Init HW Config!!\n");
if (backup) { if (backup) {
/* backup rf 0x1e value */ /* backup rf 0x1e value */
...@@ -3296,8 +3277,8 @@ void ex_halbtc8192e2ant_init_hwconfig(struct btc_coexist *btcoexist) ...@@ -3296,8 +3277,8 @@ void ex_halbtc8192e2ant_init_hwconfig(struct btc_coexist *btcoexist)
void ex_halbtc8192e2ant_init_coex_dm(struct btc_coexist *btcoexist) void ex_halbtc8192e2ant_init_coex_dm(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Coex Mechanism Init!!\n"); "[BTCoex], Coex Mechanism Init!!\n");
halbtc8192e2ant_init_coex_dm(btcoexist); halbtc8192e2ant_init_coex_dm(btcoexist);
} }
...@@ -3525,13 +3506,13 @@ void ex_halbtc8192e2ant_display_coex_info(struct btc_coexist *btcoexist) ...@@ -3525,13 +3506,13 @@ void ex_halbtc8192e2ant_display_coex_info(struct btc_coexist *btcoexist)
void ex_halbtc8192e2ant_ips_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8192e2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_IPS_ENTER == type) { if (BTC_IPS_ENTER == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS ENTER notify\n"); "[BTCoex], IPS ENTER notify\n");
coex_sta->under_ips = true; coex_sta->under_ips = true;
halbtc8192e2ant_coex_alloff(btcoexist); halbtc8192e2ant_coex_alloff(btcoexist);
} else if (BTC_IPS_LEAVE == type) { } else if (BTC_IPS_LEAVE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS LEAVE notify\n"); "[BTCoex], IPS LEAVE notify\n");
coex_sta->under_ips = false; coex_sta->under_ips = false;
} }
} }
...@@ -3539,12 +3520,12 @@ void ex_halbtc8192e2ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -3539,12 +3520,12 @@ void ex_halbtc8192e2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
void ex_halbtc8192e2ant_lps_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8192e2ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_LPS_ENABLE == type) { if (BTC_LPS_ENABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS ENABLE notify\n"); "[BTCoex], LPS ENABLE notify\n");
coex_sta->under_lps = true; coex_sta->under_lps = true;
} else if (BTC_LPS_DISABLE == type) { } else if (BTC_LPS_DISABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS DISABLE notify\n"); "[BTCoex], LPS DISABLE notify\n");
coex_sta->under_lps = false; coex_sta->under_lps = false;
} }
} }
...@@ -3552,21 +3533,21 @@ void ex_halbtc8192e2ant_lps_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -3552,21 +3533,21 @@ void ex_halbtc8192e2ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
void ex_halbtc8192e2ant_scan_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8192e2ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_SCAN_START == type) if (BTC_SCAN_START == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN START notify\n"); "[BTCoex], SCAN START notify\n");
else if (BTC_SCAN_FINISH == type) else if (BTC_SCAN_FINISH == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN FINISH notify\n"); "[BTCoex], SCAN FINISH notify\n");
} }
void ex_halbtc8192e2ant_connect_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8192e2ant_connect_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_ASSOCIATE_START == type) if (BTC_ASSOCIATE_START == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT START notify\n"); "[BTCoex], CONNECT START notify\n");
else if (BTC_ASSOCIATE_FINISH == type) else if (BTC_ASSOCIATE_FINISH == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT FINISH notify\n"); "[BTCoex], CONNECT FINISH notify\n");
} }
void ex_halbtc8192e2ant_media_status_notify(struct btc_coexist *btcoexist, void ex_halbtc8192e2ant_media_status_notify(struct btc_coexist *btcoexist,
...@@ -3582,11 +3563,11 @@ void ex_halbtc8192e2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3582,11 +3563,11 @@ void ex_halbtc8192e2ant_media_status_notify(struct btc_coexist *btcoexist,
return; return;
if (BTC_MEDIA_CONNECT == type) if (BTC_MEDIA_CONNECT == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA connect notify\n"); "[BTCoex], MEDIA connect notify\n");
else else
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA disconnect notify\n"); "[BTCoex], MEDIA disconnect notify\n");
/* only 2.4G we need to inform bt the chnl mask */ /* only 2.4G we need to inform bt the chnl mask */
btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL, btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL,
...@@ -3606,10 +3587,10 @@ void ex_halbtc8192e2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3606,10 +3587,10 @@ void ex_halbtc8192e2ant_media_status_notify(struct btc_coexist *btcoexist,
coex_dm->wifi_chnl_info[1] = h2c_parameter[1]; coex_dm->wifi_chnl_info[1] = h2c_parameter[1];
coex_dm->wifi_chnl_info[2] = h2c_parameter[2]; coex_dm->wifi_chnl_info[2] = h2c_parameter[2];
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x66 = 0x%x\n", "[BTCoex], FW write 0x66 = 0x%x\n",
h2c_parameter[0] << 16 | h2c_parameter[1] << 8 | h2c_parameter[0] << 16 | h2c_parameter[1] << 8 |
h2c_parameter[2]); h2c_parameter[2]);
btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter);
} }
...@@ -3618,8 +3599,8 @@ void ex_halbtc8192e2ant_special_packet_notify(struct btc_coexist *btcoexist, ...@@ -3618,8 +3599,8 @@ void ex_halbtc8192e2ant_special_packet_notify(struct btc_coexist *btcoexist,
u8 type) u8 type)
{ {
if (type == BTC_PACKET_DHCP) if (type == BTC_PACKET_DHCP)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], DHCP Packet notify\n"); "[BTCoex], DHCP Packet notify\n");
} }
void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist, void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist,
...@@ -3637,19 +3618,19 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3637,19 +3618,19 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist,
rsp_source = BT_INFO_SRC_8192E_2ANT_WIFI_FW; rsp_source = BT_INFO_SRC_8192E_2ANT_WIFI_FW;
coex_sta->bt_info_c2h_cnt[rsp_source]++; coex_sta->bt_info_c2h_cnt[rsp_source]++;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Bt info[%d], length=%d, hex data = [", "[BTCoex], Bt info[%d], length=%d, hex data = [",
rsp_source, length); rsp_source, length);
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i]; coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i];
if (i == 1) if (i == 1)
bt_info = tmp_buf[i]; bt_info = tmp_buf[i];
if (i == length-1) if (i == length-1)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x]\n", tmp_buf[i]); "0x%02x]\n", tmp_buf[i]);
else else
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x, ", tmp_buf[i]); "0x%02x, ", tmp_buf[i]);
} }
if (BT_INFO_SRC_8192E_2ANT_WIFI_FW != rsp_source) { if (BT_INFO_SRC_8192E_2ANT_WIFI_FW != rsp_source) {
...@@ -3666,8 +3647,8 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3666,8 +3647,8 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist,
* because bt is reset and loss of the info. * because bt is reset and loss of the info.
*/ */
if ((coex_sta->bt_info_ext & BIT1)) { if ((coex_sta->bt_info_ext & BIT1)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"bit1, send wifi BW&Chnl to BT!!\n"); "bit1, send wifi BW&Chnl to BT!!\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED,
&wifi_connected); &wifi_connected);
if (wifi_connected) if (wifi_connected)
...@@ -3683,8 +3664,8 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3683,8 +3664,8 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist,
if ((coex_sta->bt_info_ext & BIT3)) { if ((coex_sta->bt_info_ext & BIT3)) {
if (!btcoexist->manual_control && if (!btcoexist->manual_control &&
!btcoexist->stop_coex_dm) { !btcoexist->stop_coex_dm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"bit3, BT NOT ignore Wlan active!\n"); "bit3, BT NOT ignore Wlan active!\n");
halbtc8192e2ant_IgnoreWlanAct(btcoexist, halbtc8192e2ant_IgnoreWlanAct(btcoexist,
FORCE_EXEC, FORCE_EXEC,
false); false);
...@@ -3742,25 +3723,25 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3742,25 +3723,25 @@ void ex_halbtc8192e2ant_bt_info_notify(struct btc_coexist *btcoexist,
if (!(bt_info&BT_INFO_8192E_2ANT_B_CONNECTION)) { if (!(bt_info&BT_INFO_8192E_2ANT_B_CONNECTION)) {
coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_NON_CONNECTED_IDLE; coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_NON_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Non-Connected idle!!!\n"); "[BTCoex], BT Non-Connected idle!!!\n");
} else if (bt_info == BT_INFO_8192E_2ANT_B_CONNECTION) { } else if (bt_info == BT_INFO_8192E_2ANT_B_CONNECTION) {
coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_CONNECTED_IDLE; coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], bt_infoNotify(), BT Connected-idle!!!\n"); "[BTCoex], bt_infoNotify(), BT Connected-idle!!!\n");
} else if ((bt_info&BT_INFO_8192E_2ANT_B_SCO_ESCO) || } else if ((bt_info&BT_INFO_8192E_2ANT_B_SCO_ESCO) ||
(bt_info&BT_INFO_8192E_2ANT_B_SCO_BUSY)) { (bt_info&BT_INFO_8192E_2ANT_B_SCO_BUSY)) {
coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_SCO_BUSY; coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_SCO_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], bt_infoNotify(), BT SCO busy!!!\n"); "[BTCoex], bt_infoNotify(), BT SCO busy!!!\n");
} else if (bt_info&BT_INFO_8192E_2ANT_B_ACL_BUSY) { } else if (bt_info&BT_INFO_8192E_2ANT_B_ACL_BUSY) {
coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_ACL_BUSY; coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_ACL_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], bt_infoNotify(), BT ACL busy!!!\n"); "[BTCoex], bt_infoNotify(), BT ACL busy!!!\n");
} else { } else {
coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_MAX; coex_dm->bt_status = BT_8192E_2ANT_BT_STATUS_MAX;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex]bt_infoNotify(), BT Non-Defined state!!!\n"); "[BTCoex]bt_infoNotify(), BT Non-Defined state!!!\n");
} }
if ((BT_8192E_2ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) || if ((BT_8192E_2ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) ||
...@@ -3788,7 +3769,7 @@ void ex_halbtc8192e2ant_stack_operation_notify(struct btc_coexist *btcoexist, ...@@ -3788,7 +3769,7 @@ void ex_halbtc8192e2ant_stack_operation_notify(struct btc_coexist *btcoexist,
void ex_halbtc8192e2ant_halt_notify(struct btc_coexist *btcoexist) void ex_halbtc8192e2ant_halt_notify(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, "[BTCoex], Halt notify\n"); btc_iface_dbg(INTF_NOTIFY, "[BTCoex], Halt notify\n");
halbtc8192e2ant_IgnoreWlanAct(btcoexist, FORCE_EXEC, true); halbtc8192e2ant_IgnoreWlanAct(btcoexist, FORCE_EXEC, true);
ex_halbtc8192e2ant_media_status_notify(btcoexist, BTC_MEDIA_DISCONNECT); ex_halbtc8192e2ant_media_status_notify(btcoexist, BTC_MEDIA_DISCONNECT);
...@@ -3801,29 +3782,29 @@ void ex_halbtc8192e2ant_periodical(struct btc_coexist *btcoexist) ...@@ -3801,29 +3782,29 @@ void ex_halbtc8192e2ant_periodical(struct btc_coexist *btcoexist)
struct btc_board_info *board_info = &btcoexist->board_info; struct btc_board_info *board_info = &btcoexist->board_info;
struct btc_stack_info *stack_info = &btcoexist->stack_info; struct btc_stack_info *stack_info = &btcoexist->stack_info;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"=======================Periodical=======================\n"); "=======================Periodical=======================\n");
if (dis_ver_info_cnt <= 5) { if (dis_ver_info_cnt <= 5) {
dis_ver_info_cnt += 1; dis_ver_info_cnt += 1;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"************************************************\n"); "************************************************\n");
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n", "Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n",
board_info->pg_ant_num, board_info->btdm_ant_num, board_info->pg_ant_num, board_info->btdm_ant_num,
board_info->btdm_ant_pos); board_info->btdm_ant_pos);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"BT stack/ hci ext ver = %s / %d\n", "BT stack/ hci ext ver = %s / %d\n",
((stack_info->profile_notified) ? "Yes" : "No"), ((stack_info->profile_notified) ? "Yes" : "No"),
stack_info->hci_version); stack_info->hci_version);
btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER, btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER,
&bt_patch_ver); &bt_patch_ver);
btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n", "CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n",
glcoex_ver_date_8192e_2ant, glcoex_ver_8192e_2ant, glcoex_ver_date_8192e_2ant, glcoex_ver_8192e_2ant,
fw_ver, bt_patch_ver, bt_patch_ver); fw_ver, bt_patch_ver, bt_patch_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"************************************************\n"); "************************************************\n");
} }
#if (BT_AUTO_REPORT_ONLY_8192E_2ANT == 0) #if (BT_AUTO_REPORT_ONLY_8192E_2ANT == 0)
......
...@@ -74,28 +74,28 @@ static u8 halbtc8723b1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -74,28 +74,28 @@ static u8 halbtc8723b1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= rssi_thresh + if (bt_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to High\n"); "[BTCoex], BT Rssi state switch to High\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Low\n"); "[BTCoex], BT Rssi state stay at Low\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh) { if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Low\n"); "[BTCoex], BT Rssi state switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at High\n"); "[BTCoex], BT Rssi state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi thresh error!!\n"); "[BTCoex], BT Rssi thresh error!!\n");
return coex_sta->pre_bt_rssi_state; return coex_sta->pre_bt_rssi_state;
} }
...@@ -104,12 +104,12 @@ static u8 halbtc8723b1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -104,12 +104,12 @@ static u8 halbtc8723b1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= rssi_thresh + if (bt_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Medium\n"); "[BTCoex], BT Rssi state switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Low\n"); "[BTCoex], BT Rssi state stay at Low\n");
} }
} else if ((coex_sta->pre_bt_rssi_state == } else if ((coex_sta->pre_bt_rssi_state ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -118,26 +118,26 @@ static u8 halbtc8723b1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -118,26 +118,26 @@ static u8 halbtc8723b1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= rssi_thresh1 + if (bt_rssi >= rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to High\n"); "[BTCoex], BT Rssi state switch to High\n");
} else if (bt_rssi < rssi_thresh) { } else if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Low\n"); "[BTCoex], BT Rssi state switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Medium\n"); "[BTCoex], BT Rssi state stay at Medium\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh1) { if (bt_rssi < rssi_thresh1) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Medium\n"); "[BTCoex], BT Rssi state switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at High\n"); "[BTCoex], BT Rssi state stay at High\n");
} }
} }
} }
...@@ -165,32 +165,28 @@ static u8 halbtc8723b1ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -165,32 +165,28 @@ static u8 halbtc8723b1ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= rssi_thresh + if (wifi_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state switch to High\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state stay at Low\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh) { if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_WIFI_RSSI_STATE, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
"[BTCoex], wifi RSSI thresh error!!\n"); "[BTCoex], wifi RSSI thresh error!!\n");
return coex_sta->pre_wifi_rssi_state[index]; return coex_sta->pre_wifi_rssi_state[index];
} }
...@@ -201,14 +197,12 @@ static u8 halbtc8723b1ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -201,14 +197,12 @@ static u8 halbtc8723b1ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= rssi_thresh + if (wifi_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state stay at Low\n");
} }
} else if ((coex_sta->pre_wifi_rssi_state[index] == } else if ((coex_sta->pre_wifi_rssi_state[index] ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -217,31 +211,26 @@ static u8 halbtc8723b1ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -217,31 +211,26 @@ static u8 halbtc8723b1ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= rssi_thresh1 + if (wifi_rssi >= rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_1ANT) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state switch to High\n");
} else if (wifi_rssi < rssi_thresh) { } else if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Medium\n");
"[BTCoex], wifi RSSI state stay at Medium\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh1) { if (wifi_rssi < rssi_thresh1) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state stay at High\n");
} }
} }
} }
...@@ -435,9 +424,9 @@ static void halbtc8723b1ant_query_bt_info(struct btc_coexist *btcoexist) ...@@ -435,9 +424,9 @@ static void halbtc8723b1ant_query_bt_info(struct btc_coexist *btcoexist)
h2c_parameter[0] |= BIT0; /* trigger*/ h2c_parameter[0] |= BIT0; /* trigger*/
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n", "[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter);
} }
...@@ -532,8 +521,8 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -532,8 +521,8 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on);
if (!bt_link_info->bt_link_exist) { if (!bt_link_info->bt_link_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], No BT link exists!!!\n"); "[BTCoex], No BT link exists!!!\n");
return algorithm; return algorithm;
} }
...@@ -548,27 +537,27 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -548,27 +537,27 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
if (numdiffprofile == 1) { if (numdiffprofile == 1) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO only\n"); "[BTCoex], BT Profile = SCO only\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_SCO; algorithm = BT_8723B_1ANT_COEX_ALGO_SCO;
} else { } else {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID only\n"); "[BTCoex], BT Profile = HID only\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_HID; algorithm = BT_8723B_1ANT_COEX_ALGO_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = A2DP only\n"); "[BTCoex], BT Profile = A2DP only\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_A2DP; algorithm = BT_8723B_1ANT_COEX_ALGO_A2DP;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = PAN(HS) only\n"); "[BTCoex], BT Profile = PAN(HS) only\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANHS; BT_8723B_1ANT_COEX_ALGO_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = PAN(EDR) only\n"); "[BTCoex], BT Profile = PAN(EDR) only\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR; BT_8723B_1ANT_COEX_ALGO_PANEDR;
} }
...@@ -577,21 +566,21 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -577,21 +566,21 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
} else if (numdiffprofile == 2) { } else if (numdiffprofile == 2) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID\n"); "[BTCoex], BT Profile = SCO + HID\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_HID; algorithm = BT_8723B_1ANT_COEX_ALGO_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + A2DP ==> SCO\n"); "[BTCoex], BT Profile = SCO + A2DP ==> SCO\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_SCO; algorithm = BT_8723B_1ANT_COEX_ALGO_SCO;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + PAN(HS)\n"); "[BTCoex], BT Profile = SCO + PAN(HS)\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_SCO; algorithm = BT_8723B_1ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + PAN(EDR)\n"); "[BTCoex], BT Profile = SCO + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR_HID; BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -599,32 +588,32 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -599,32 +588,32 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
} else { } else {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + A2DP\n"); "[BTCoex], BT Profile = HID + A2DP\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + PAN(HS)\n"); "[BTCoex], BT Profile = HID + PAN(HS)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_HID_A2DP; BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + PAN(EDR)\n"); "[BTCoex], BT Profile = HID + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR_HID; BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = A2DP + PAN(HS)\n"); "[BTCoex], BT Profile = A2DP + PAN(HS)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS; BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = A2DP + PAN(EDR)\n"); "[BTCoex], BT Profile = A2DP + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP; BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP;
} }
...@@ -634,31 +623,31 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -634,31 +623,31 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + A2DP ==> HID\n"); "[BTCoex], BT Profile = SCO + HID + A2DP ==> HID\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_HID; algorithm = BT_8723B_1ANT_COEX_ALGO_HID;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + PAN(HS)\n"); "[BTCoex], BT Profile = SCO + HID + PAN(HS)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_HID_A2DP; BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + PAN(EDR)\n"); "[BTCoex], BT Profile = SCO + HID + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR_HID; BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + A2DP + PAN(HS)\n"); "[BTCoex], BT Profile = SCO + A2DP + PAN(HS)\n");
algorithm = BT_8723B_1ANT_COEX_ALGO_SCO; algorithm = BT_8723B_1ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + A2DP + PAN(EDR) ==> HID\n"); "[BTCoex], BT Profile = SCO + A2DP + PAN(EDR) ==> HID\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR_HID; BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -668,13 +657,13 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -668,13 +657,13 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + A2DP + PAN(HS)\n"); "[BTCoex], BT Profile = HID + A2DP + PAN(HS)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_HID_A2DP; BT_8723B_1ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + A2DP + PAN(EDR)\n"); "[BTCoex], BT Profile = HID + A2DP + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR; BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR;
} }
...@@ -686,11 +675,11 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -686,11 +675,11 @@ static u8 halbtc8723b1ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Error!!! BT Profile = SCO + HID + A2DP + PAN(HS)\n"); "[BTCoex], Error!!! BT Profile = SCO + HID + A2DP + PAN(HS)\n");
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n"); "[BTCoex], BT Profile = SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n");
algorithm = algorithm =
BT_8723B_1ANT_COEX_ALGO_PANEDR_HID; BT_8723B_1ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -717,9 +706,9 @@ static void btc8723b1ant_set_sw_pen_tx_rate_adapt(struct btc_coexist *btcoexist, ...@@ -717,9 +706,9 @@ static void btc8723b1ant_set_sw_pen_tx_rate_adapt(struct btc_coexist *btcoexist,
h2c_parameter[5] = 0xf9; /*MCS5 or OFDM36 */ h2c_parameter[5] = 0xf9; /*MCS5 or OFDM36 */
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set WiFi Low-Penalty Retry: %s", "[BTCoex], set WiFi Low-Penalty Retry: %s",
(low_penalty_ra ? "ON!!" : "OFF!!")); (low_penalty_ra ? "ON!!" : "OFF!!"));
btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter);
} }
...@@ -743,20 +732,20 @@ static void halbtc8723b1ant_set_coex_table(struct btc_coexist *btcoexist, ...@@ -743,20 +732,20 @@ static void halbtc8723b1ant_set_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c0, u32 val0x6c4, u32 val0x6c0, u32 val0x6c4,
u32 val0x6c8, u8 val0x6cc) u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0); "[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0);
btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0); btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4); "[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4);
btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4); btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8); "[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8);
btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8); btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc); "[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc);
btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc); btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc);
} }
...@@ -765,10 +754,10 @@ static void halbtc8723b1ant_coex_table(struct btc_coexist *btcoexist, ...@@ -765,10 +754,10 @@ static void halbtc8723b1ant_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c4, u32 val0x6c8, u32 val0x6c4, u32 val0x6c8,
u8 val0x6cc) u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s write Coex Table 0x6c0 = 0x%x, 0x6c4 = 0x%x, 0x6cc = 0x%x\n", "[BTCoex], %s write Coex Table 0x6c0 = 0x%x, 0x6c4 = 0x%x, 0x6cc = 0x%x\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
val0x6c0, val0x6c4, val0x6cc); val0x6c0, val0x6c4, val0x6cc);
coex_dm->cur_val0x6c0 = val0x6c0; coex_dm->cur_val0x6c0 = val0x6c0;
coex_dm->cur_val0x6c4 = val0x6c4; coex_dm->cur_val0x6c4 = val0x6c4;
coex_dm->cur_val0x6c8 = val0x6c8; coex_dm->cur_val0x6c8 = val0x6c8;
...@@ -839,9 +828,9 @@ static void halbtc8723b1ant_SetFwIgnoreWlanAct(struct btc_coexist *btcoexist, ...@@ -839,9 +828,9 @@ static void halbtc8723b1ant_SetFwIgnoreWlanAct(struct btc_coexist *btcoexist,
if (enable) if (enable)
h2c_parameter[0] |= BIT0; /* function enable */ h2c_parameter[0] |= BIT0; /* function enable */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n", "[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter);
} }
...@@ -849,16 +838,16 @@ static void halbtc8723b1ant_SetFwIgnoreWlanAct(struct btc_coexist *btcoexist, ...@@ -849,16 +838,16 @@ static void halbtc8723b1ant_SetFwIgnoreWlanAct(struct btc_coexist *btcoexist,
static void halbtc8723b1ant_ignore_wlan_act(struct btc_coexist *btcoexist, static void halbtc8723b1ant_ignore_wlan_act(struct btc_coexist *btcoexist,
bool force_exec, bool enable) bool force_exec, bool enable)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn Ignore WlanAct %s\n", "[BTCoex], %s turn Ignore WlanAct %s\n",
(force_exec ? "force to" : ""), (enable ? "ON" : "OFF")); (force_exec ? "force to" : ""), (enable ? "ON" : "OFF"));
coex_dm->cur_ignore_wlan_act = enable; coex_dm->cur_ignore_wlan_act = enable;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], bPreIgnoreWlanAct = %d, bCurIgnoreWlanAct = %d!!\n", "[BTCoex], bPreIgnoreWlanAct = %d, bCurIgnoreWlanAct = %d!!\n",
coex_dm->pre_ignore_wlan_act, coex_dm->pre_ignore_wlan_act,
coex_dm->cur_ignore_wlan_act); coex_dm->cur_ignore_wlan_act);
if (coex_dm->pre_ignore_wlan_act == if (coex_dm->pre_ignore_wlan_act ==
coex_dm->cur_ignore_wlan_act) coex_dm->cur_ignore_wlan_act)
...@@ -882,8 +871,8 @@ static void halbtc8723b1ant_set_fw_ps_tdma(struct btc_coexist *btcoexist, ...@@ -882,8 +871,8 @@ static void halbtc8723b1ant_set_fw_ps_tdma(struct btc_coexist *btcoexist,
if (ap_enable) { if (ap_enable) {
if ((byte1 & BIT4) && !(byte1 & BIT5)) { if ((byte1 & BIT4) && !(byte1 & BIT5)) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], FW for 1Ant AP mode\n"); "[BTCoex], FW for 1Ant AP mode\n");
real_byte1 &= ~BIT4; real_byte1 &= ~BIT4;
real_byte1 |= BIT5; real_byte1 |= BIT5;
...@@ -904,13 +893,13 @@ static void halbtc8723b1ant_set_fw_ps_tdma(struct btc_coexist *btcoexist, ...@@ -904,13 +893,13 @@ static void halbtc8723b1ant_set_fw_ps_tdma(struct btc_coexist *btcoexist,
coex_dm->ps_tdma_para[3] = byte4; coex_dm->ps_tdma_para[3] = byte4;
coex_dm->ps_tdma_para[4] = real_byte5; coex_dm->ps_tdma_para[4] = real_byte5;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], PS-TDMA H2C cmd =0x%x%08x\n", "[BTCoex], PS-TDMA H2C cmd =0x%x%08x\n",
h2c_parameter[0], h2c_parameter[0],
h2c_parameter[1] << 24 | h2c_parameter[1] << 24 |
h2c_parameter[2] << 16 | h2c_parameter[2] << 16 |
h2c_parameter[3] << 8 | h2c_parameter[3] << 8 |
h2c_parameter[4]); h2c_parameter[4]);
btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter);
} }
...@@ -929,22 +918,22 @@ static void halbtc8723b1ant_LpsRpwm(struct btc_coexist *btcoexist, ...@@ -929,22 +918,22 @@ static void halbtc8723b1ant_LpsRpwm(struct btc_coexist *btcoexist,
bool force_exec, bool force_exec,
u8 lps_val, u8 rpwm_val) u8 lps_val, u8 rpwm_val)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s set lps/rpwm = 0x%x/0x%x\n", "[BTCoex], %s set lps/rpwm = 0x%x/0x%x\n",
(force_exec ? "force to" : ""), lps_val, rpwm_val); (force_exec ? "force to" : ""), lps_val, rpwm_val);
coex_dm->cur_lps = lps_val; coex_dm->cur_lps = lps_val;
coex_dm->cur_rpwm = rpwm_val; coex_dm->cur_rpwm = rpwm_val;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], LPS-RxBeaconMode = 0x%x , LPS-RPWM = 0x%x!!\n", "[BTCoex], LPS-RxBeaconMode = 0x%x , LPS-RPWM = 0x%x!!\n",
coex_dm->cur_lps, coex_dm->cur_rpwm); coex_dm->cur_lps, coex_dm->cur_rpwm);
if ((coex_dm->pre_lps == coex_dm->cur_lps) && if ((coex_dm->pre_lps == coex_dm->cur_lps) &&
(coex_dm->pre_rpwm == coex_dm->cur_rpwm)) { (coex_dm->pre_rpwm == coex_dm->cur_rpwm)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], LPS-RPWM_Last = 0x%x , LPS-RPWM_Now = 0x%x!!\n", "[BTCoex], LPS-RPWM_Last = 0x%x , LPS-RPWM_Now = 0x%x!!\n",
coex_dm->pre_rpwm, coex_dm->cur_rpwm); coex_dm->pre_rpwm, coex_dm->cur_rpwm);
return; return;
} }
...@@ -958,8 +947,8 @@ static void halbtc8723b1ant_LpsRpwm(struct btc_coexist *btcoexist, ...@@ -958,8 +947,8 @@ static void halbtc8723b1ant_LpsRpwm(struct btc_coexist *btcoexist,
static void halbtc8723b1ant_sw_mechanism(struct btc_coexist *btcoexist, static void halbtc8723b1ant_sw_mechanism(struct btc_coexist *btcoexist,
bool low_penalty_ra) bool low_penalty_ra)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], SM[LpRA] = %d\n", low_penalty_ra); "[BTCoex], SM[LpRA] = %d\n", low_penalty_ra);
halbtc8723b1ant_low_penalty_ra(btcoexist, NORMAL_EXEC, low_penalty_ra); halbtc8723b1ant_low_penalty_ra(btcoexist, NORMAL_EXEC, low_penalty_ra);
} }
...@@ -1174,13 +1163,13 @@ static void halbtc8723b1ant_ps_tdma(struct btc_coexist *btcoexist, ...@@ -1174,13 +1163,13 @@ static void halbtc8723b1ant_ps_tdma(struct btc_coexist *btcoexist,
if (!force_exec) { if (!force_exec) {
if (coex_dm->cur_ps_tdma_on) if (coex_dm->cur_ps_tdma_on)
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], ******** TDMA(on, %d) *********\n", "[BTCoex], ******** TDMA(on, %d) *********\n",
coex_dm->cur_ps_tdma); coex_dm->cur_ps_tdma);
else else
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], ******** TDMA(off, %d) ********\n", "[BTCoex], ******** TDMA(off, %d) ********\n",
coex_dm->cur_ps_tdma); coex_dm->cur_ps_tdma);
if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) && if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) &&
(coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma)) (coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma))
...@@ -1394,45 +1383,45 @@ static bool halbtc8723b1ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1394,45 +1383,45 @@ static bool halbtc8723b1ant_is_common_action(struct btc_coexist *btcoexist)
if (!wifi_connected && if (!wifi_connected &&
BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE == coex_dm->bt_status) { BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE == coex_dm->bt_status) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non connected-idle + BT non connected-idle!!\n"); "[BTCoex], Wifi non connected-idle + BT non connected-idle!!\n");
halbtc8723b1ant_sw_mechanism(btcoexist, false); halbtc8723b1ant_sw_mechanism(btcoexist, false);
commom = true; commom = true;
} else if (wifi_connected && } else if (wifi_connected &&
(BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE == (BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE ==
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi connected + BT non connected-idle!!\n"); "[BTCoex], Wifi connected + BT non connected-idle!!\n");
halbtc8723b1ant_sw_mechanism(btcoexist, false); halbtc8723b1ant_sw_mechanism(btcoexist, false);
commom = true; commom = true;
} else if (!wifi_connected && } else if (!wifi_connected &&
(BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE == (BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE ==
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non connected-idle + BT connected-idle!!\n"); "[BTCoex], Wifi non connected-idle + BT connected-idle!!\n");
halbtc8723b1ant_sw_mechanism(btcoexist, false); halbtc8723b1ant_sw_mechanism(btcoexist, false);
commom = true; commom = true;
} else if (wifi_connected && } else if (wifi_connected &&
(BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE == (BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE ==
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi connected + BT connected-idle!!\n"); "[BTCoex], Wifi connected + BT connected-idle!!\n");
halbtc8723b1ant_sw_mechanism(btcoexist, false); halbtc8723b1ant_sw_mechanism(btcoexist, false);
commom = true; commom = true;
} else if (!wifi_connected && } else if (!wifi_connected &&
(BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE != (BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE !=
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
("[BTCoex], Wifi non connected-idle + BT Busy!!\n")); "[BTCoex], Wifi non connected-idle + BT Busy!!\n");
halbtc8723b1ant_sw_mechanism(btcoexist, false); halbtc8723b1ant_sw_mechanism(btcoexist, false);
commom = true; commom = true;
} else { } else {
if (wifi_busy) if (wifi_busy)
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Connected-Busy + BT Busy!!\n"); "[BTCoex], Wifi Connected-Busy + BT Busy!!\n");
else else
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Connected-Idle + BT Busy!!\n"); "[BTCoex], Wifi Connected-Idle + BT Busy!!\n");
commom = false; commom = false;
} }
...@@ -1451,8 +1440,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, ...@@ -1451,8 +1440,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist,
u8 retry_count = 0, bt_info_ext; u8 retry_count = 0, bt_info_ext;
bool wifi_busy = false; bool wifi_busy = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], TdmaDurationAdjustForAcl()\n"); "[BTCoex], TdmaDurationAdjustForAcl()\n");
if (BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY == wifi_status) if (BT_8723B_1ANT_WIFI_STATUS_CONNECTED_BUSY == wifi_status)
wifi_busy = true; wifi_busy = true;
...@@ -1481,8 +1470,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, ...@@ -1481,8 +1470,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist,
if (!coex_dm->auto_tdma_adjust) { if (!coex_dm->auto_tdma_adjust) {
coex_dm->auto_tdma_adjust = true; coex_dm->auto_tdma_adjust = true;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], first run TdmaDurationAdjust()!!\n"); "[BTCoex], first run TdmaDurationAdjust()!!\n");
halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2); halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2);
coex_dm->tdma_adj_type = 2; coex_dm->tdma_adj_type = 2;
...@@ -1513,9 +1502,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, ...@@ -1513,9 +1502,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist,
up = 0; up = 0;
dn = 0; dn = 0;
result = 1; result = 1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Increase wifi duration!!\n");
"[BTCoex], Increase wifi duration!!\n");
} }
} else if (retry_count <= 3) { } else if (retry_count <= 3) {
up--; up--;
...@@ -1538,9 +1526,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, ...@@ -1538,9 +1526,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Decrease wifi duration for retryCounter<3!!\n");
"[BTCoex], Decrease wifi duration for retryCounter<3!!\n");
} }
} else { } else {
if (wait_count == 1) if (wait_count == 1)
...@@ -1556,8 +1543,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, ...@@ -1556,8 +1543,8 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], Decrease wifi duration for retryCounter>3!!\n"); "[BTCoex], Decrease wifi duration for retryCounter>3!!\n");
} }
if (result == -1) { if (result == -1) {
...@@ -1602,9 +1589,9 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, ...@@ -1602,9 +1589,9 @@ static void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist,
} }
} else { /*no change */ } else { /*no change */
/*if busy / idle change */ /*if busy / idle change */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex],********* TDMA(on, %d) ********\n", "[BTCoex],********* TDMA(on, %d) ********\n",
coex_dm->cur_ps_tdma); coex_dm->cur_ps_tdma);
} }
if (coex_dm->cur_ps_tdma != 1 && coex_dm->cur_ps_tdma != 2 && if (coex_dm->cur_ps_tdma != 1 && coex_dm->cur_ps_tdma != 2 &&
...@@ -2010,15 +1997,15 @@ static void halbtc8723b1ant_action_wifi_connected(struct btc_coexist *btcoexist) ...@@ -2010,15 +1997,15 @@ static void halbtc8723b1ant_action_wifi_connected(struct btc_coexist *btcoexist)
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
bool under_4way = false, ap_enable = false; bool under_4way = false, ap_enable = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], CoexForWifiConnect()===>\n"); "[BTCoex], CoexForWifiConnect()===>\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS,
&under_4way); &under_4way);
if (under_4way) { if (under_4way) {
halbtc8723b1ant_action_wifi_connected_special_packet(btcoexist); halbtc8723b1ant_action_wifi_connected_special_packet(btcoexist);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], CoexForWifiConnect(), return for wifi is under 4way<===\n"); "[BTCoex], CoexForWifiConnect(), return for wifi is under 4way<===\n");
return; return;
} }
...@@ -2032,8 +2019,8 @@ static void halbtc8723b1ant_action_wifi_connected(struct btc_coexist *btcoexist) ...@@ -2032,8 +2019,8 @@ static void halbtc8723b1ant_action_wifi_connected(struct btc_coexist *btcoexist)
else else
halbtc8723b1ant_action_wifi_connected_special_packet( halbtc8723b1ant_action_wifi_connected_special_packet(
btcoexist); btcoexist);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], CoexForWifiConnect(), return for wifi is under scan<===\n"); "[BTCoex], CoexForWifiConnect(), return for wifi is under scan<===\n");
return; return;
} }
...@@ -2102,58 +2089,58 @@ static void btc8723b1ant_run_sw_coex_mech(struct btc_coexist *btcoexist) ...@@ -2102,58 +2089,58 @@ static void btc8723b1ant_run_sw_coex_mech(struct btc_coexist *btcoexist)
if (!halbtc8723b1ant_is_common_action(btcoexist)) { if (!halbtc8723b1ant_is_common_action(btcoexist)) {
switch (coex_dm->cur_algorithm) { switch (coex_dm->cur_algorithm) {
case BT_8723B_1ANT_COEX_ALGO_SCO: case BT_8723B_1ANT_COEX_ALGO_SCO:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = SCO.\n"); "[BTCoex], Action algorithm = SCO\n");
halbtc8723b1ant_action_sco(btcoexist); halbtc8723b1ant_action_sco(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_HID: case BT_8723B_1ANT_COEX_ALGO_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HID.\n"); "[BTCoex], Action algorithm = HID\n");
halbtc8723b1ant_action_hid(btcoexist); halbtc8723b1ant_action_hid(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_A2DP: case BT_8723B_1ANT_COEX_ALGO_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = A2DP.\n"); "[BTCoex], Action algorithm = A2DP\n");
halbtc8723b1ant_action_a2dp(btcoexist); halbtc8723b1ant_action_a2dp(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS: case BT_8723B_1ANT_COEX_ALGO_A2DP_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = A2DP+PAN(HS).\n"); "[BTCoex], Action algorithm = A2DP+PAN(HS)\n");
halbtc8723b1ant_action_a2dp_pan_hs(btcoexist); halbtc8723b1ant_action_a2dp_pan_hs(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_PANEDR: case BT_8723B_1ANT_COEX_ALGO_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = PAN(EDR).\n"); "[BTCoex], Action algorithm = PAN(EDR)\n");
halbtc8723b1ant_action_pan_edr(btcoexist); halbtc8723b1ant_action_pan_edr(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_PANHS: case BT_8723B_1ANT_COEX_ALGO_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HS mode.\n"); "[BTCoex], Action algorithm = HS mode\n");
halbtc8723b1ant_action_pan_hs(btcoexist); halbtc8723b1ant_action_pan_hs(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP: case BT_8723B_1ANT_COEX_ALGO_PANEDR_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = PAN+A2DP.\n"); "[BTCoex], Action algorithm = PAN+A2DP\n");
halbtc8723b1ant_action_pan_edr_a2dp(btcoexist); halbtc8723b1ant_action_pan_edr_a2dp(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_PANEDR_HID: case BT_8723B_1ANT_COEX_ALGO_PANEDR_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = PAN(EDR)+HID.\n"); "[BTCoex], Action algorithm = PAN(EDR)+HID\n");
halbtc8723b1ant_action_pan_edr_hid(btcoexist); halbtc8723b1ant_action_pan_edr_hid(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR: case BT_8723B_1ANT_COEX_ALGO_HID_A2DP_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HID+A2DP+PAN.\n"); "[BTCoex], Action algorithm = HID+A2DP+PAN\n");
btc8723b1ant_action_hid_a2dp_pan_edr(btcoexist); btc8723b1ant_action_hid_a2dp_pan_edr(btcoexist);
break; break;
case BT_8723B_1ANT_COEX_ALGO_HID_A2DP: case BT_8723B_1ANT_COEX_ALGO_HID_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HID+A2DP.\n"); "[BTCoex], Action algorithm = HID+A2DP\n");
halbtc8723b1ant_action_hid_a2dp(btcoexist); halbtc8723b1ant_action_hid_a2dp(btcoexist);
break; break;
default: default:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = coexist All Off!!\n"); "[BTCoex], Action algorithm = coexist All Off!!\n");
break; break;
} }
coex_dm->pre_algorithm = coex_dm->cur_algorithm; coex_dm->pre_algorithm = coex_dm->cur_algorithm;
...@@ -2171,24 +2158,24 @@ static void halbtc8723b1ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -2171,24 +2158,24 @@ static void halbtc8723b1ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
u32 wifi_link_status = 0; u32 wifi_link_status = 0;
u32 num_of_wifi_link = 0; u32 num_of_wifi_link = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism()===>\n"); "[BTCoex], RunCoexistMechanism()===>\n");
if (btcoexist->manual_control) { if (btcoexist->manual_control) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), return for Manual CTRL <===\n"); "[BTCoex], RunCoexistMechanism(), return for Manual CTRL <===\n");
return; return;
} }
if (btcoexist->stop_coex_dm) { if (btcoexist->stop_coex_dm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), return for Stop Coex DM <===\n"); "[BTCoex], RunCoexistMechanism(), return for Stop Coex DM <===\n");
return; return;
} }
if (coex_sta->under_ips) { if (coex_sta->under_ips) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], wifi is under IPS !!!\n"); "[BTCoex], wifi is under IPS !!!\n");
return; return;
} }
...@@ -2267,8 +2254,8 @@ static void halbtc8723b1ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -2267,8 +2254,8 @@ static void halbtc8723b1ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
if (!wifi_connected) { if (!wifi_connected) {
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], wifi is non connected-idle !!!\n"); "[BTCoex], wifi is non connected-idle !!!\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link);
...@@ -2305,8 +2292,8 @@ static void halbtc8723b1ant_init_hw_config(struct btc_coexist *btcoexist, ...@@ -2305,8 +2292,8 @@ static void halbtc8723b1ant_init_hw_config(struct btc_coexist *btcoexist,
u8 u8tmp = 0; u8 u8tmp = 0;
u32 cnt_bt_cal_chk = 0; u32 cnt_bt_cal_chk = 0;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], 1Ant Init HW Config!!\n"); "[BTCoex], 1Ant Init HW Config!!\n");
if (backup) {/* backup rf 0x1e value */ if (backup) {/* backup rf 0x1e value */
coex_dm->backup_arfr_cnt1 = coex_dm->backup_arfr_cnt1 =
...@@ -2333,14 +2320,14 @@ static void halbtc8723b1ant_init_hw_config(struct btc_coexist *btcoexist, ...@@ -2333,14 +2320,14 @@ static void halbtc8723b1ant_init_hw_config(struct btc_coexist *btcoexist,
u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x49d); u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x49d);
cnt_bt_cal_chk++; cnt_bt_cal_chk++;
if (u32tmp & BIT0) { if (u32tmp & BIT0) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ########### BT calibration(cnt=%d) ###########\n", "[BTCoex], ########### BT calibration(cnt=%d) ###########\n",
cnt_bt_cal_chk); cnt_bt_cal_chk);
mdelay(50); mdelay(50);
} else { } else {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ********** BT NOT calibration (cnt=%d)**********\n", "[BTCoex], ********** BT NOT calibration (cnt=%d)**********\n",
cnt_bt_cal_chk); cnt_bt_cal_chk);
break; break;
} }
} }
...@@ -2383,8 +2370,8 @@ void ex_halbtc8723b1ant_init_hwconfig(struct btc_coexist *btcoexist) ...@@ -2383,8 +2370,8 @@ void ex_halbtc8723b1ant_init_hwconfig(struct btc_coexist *btcoexist)
void ex_halbtc8723b1ant_init_coex_dm(struct btc_coexist *btcoexist) void ex_halbtc8723b1ant_init_coex_dm(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Coex Mechanism Init!!\n"); "[BTCoex], Coex Mechanism Init!!\n");
btcoexist->stop_coex_dm = false; btcoexist->stop_coex_dm = false;
...@@ -2677,8 +2664,8 @@ void ex_halbtc8723b1ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2677,8 +2664,8 @@ void ex_halbtc8723b1ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
return; return;
if (BTC_IPS_ENTER == type) { if (BTC_IPS_ENTER == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS ENTER notify\n"); "[BTCoex], IPS ENTER notify\n");
coex_sta->under_ips = true; coex_sta->under_ips = true;
halbtc8723b1ant_SetAntPath(btcoexist, BTC_ANT_PATH_BT, halbtc8723b1ant_SetAntPath(btcoexist, BTC_ANT_PATH_BT,
...@@ -2689,8 +2676,8 @@ void ex_halbtc8723b1ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2689,8 +2676,8 @@ void ex_halbtc8723b1ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
NORMAL_EXEC, 0); NORMAL_EXEC, 0);
halbtc8723b1ant_wifi_off_hw_cfg(btcoexist); halbtc8723b1ant_wifi_off_hw_cfg(btcoexist);
} else if (BTC_IPS_LEAVE == type) { } else if (BTC_IPS_LEAVE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS LEAVE notify\n"); "[BTCoex], IPS LEAVE notify\n");
coex_sta->under_ips = false; coex_sta->under_ips = false;
halbtc8723b1ant_init_hw_config(btcoexist, false); halbtc8723b1ant_init_hw_config(btcoexist, false);
...@@ -2705,12 +2692,12 @@ void ex_halbtc8723b1ant_lps_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2705,12 +2692,12 @@ void ex_halbtc8723b1ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
return; return;
if (BTC_LPS_ENABLE == type) { if (BTC_LPS_ENABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS ENABLE notify\n"); "[BTCoex], LPS ENABLE notify\n");
coex_sta->under_lps = true; coex_sta->under_lps = true;
} else if (BTC_LPS_DISABLE == type) { } else if (BTC_LPS_DISABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS DISABLE notify\n"); "[BTCoex], LPS DISABLE notify\n");
coex_sta->under_lps = false; coex_sta->under_lps = false;
} }
} }
...@@ -2753,15 +2740,15 @@ void ex_halbtc8723b1ant_scan_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2753,15 +2740,15 @@ void ex_halbtc8723b1ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
} }
if (BTC_SCAN_START == type) { if (BTC_SCAN_START == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN START notify\n"); "[BTCoex], SCAN START notify\n");
if (!wifi_connected) /* non-connected scan */ if (!wifi_connected) /* non-connected scan */
btc8723b1ant_action_wifi_not_conn_scan(btcoexist); btc8723b1ant_action_wifi_not_conn_scan(btcoexist);
else /* wifi is connected */ else /* wifi is connected */
btc8723b1ant_action_wifi_conn_scan(btcoexist); btc8723b1ant_action_wifi_conn_scan(btcoexist);
} else if (BTC_SCAN_FINISH == type) { } else if (BTC_SCAN_FINISH == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN FINISH notify\n"); "[BTCoex], SCAN FINISH notify\n");
if (!wifi_connected) /* non-connected scan */ if (!wifi_connected) /* non-connected scan */
btc8723b1ant_action_wifi_not_conn(btcoexist); btc8723b1ant_action_wifi_not_conn(btcoexist);
else else
...@@ -2802,12 +2789,12 @@ void ex_halbtc8723b1ant_connect_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2802,12 +2789,12 @@ void ex_halbtc8723b1ant_connect_notify(struct btc_coexist *btcoexist, u8 type)
} }
if (BTC_ASSOCIATE_START == type) { if (BTC_ASSOCIATE_START == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT START notify\n"); "[BTCoex], CONNECT START notify\n");
btc8723b1ant_act_wifi_not_conn_asso_auth(btcoexist); btc8723b1ant_act_wifi_not_conn_asso_auth(btcoexist);
} else if (BTC_ASSOCIATE_FINISH == type) { } else if (BTC_ASSOCIATE_FINISH == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT FINISH notify\n"); "[BTCoex], CONNECT FINISH notify\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED,
&wifi_connected); &wifi_connected);
...@@ -2830,11 +2817,11 @@ void ex_halbtc8723b1ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -2830,11 +2817,11 @@ void ex_halbtc8723b1ant_media_status_notify(struct btc_coexist *btcoexist,
return; return;
if (BTC_MEDIA_CONNECT == type) if (BTC_MEDIA_CONNECT == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA connect notify\n"); "[BTCoex], MEDIA connect notify\n");
else else
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA disconnect notify\n"); "[BTCoex], MEDIA disconnect notify\n");
/* only 2.4G we need to inform bt the chnl mask */ /* only 2.4G we need to inform bt the chnl mask */
btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL, btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL,
...@@ -2855,10 +2842,10 @@ void ex_halbtc8723b1ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -2855,10 +2842,10 @@ void ex_halbtc8723b1ant_media_status_notify(struct btc_coexist *btcoexist,
coex_dm->wifi_chnl_info[1] = h2c_parameter[1]; coex_dm->wifi_chnl_info[1] = h2c_parameter[1];
coex_dm->wifi_chnl_info[2] = h2c_parameter[2]; coex_dm->wifi_chnl_info[2] = h2c_parameter[2];
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x66 = 0x%x\n", "[BTCoex], FW write 0x66 = 0x%x\n",
h2c_parameter[0] << 16 | h2c_parameter[1] << 8 | h2c_parameter[0] << 16 | h2c_parameter[1] << 8 |
h2c_parameter[2]); h2c_parameter[2]);
btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter);
} }
...@@ -2900,8 +2887,8 @@ void ex_halbtc8723b1ant_special_packet_notify(struct btc_coexist *btcoexist, ...@@ -2900,8 +2887,8 @@ void ex_halbtc8723b1ant_special_packet_notify(struct btc_coexist *btcoexist,
if (BTC_PACKET_DHCP == type || if (BTC_PACKET_DHCP == type ||
BTC_PACKET_EAPOL == type) { BTC_PACKET_EAPOL == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], special Packet(%d) notify\n", type); "[BTCoex], special Packet(%d) notify\n", type);
halbtc8723b1ant_action_wifi_connected_special_packet(btcoexist); halbtc8723b1ant_action_wifi_connected_special_packet(btcoexist);
} }
} }
...@@ -2921,19 +2908,19 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2921,19 +2908,19 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist,
rsp_source = BT_INFO_SRC_8723B_1ANT_WIFI_FW; rsp_source = BT_INFO_SRC_8723B_1ANT_WIFI_FW;
coex_sta->bt_info_c2h_cnt[rsp_source]++; coex_sta->bt_info_c2h_cnt[rsp_source]++;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Bt info[%d], length=%d, hex data = [", "[BTCoex], Bt info[%d], length=%d, hex data = [",
rsp_source, length); rsp_source, length);
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i]; coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i];
if (i == 1) if (i == 1)
bt_info = tmp_buf[i]; bt_info = tmp_buf[i];
if (i == length - 1) if (i == length - 1)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x]\n", tmp_buf[i]); "0x%02x]\n", tmp_buf[i]);
else else
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x, ", tmp_buf[i]); "0x%02x, ", tmp_buf[i]);
} }
if (BT_INFO_SRC_8723B_1ANT_WIFI_FW != rsp_source) { if (BT_INFO_SRC_8723B_1ANT_WIFI_FW != rsp_source) {
...@@ -2950,8 +2937,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2950,8 +2937,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist,
* because bt is reset and loss of the info. * because bt is reset and loss of the info.
*/ */
if (coex_sta->bt_info_ext & BIT1) { if (coex_sta->bt_info_ext & BIT1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit1 check, send wifi BW&Chnl to BT!!\n"); "[BTCoex], BT ext info bit1 check, send wifi BW&Chnl to BT!!\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED,
&wifi_connected); &wifi_connected);
if (wifi_connected) if (wifi_connected)
...@@ -2965,8 +2952,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2965,8 +2952,8 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist,
if (coex_sta->bt_info_ext & BIT3) { if (coex_sta->bt_info_ext & BIT3) {
if (!btcoexist->manual_control && if (!btcoexist->manual_control &&
!btcoexist->stop_coex_dm) { !btcoexist->stop_coex_dm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit3 check, set BT NOT ignore Wlan active!!\n"); "[BTCoex], BT ext info bit3 check, set BT NOT ignore Wlan active!!\n");
halbtc8723b1ant_ignore_wlan_act(btcoexist, halbtc8723b1ant_ignore_wlan_act(btcoexist,
FORCE_EXEC, FORCE_EXEC,
false); false);
...@@ -3021,30 +3008,30 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3021,30 +3008,30 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist,
if (!(bt_info&BT_INFO_8723B_1ANT_B_CONNECTION)) { if (!(bt_info&BT_INFO_8723B_1ANT_B_CONNECTION)) {
coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE; coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_NON_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Non-Connected idle!\n"); "[BTCoex], BtInfoNotify(), BT Non-Connected idle!\n");
/* connection exists but no busy */ /* connection exists but no busy */
} else if (bt_info == BT_INFO_8723B_1ANT_B_CONNECTION) { } else if (bt_info == BT_INFO_8723B_1ANT_B_CONNECTION) {
coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE; coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Connected-idle!!!\n"); "[BTCoex], BtInfoNotify(), BT Connected-idle!!!\n");
} else if ((bt_info & BT_INFO_8723B_1ANT_B_SCO_ESCO) || } else if ((bt_info & BT_INFO_8723B_1ANT_B_SCO_ESCO) ||
(bt_info & BT_INFO_8723B_1ANT_B_SCO_BUSY)) { (bt_info & BT_INFO_8723B_1ANT_B_SCO_BUSY)) {
coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_SCO_BUSY; coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_SCO_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT SCO busy!!!\n"); "[BTCoex], BtInfoNotify(), BT SCO busy!!!\n");
} else if (bt_info & BT_INFO_8723B_1ANT_B_ACL_BUSY) { } else if (bt_info & BT_INFO_8723B_1ANT_B_ACL_BUSY) {
if (BT_8723B_1ANT_BT_STATUS_ACL_BUSY != coex_dm->bt_status) if (BT_8723B_1ANT_BT_STATUS_ACL_BUSY != coex_dm->bt_status)
coex_dm->auto_tdma_adjust = false; coex_dm->auto_tdma_adjust = false;
coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_ACL_BUSY; coex_dm->bt_status = BT_8723B_1ANT_BT_STATUS_ACL_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT ACL busy!!!\n"); "[BTCoex], BtInfoNotify(), BT ACL busy!!!\n");
} else { } else {
coex_dm->bt_status = coex_dm->bt_status =
BT_8723B_1ANT_BT_STATUS_MAX; BT_8723B_1ANT_BT_STATUS_MAX;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Non-Defined state!!\n"); "[BTCoex], BtInfoNotify(), BT Non-Defined state!!\n");
} }
if ((BT_8723B_1ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) || if ((BT_8723B_1ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) ||
...@@ -3060,7 +3047,7 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3060,7 +3047,7 @@ void ex_halbtc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist,
void ex_halbtc8723b1ant_halt_notify(struct btc_coexist *btcoexist) void ex_halbtc8723b1ant_halt_notify(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, "[BTCoex], Halt notify\n"); btc_iface_dbg(INTF_NOTIFY, "[BTCoex], Halt notify\n");
btcoexist->stop_coex_dm = true; btcoexist->stop_coex_dm = true;
...@@ -3078,11 +3065,11 @@ void ex_halbtc8723b1ant_halt_notify(struct btc_coexist *btcoexist) ...@@ -3078,11 +3065,11 @@ void ex_halbtc8723b1ant_halt_notify(struct btc_coexist *btcoexist)
void ex_halbtc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state) void ex_halbtc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, "[BTCoex], Pnp notify\n"); btc_iface_dbg(INTF_NOTIFY, "[BTCoex], Pnp notify\n");
if (BTC_WIFI_PNP_SLEEP == pnp_state) { if (BTC_WIFI_PNP_SLEEP == pnp_state) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Pnp notify to SLEEP\n"); "[BTCoex], Pnp notify to SLEEP\n");
btcoexist->stop_coex_dm = true; btcoexist->stop_coex_dm = true;
halbtc8723b1ant_SetAntPath(btcoexist, BTC_ANT_PATH_BT, false, halbtc8723b1ant_SetAntPath(btcoexist, BTC_ANT_PATH_BT, false,
true); true);
...@@ -3092,8 +3079,8 @@ void ex_halbtc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state) ...@@ -3092,8 +3079,8 @@ void ex_halbtc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2);
halbtc8723b1ant_wifi_off_hw_cfg(btcoexist); halbtc8723b1ant_wifi_off_hw_cfg(btcoexist);
} else if (BTC_WIFI_PNP_WAKE_UP == pnp_state) { } else if (BTC_WIFI_PNP_WAKE_UP == pnp_state) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Pnp notify to WAKE UP\n"); "[BTCoex], Pnp notify to WAKE UP\n");
btcoexist->stop_coex_dm = false; btcoexist->stop_coex_dm = false;
halbtc8723b1ant_init_hw_config(btcoexist, false); halbtc8723b1ant_init_hw_config(btcoexist, false);
halbtc8723b1ant_init_coex_dm(btcoexist); halbtc8723b1ant_init_coex_dm(btcoexist);
...@@ -3103,8 +3090,8 @@ void ex_halbtc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state) ...@@ -3103,8 +3090,8 @@ void ex_halbtc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
void ex_halbtc8723b1ant_coex_dm_reset(struct btc_coexist *btcoexist) void ex_halbtc8723b1ant_coex_dm_reset(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], *****************Coex DM Reset****************\n"); "[BTCoex], *****************Coex DM Reset****************\n");
halbtc8723b1ant_init_hw_config(btcoexist, false); halbtc8723b1ant_init_hw_config(btcoexist, false);
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, 0xfffff, 0x0); btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, 0xfffff, 0x0);
...@@ -3119,31 +3106,31 @@ void ex_halbtc8723b1ant_periodical(struct btc_coexist *btcoexist) ...@@ -3119,31 +3106,31 @@ void ex_halbtc8723b1ant_periodical(struct btc_coexist *btcoexist)
static u8 dis_ver_info_cnt; static u8 dis_ver_info_cnt;
u32 fw_ver = 0, bt_patch_ver = 0; u32 fw_ver = 0, bt_patch_ver = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], ==========================Periodical===========================\n"); "[BTCoex], ==========================Periodical===========================\n");
if (dis_ver_info_cnt <= 5) { if (dis_ver_info_cnt <= 5) {
dis_ver_info_cnt += 1; dis_ver_info_cnt += 1;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************************************************\n"); "[BTCoex], ****************************************************************\n");
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n", "[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n",
board_info->pg_ant_num, board_info->btdm_ant_num, board_info->pg_ant_num, board_info->btdm_ant_num,
board_info->btdm_ant_pos); board_info->btdm_ant_pos);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], BT stack/ hci ext ver = %s / %d\n", "[BTCoex], BT stack/ hci ext ver = %s / %d\n",
((stack_info->profile_notified) ? "Yes" : "No"), stack_info->profile_notified ? "Yes" : "No",
stack_info->hci_version); stack_info->hci_version);
btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER, btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER,
&bt_patch_ver); &bt_patch_ver);
btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n", "[BTCoex], CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n",
glcoex_ver_date_8723b_1ant, glcoex_ver_date_8723b_1ant,
glcoex_ver_8723b_1ant, fw_ver, glcoex_ver_8723b_1ant, fw_ver,
bt_patch_ver, bt_patch_ver); bt_patch_ver, bt_patch_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************************************************\n"); "[BTCoex], ****************************************************************\n");
} }
#if (BT_AUTO_REPORT_ONLY_8723B_1ANT == 0) #if (BT_AUTO_REPORT_ONLY_8723B_1ANT == 0)
......
...@@ -72,32 +72,28 @@ static u8 btc8723b2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -72,32 +72,28 @@ static u8 btc8723b2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= rssi_thresh + if (bt_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state switch to High\n");
"switch to High\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state stay at Low\n");
"stay at Low\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh) { if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state switch to Low\n");
"switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state stay at High\n");
"stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi thresh error!!\n"); "[BTCoex], BT Rssi thresh error!!\n");
return coex_sta->pre_bt_rssi_state; return coex_sta->pre_bt_rssi_state;
} }
...@@ -106,14 +102,12 @@ static u8 btc8723b2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -106,14 +102,12 @@ static u8 btc8723b2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= rssi_thresh + if (bt_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state switch to Medium\n");
"switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state stay at Low\n");
"stay at Low\n");
} }
} else if ((coex_sta->pre_bt_rssi_state == } else if ((coex_sta->pre_bt_rssi_state ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -122,31 +116,26 @@ static u8 btc8723b2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -122,31 +116,26 @@ static u8 btc8723b2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= rssi_thresh1 + if (bt_rssi >= rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state switch to High\n");
"switch to High\n");
} else if (bt_rssi < rssi_thresh) { } else if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state switch to Low\n");
"switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state stay at Medium\n");
"stay at Medium\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh1) { if (bt_rssi < rssi_thresh1) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state switch to Medium\n");
"switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state " "[BTCoex], BT Rssi state stay at High\n");
"stay at High\n");
} }
} }
} }
...@@ -173,36 +162,28 @@ static u8 btc8723b2ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -173,36 +162,28 @@ static u8 btc8723b2ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= rssi_thresh + if (wifi_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state "
"switch to High\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state "
"stay at Low\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh) { if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state "
"switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state "
"stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_WIFI_RSSI_STATE, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
"[BTCoex], wifi RSSI thresh error!!\n"); "[BTCoex], wifi RSSI thresh error!!\n");
return coex_sta->pre_wifi_rssi_state[index]; return coex_sta->pre_wifi_rssi_state[index];
} }
...@@ -213,16 +194,12 @@ static u8 btc8723b2ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -213,16 +194,12 @@ static u8 btc8723b2ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= rssi_thresh + if (wifi_rssi >= rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state "
"switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state "
"stay at Low\n");
} }
} else if ((coex_sta->pre_wifi_rssi_state[index] == } else if ((coex_sta->pre_wifi_rssi_state[index] ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -231,36 +208,26 @@ static u8 btc8723b2ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -231,36 +208,26 @@ static u8 btc8723b2ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= rssi_thresh1 + if (wifi_rssi >= rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) { BTC_RSSI_COEX_THRESH_TOL_8723B_2ANT) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state "
"switch to High\n");
} else if (wifi_rssi < rssi_thresh) { } else if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state "
"switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Medium\n");
"[BTCoex], wifi RSSI state "
"stay at Medium\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh1) { if (wifi_rssi < rssi_thresh1) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state "
"switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state "
"stay at High\n");
} }
} }
} }
...@@ -292,12 +259,12 @@ static void btc8723b2ant_monitor_bt_ctr(struct btc_coexist *btcoexist) ...@@ -292,12 +259,12 @@ static void btc8723b2ant_monitor_bt_ctr(struct btc_coexist *btcoexist)
coex_sta->low_priority_tx = reg_lp_tx; coex_sta->low_priority_tx = reg_lp_tx;
coex_sta->low_priority_rx = reg_lp_rx; coex_sta->low_priority_rx = reg_lp_rx;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], High Priority Tx/Rx(reg 0x%x)=0x%x(%d)/0x%x(%d)\n", "[BTCoex], High Priority Tx/Rx(reg 0x%x)=0x%x(%d)/0x%x(%d)\n",
reg_hp_txrx, reg_hp_tx, reg_hp_tx, reg_hp_rx, reg_hp_rx); reg_hp_txrx, reg_hp_tx, reg_hp_tx, reg_hp_rx, reg_hp_rx);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], Low Priority Tx/Rx(reg 0x%x)=0x%x(%d)/0x%x(%d)\n", "[BTCoex], Low Priority Tx/Rx(reg 0x%x)=0x%x(%d)/0x%x(%d)\n",
reg_lp_txrx, reg_lp_tx, reg_lp_tx, reg_lp_rx, reg_lp_rx); reg_lp_txrx, reg_lp_tx, reg_lp_tx, reg_lp_rx, reg_lp_rx);
/* reset counter */ /* reset counter */
btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc); btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc);
...@@ -311,9 +278,9 @@ static void btc8723b2ant_query_bt_info(struct btc_coexist *btcoexist) ...@@ -311,9 +278,9 @@ static void btc8723b2ant_query_bt_info(struct btc_coexist *btcoexist)
h2c_parameter[0] |= BIT0; /* trigger */ h2c_parameter[0] |= BIT0; /* trigger */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n", "[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter);
} }
...@@ -427,8 +394,8 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -427,8 +394,8 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on);
if (!bt_link_info->bt_link_exist) { if (!bt_link_info->bt_link_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], No BT link exists!!!\n"); "[BTCoex], No BT link exists!!!\n");
return algorithm; return algorithm;
} }
...@@ -443,27 +410,27 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -443,27 +410,27 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
if (num_of_diff_profile == 1) { if (num_of_diff_profile == 1) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO only\n"); "[BTCoex], SCO only\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_SCO; algorithm = BT_8723B_2ANT_COEX_ALGO_SCO;
} else { } else {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID only\n"); "[BTCoex], HID only\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_HID; algorithm = BT_8723B_2ANT_COEX_ALGO_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], A2DP only\n"); "[BTCoex], A2DP only\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_A2DP; algorithm = BT_8723B_2ANT_COEX_ALGO_A2DP;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], PAN(HS) only\n"); "[BTCoex], PAN(HS) only\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANHS; BT_8723B_2ANT_COEX_ALGO_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], PAN(EDR) only\n"); "[BTCoex], PAN(EDR) only\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR; BT_8723B_2ANT_COEX_ALGO_PANEDR;
} }
...@@ -472,21 +439,21 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -472,21 +439,21 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
} else if (num_of_diff_profile == 2) { } else if (num_of_diff_profile == 2) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID\n"); "[BTCoex], SCO + HID\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + A2DP ==> SCO\n"); "[BTCoex], SCO + A2DP ==> SCO\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + PAN(HS)\n"); "[BTCoex], SCO + PAN(HS)\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_SCO; algorithm = BT_8723B_2ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + PAN(EDR)\n"); "[BTCoex], SCO + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -494,31 +461,31 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -494,31 +461,31 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
} else { } else {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + A2DP\n"); "[BTCoex], HID + A2DP\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8723B_2ANT_COEX_ALGO_HID_A2DP;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + PAN(HS)\n"); "[BTCoex], HID + PAN(HS)\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_HID; algorithm = BT_8723B_2ANT_COEX_ALGO_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + PAN(EDR)\n"); "[BTCoex], HID + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], A2DP + PAN(HS)\n"); "[BTCoex], A2DP + PAN(HS)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS; BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex],A2DP + PAN(EDR)\n"); "[BTCoex],A2DP + PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP; BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP;
} }
...@@ -528,37 +495,32 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -528,37 +495,32 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + A2DP" "[BTCoex], SCO + HID + A2DP ==> HID\n");
" ==> HID\n");
algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + " "[BTCoex], SCO + HID + PAN(HS)\n");
"PAN(HS)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + " "[BTCoex], SCO + HID + PAN(EDR)\n");
"PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + A2DP + " "[BTCoex], SCO + A2DP + PAN(HS)\n");
"PAN(HS)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + A2DP + " "[BTCoex], SCO + A2DP + PAN(EDR) ==> HID\n");
"PAN(EDR) ==> HID\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -568,15 +530,13 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -568,15 +530,13 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + A2DP + " "[BTCoex], HID + A2DP + PAN(HS)\n");
"PAN(HS)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_HID_A2DP; BT_8723B_2ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + A2DP + " "[BTCoex], HID + A2DP + PAN(EDR)\n");
"PAN(EDR)\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR; BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR;
} }
...@@ -588,13 +548,11 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -588,13 +548,11 @@ static u8 btc8723b2ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Error!!! SCO + HID" "[BTCoex], Error!!! SCO + HID + A2DP + PAN(HS)\n");
" + A2DP + PAN(HS)\n");
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + A2DP +" "[BTCoex], SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n");
" PAN(EDR)==>PAN(EDR)+HID\n");
algorithm = algorithm =
BT_8723B_2ANT_COEX_ALGO_PANEDR_HID; BT_8723B_2ANT_COEX_ALGO_PANEDR_HID;
} }
...@@ -624,17 +582,15 @@ static bool btc8723b_need_dec_pwr(struct btc_coexist *btcoexist) ...@@ -624,17 +582,15 @@ static bool btc8723b_need_dec_pwr(struct btc_coexist *btcoexist)
if (wifi_connected) { if (wifi_connected) {
if (bt_hs_on) { if (bt_hs_on) {
if (bt_hs_rssi > 37) { if (bt_hs_rssi > 37) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], Need to decrease bt " "[BTCoex], Need to decrease bt power for HS mode!!\n");
"power for HS mode!!\n");
ret = true; ret = true;
} }
} else { } else {
if ((bt_rssi_state == BTC_RSSI_STATE_HIGH) || if ((bt_rssi_state == BTC_RSSI_STATE_HIGH) ||
(bt_rssi_state == BTC_RSSI_STATE_STAY_HIGH)) { (bt_rssi_state == BTC_RSSI_STATE_STAY_HIGH)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], Need to decrease bt " "[BTCoex], Need to decrease bt power for Wifi is connected!!\n");
"power for Wifi is connected!!\n");
ret = true; ret = true;
} }
} }
...@@ -653,10 +609,10 @@ static void btc8723b2ant_set_fw_dac_swing_level(struct btc_coexist *btcoexist, ...@@ -653,10 +609,10 @@ static void btc8723b2ant_set_fw_dac_swing_level(struct btc_coexist *btcoexist,
*/ */
h2c_parameter[0] = dac_swing_lvl; h2c_parameter[0] = dac_swing_lvl;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Set Dac Swing Level=0x%x\n", dac_swing_lvl); "[BTCoex], Set Dac Swing Level=0x%x\n", dac_swing_lvl);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x64=0x%x\n", h2c_parameter[0]); "[BTCoex], FW write 0x64=0x%x\n", h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x64, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x64, 1, h2c_parameter);
} }
...@@ -671,9 +627,9 @@ static void btc8723b2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist, ...@@ -671,9 +627,9 @@ static void btc8723b2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist,
if (dec_bt_pwr) if (dec_bt_pwr)
h2c_parameter[0] |= BIT1; h2c_parameter[0] |= BIT1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], decrease Bt Power : %s, FW write 0x62=0x%x\n", "[BTCoex], decrease Bt Power : %s, FW write 0x62=0x%x\n",
(dec_bt_pwr ? "Yes!!" : "No!!"), h2c_parameter[0]); (dec_bt_pwr ? "Yes!!" : "No!!"), h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x62, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x62, 1, h2c_parameter);
} }
...@@ -681,15 +637,15 @@ static void btc8723b2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist, ...@@ -681,15 +637,15 @@ static void btc8723b2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist,
static void btc8723b2ant_dec_bt_pwr(struct btc_coexist *btcoexist, static void btc8723b2ant_dec_bt_pwr(struct btc_coexist *btcoexist,
bool force_exec, bool dec_bt_pwr) bool force_exec, bool dec_bt_pwr)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s Dec BT power = %s\n", "[BTCoex], %s Dec BT power = %s\n",
(force_exec ? "force to" : ""), (dec_bt_pwr ? "ON" : "OFF")); force_exec ? "force to" : "", dec_bt_pwr ? "ON" : "OFF");
coex_dm->cur_dec_bt_pwr = dec_bt_pwr; coex_dm->cur_dec_bt_pwr = dec_bt_pwr;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], bPreDecBtPwr=%d, bCurDecBtPwr=%d\n", "[BTCoex], bPreDecBtPwr=%d, bCurDecBtPwr=%d\n",
coex_dm->pre_dec_bt_pwr, coex_dm->cur_dec_bt_pwr); coex_dm->pre_dec_bt_pwr, coex_dm->cur_dec_bt_pwr);
if (coex_dm->pre_dec_bt_pwr == coex_dm->cur_dec_bt_pwr) if (coex_dm->pre_dec_bt_pwr == coex_dm->cur_dec_bt_pwr)
return; return;
...@@ -702,17 +658,16 @@ static void btc8723b2ant_dec_bt_pwr(struct btc_coexist *btcoexist, ...@@ -702,17 +658,16 @@ static void btc8723b2ant_dec_bt_pwr(struct btc_coexist *btcoexist,
static void btc8723b2ant_fw_dac_swing_lvl(struct btc_coexist *btcoexist, static void btc8723b2ant_fw_dac_swing_lvl(struct btc_coexist *btcoexist,
bool force_exec, u8 fw_dac_swing_lvl) bool force_exec, u8 fw_dac_swing_lvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s set FW Dac Swing level = %d\n", "[BTCoex], %s set FW Dac Swing level = %d\n",
(force_exec ? "force to" : ""), fw_dac_swing_lvl); (force_exec ? "force to" : ""), fw_dac_swing_lvl);
coex_dm->cur_fw_dac_swing_lvl = fw_dac_swing_lvl; coex_dm->cur_fw_dac_swing_lvl = fw_dac_swing_lvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], preFwDacSwingLvl=%d, " "[BTCoex], preFwDacSwingLvl=%d, curFwDacSwingLvl=%d\n",
"curFwDacSwingLvl=%d\n", coex_dm->pre_fw_dac_swing_lvl,
coex_dm->pre_fw_dac_swing_lvl, coex_dm->cur_fw_dac_swing_lvl);
coex_dm->cur_fw_dac_swing_lvl);
if (coex_dm->pre_fw_dac_swing_lvl == if (coex_dm->pre_fw_dac_swing_lvl ==
coex_dm->cur_fw_dac_swing_lvl) coex_dm->cur_fw_dac_swing_lvl)
...@@ -729,16 +684,16 @@ static void btc8723b2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -729,16 +684,16 @@ static void btc8723b2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
{ {
if (rx_rf_shrink_on) { if (rx_rf_shrink_on) {
/* Shrink RF Rx LPF corner */ /* Shrink RF Rx LPF corner */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Shrink RF Rx LPF corner!!\n"); "[BTCoex], Shrink RF Rx LPF corner!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e,
0xfffff, 0xffffc); 0xfffff, 0xffffc);
} else { } else {
/* Resume RF Rx LPF corner */ /* Resume RF Rx LPF corner */
/* After initialized, we can use coex_dm->btRf0x1eBackup */ /* After initialized, we can use coex_dm->btRf0x1eBackup */
if (btcoexist->initilized) { if (btcoexist->initilized) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Resume RF Rx LPF corner!!\n"); "[BTCoex], Resume RF Rx LPF corner!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e,
0xfffff, 0xfffff,
coex_dm->bt_rf0x1e_backup); coex_dm->bt_rf0x1e_backup);
...@@ -749,18 +704,17 @@ static void btc8723b2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -749,18 +704,17 @@ static void btc8723b2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
static void btc8723b2ant_rf_shrink(struct btc_coexist *btcoexist, static void btc8723b2ant_rf_shrink(struct btc_coexist *btcoexist,
bool force_exec, bool rx_rf_shrink_on) bool force_exec, bool rx_rf_shrink_on)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn Rx RF Shrink = %s\n", "[BTCoex], %s turn Rx RF Shrink = %s\n",
(force_exec ? "force to" : ""), (rx_rf_shrink_on ? (force_exec ? "force to" : ""), (rx_rf_shrink_on ?
"ON" : "OFF")); "ON" : "OFF"));
coex_dm->cur_rf_rx_lpf_shrink = rx_rf_shrink_on; coex_dm->cur_rf_rx_lpf_shrink = rx_rf_shrink_on;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], bPreRfRxLpfShrink=%d, " "[BTCoex], bPreRfRxLpfShrink=%d, bCurRfRxLpfShrink=%d\n",
"bCurRfRxLpfShrink=%d\n", coex_dm->pre_rf_rx_lpf_shrink,
coex_dm->pre_rf_rx_lpf_shrink, coex_dm->cur_rf_rx_lpf_shrink);
coex_dm->cur_rf_rx_lpf_shrink);
if (coex_dm->pre_rf_rx_lpf_shrink == if (coex_dm->pre_rf_rx_lpf_shrink ==
coex_dm->cur_rf_rx_lpf_shrink) coex_dm->cur_rf_rx_lpf_shrink)
...@@ -788,9 +742,9 @@ static void btc8723b_set_penalty_txrate(struct btc_coexist *btcoexist, ...@@ -788,9 +742,9 @@ static void btc8723b_set_penalty_txrate(struct btc_coexist *btcoexist,
h2c_parameter[5] = 0xf9; /*MCS5 or OFDM36*/ h2c_parameter[5] = 0xf9; /*MCS5 or OFDM36*/
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set WiFi Low-Penalty Retry: %s", "[BTCoex], set WiFi Low-Penalty Retry: %s",
(low_penalty_ra ? "ON!!" : "OFF!!")); (low_penalty_ra ? "ON!!" : "OFF!!"));
btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter);
} }
...@@ -799,18 +753,17 @@ static void btc8723b2ant_low_penalty_ra(struct btc_coexist *btcoexist, ...@@ -799,18 +753,17 @@ static void btc8723b2ant_low_penalty_ra(struct btc_coexist *btcoexist,
bool force_exec, bool low_penalty_ra) bool force_exec, bool low_penalty_ra)
{ {
/*return; */ /*return; */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn LowPenaltyRA = %s\n", "[BTCoex], %s turn LowPenaltyRA = %s\n",
(force_exec ? "force to" : ""), (low_penalty_ra ? (force_exec ? "force to" : ""), (low_penalty_ra ?
"ON" : "OFF")); "ON" : "OFF"));
coex_dm->cur_low_penalty_ra = low_penalty_ra; coex_dm->cur_low_penalty_ra = low_penalty_ra;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], bPreLowPenaltyRa=%d, " "[BTCoex], bPreLowPenaltyRa=%d, bCurLowPenaltyRa=%d\n",
"bCurLowPenaltyRa=%d\n", coex_dm->pre_low_penalty_ra,
coex_dm->pre_low_penalty_ra, coex_dm->cur_low_penalty_ra);
coex_dm->cur_low_penalty_ra);
if (coex_dm->pre_low_penalty_ra == coex_dm->cur_low_penalty_ra) if (coex_dm->pre_low_penalty_ra == coex_dm->cur_low_penalty_ra)
return; return;
...@@ -824,8 +777,8 @@ static void btc8723b2ant_set_dac_swing_reg(struct btc_coexist *btcoexist, ...@@ -824,8 +777,8 @@ static void btc8723b2ant_set_dac_swing_reg(struct btc_coexist *btcoexist,
u32 level) u32 level)
{ {
u8 val = (u8) level; u8 val = (u8) level;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Write SwDacSwing = 0x%x\n", level); "[BTCoex], Write SwDacSwing = 0x%x\n", level);
btcoexist->btc_write_1byte_bitmask(btcoexist, 0x883, 0x3e, val); btcoexist->btc_write_1byte_bitmask(btcoexist, 0x883, 0x3e, val);
} }
...@@ -843,20 +796,20 @@ static void btc8723b2ant_dac_swing(struct btc_coexist *btcoexist, ...@@ -843,20 +796,20 @@ static void btc8723b2ant_dac_swing(struct btc_coexist *btcoexist,
bool force_exec, bool dac_swing_on, bool force_exec, bool dac_swing_on,
u32 dac_swing_lvl) u32 dac_swing_lvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn DacSwing=%s, dac_swing_lvl=0x%x\n", "[BTCoex], %s turn DacSwing=%s, dac_swing_lvl=0x%x\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
(dac_swing_on ? "ON" : "OFF"), dac_swing_lvl); (dac_swing_on ? "ON" : "OFF"), dac_swing_lvl);
coex_dm->cur_dac_swing_on = dac_swing_on; coex_dm->cur_dac_swing_on = dac_swing_on;
coex_dm->cur_dac_swing_lvl = dac_swing_lvl; coex_dm->cur_dac_swing_lvl = dac_swing_lvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], bPreDacSwingOn=%d, preDacSwingLvl=0x%x," "[BTCoex], bPreDacSwingOn=%d, preDacSwingLvl=0x%x, bCurDacSwingOn=%d, curDacSwingLvl=0x%x\n",
" bCurDacSwingOn=%d, curDacSwingLvl=0x%x\n", coex_dm->pre_dac_swing_on,
coex_dm->pre_dac_swing_on, coex_dm->pre_dac_swing_lvl, coex_dm->pre_dac_swing_lvl,
coex_dm->cur_dac_swing_on, coex_dm->cur_dac_swing_on,
coex_dm->cur_dac_swing_lvl); coex_dm->cur_dac_swing_lvl);
if ((coex_dm->pre_dac_swing_on == coex_dm->cur_dac_swing_on) && if ((coex_dm->pre_dac_swing_on == coex_dm->cur_dac_swing_on) &&
(coex_dm->pre_dac_swing_lvl == coex_dm->cur_dac_swing_lvl)) (coex_dm->pre_dac_swing_lvl == coex_dm->cur_dac_swing_lvl))
...@@ -877,8 +830,8 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -877,8 +830,8 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist,
/* BB AGC Gain Table */ /* BB AGC Gain Table */
if (agc_table_en) { if (agc_table_en) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], BB Agc Table On!\n"); "[BTCoex], BB Agc Table On!\n");
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x6e1A0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x6e1A0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x6d1B0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x6d1B0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x6c1C0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x6c1C0001);
...@@ -887,8 +840,8 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -887,8 +840,8 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist,
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x691F0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x691F0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x68200001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0x68200001);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], BB Agc Table Off!\n"); "[BTCoex], BB Agc Table Off!\n");
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xaa1A0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xaa1A0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa91B0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa91B0001);
btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa81C0001); btcoexist->btc_write_4byte(btcoexist, 0xc78, 0xa81C0001);
...@@ -901,15 +854,15 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -901,15 +854,15 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist,
/* RF Gain */ /* RF Gain */
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0xef, 0xfffff, 0x02000); btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0xef, 0xfffff, 0x02000);
if (agc_table_en) { if (agc_table_en) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Agc Table On!\n"); "[BTCoex], Agc Table On!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b,
0xfffff, 0x38fff); 0xfffff, 0x38fff);
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b,
0xfffff, 0x38ffe); 0xfffff, 0x38ffe);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Agc Table Off!\n"); "[BTCoex], Agc Table Off!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b,
0xfffff, 0x380c3); 0xfffff, 0x380c3);
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x3b,
...@@ -920,15 +873,15 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -920,15 +873,15 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist,
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0xed, 0xfffff, 0x1); btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0xed, 0xfffff, 0x1);
if (agc_table_en) { if (agc_table_en) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Agc Table On!\n"); "[BTCoex], Agc Table On!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40,
0xfffff, 0x38fff); 0xfffff, 0x38fff);
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40,
0xfffff, 0x38ffe); 0xfffff, 0x38ffe);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Agc Table Off!\n"); "[BTCoex], Agc Table Off!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40,
0xfffff, 0x380c3); 0xfffff, 0x380c3);
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x40,
...@@ -946,16 +899,17 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist, ...@@ -946,16 +899,17 @@ static void btc8723b2ant_set_agc_table(struct btc_coexist *btcoexist,
static void btc8723b2ant_agc_table(struct btc_coexist *btcoexist, static void btc8723b2ant_agc_table(struct btc_coexist *btcoexist,
bool force_exec, bool agc_table_en) bool force_exec, bool agc_table_en)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s %s Agc Table\n", "[BTCoex], %s %s Agc Table\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
(agc_table_en ? "Enable" : "Disable")); (agc_table_en ? "Enable" : "Disable"));
coex_dm->cur_agc_table_en = agc_table_en; coex_dm->cur_agc_table_en = agc_table_en;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], bPreAgcTableEn=%d, bCurAgcTableEn=%d\n", "[BTCoex], bPreAgcTableEn=%d, bCurAgcTableEn=%d\n",
coex_dm->pre_agc_table_en, coex_dm->cur_agc_table_en); coex_dm->pre_agc_table_en,
coex_dm->cur_agc_table_en);
if (coex_dm->pre_agc_table_en == coex_dm->cur_agc_table_en) if (coex_dm->pre_agc_table_en == coex_dm->cur_agc_table_en)
return; return;
...@@ -969,20 +923,20 @@ static void btc8723b2ant_set_coex_table(struct btc_coexist *btcoexist, ...@@ -969,20 +923,20 @@ static void btc8723b2ant_set_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c0, u32 val0x6c4, u32 val0x6c0, u32 val0x6c4,
u32 val0x6c8, u8 val0x6cc) u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c0=0x%x\n", val0x6c0); "[BTCoex], set coex table, set 0x6c0=0x%x\n", val0x6c0);
btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0); btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c4=0x%x\n", val0x6c4); "[BTCoex], set coex table, set 0x6c4=0x%x\n", val0x6c4);
btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4); btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c8=0x%x\n", val0x6c8); "[BTCoex], set coex table, set 0x6c8=0x%x\n", val0x6c8);
btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8); btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6cc=0x%x\n", val0x6cc); "[BTCoex], set coex table, set 0x6cc=0x%x\n", val0x6cc);
btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc); btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc);
} }
...@@ -991,29 +945,24 @@ static void btc8723b2ant_coex_table(struct btc_coexist *btcoexist, ...@@ -991,29 +945,24 @@ static void btc8723b2ant_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c4, u32 val0x6c8, u32 val0x6c4, u32 val0x6c8,
u8 val0x6cc) u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s write Coex Table 0x6c0=0x%x," "[BTCoex], %s write Coex Table 0x6c0=0x%x, 0x6c4=0x%x, 0x6c8=0x%x, 0x6cc=0x%x\n",
" 0x6c4=0x%x, 0x6c8=0x%x, 0x6cc=0x%x\n", force_exec ? "force to" : "",
(force_exec ? "force to" : ""), val0x6c0, val0x6c0, val0x6c4, val0x6c8, val0x6cc);
val0x6c4, val0x6c8, val0x6cc);
coex_dm->cur_val0x6c0 = val0x6c0; coex_dm->cur_val0x6c0 = val0x6c0;
coex_dm->cur_val0x6c4 = val0x6c4; coex_dm->cur_val0x6c4 = val0x6c4;
coex_dm->cur_val0x6c8 = val0x6c8; coex_dm->cur_val0x6c8 = val0x6c8;
coex_dm->cur_val0x6cc = val0x6cc; coex_dm->cur_val0x6cc = val0x6cc;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], preVal0x6c0=0x%x, " "[BTCoex], preVal0x6c0=0x%x, preVal0x6c4=0x%x, preVal0x6c8=0x%x, preVal0x6cc=0x%x !!\n",
"preVal0x6c4=0x%x, preVal0x6c8=0x%x, " coex_dm->pre_val0x6c0, coex_dm->pre_val0x6c4,
"preVal0x6cc=0x%x !!\n", coex_dm->pre_val0x6c8, coex_dm->pre_val0x6cc);
coex_dm->pre_val0x6c0, coex_dm->pre_val0x6c4, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
coex_dm->pre_val0x6c8, coex_dm->pre_val0x6cc); "[BTCoex], curVal0x6c0=0x%x, curVal0x6c4=0x%x, curVal0x6c8=0x%x, curVal0x6cc=0x%x !!\n",
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, coex_dm->cur_val0x6c0, coex_dm->cur_val0x6c4,
"[BTCoex], curVal0x6c0=0x%x, " coex_dm->cur_val0x6c8, coex_dm->cur_val0x6cc);
"curVal0x6c4=0x%x, curVal0x6c8=0x%x, "
"curVal0x6cc=0x%x !!\n",
coex_dm->cur_val0x6c0, coex_dm->cur_val0x6c4,
coex_dm->cur_val0x6c8, coex_dm->cur_val0x6cc);
if ((coex_dm->pre_val0x6c0 == coex_dm->cur_val0x6c0) && if ((coex_dm->pre_val0x6c0 == coex_dm->cur_val0x6c0) &&
(coex_dm->pre_val0x6c4 == coex_dm->cur_val0x6c4) && (coex_dm->pre_val0x6c4 == coex_dm->cur_val0x6c4) &&
...@@ -1099,9 +1048,9 @@ static void btc8723b2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist, ...@@ -1099,9 +1048,9 @@ static void btc8723b2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist,
if (enable) if (enable)
h2c_parameter[0] |= BIT0;/* function enable*/ h2c_parameter[0] |= BIT0;/* function enable*/
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set FW for BT Ignore Wlan_Act, " "[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63=0x%x\n",
"FW write 0x63=0x%x\n", h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter);
} }
...@@ -1109,17 +1058,16 @@ static void btc8723b2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist, ...@@ -1109,17 +1058,16 @@ static void btc8723b2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist,
static void btc8723b2ant_ignore_wlan_act(struct btc_coexist *btcoexist, static void btc8723b2ant_ignore_wlan_act(struct btc_coexist *btcoexist,
bool force_exec, bool enable) bool force_exec, bool enable)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn Ignore WlanAct %s\n", "[BTCoex], %s turn Ignore WlanAct %s\n",
(force_exec ? "force to" : ""), (enable ? "ON" : "OFF")); (force_exec ? "force to" : ""), (enable ? "ON" : "OFF"));
coex_dm->cur_ignore_wlan_act = enable; coex_dm->cur_ignore_wlan_act = enable;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], bPreIgnoreWlanAct = %d, " "[BTCoex], bPreIgnoreWlanAct = %d, bCurIgnoreWlanAct = %d!!\n",
"bCurIgnoreWlanAct = %d!!\n", coex_dm->pre_ignore_wlan_act,
coex_dm->pre_ignore_wlan_act, coex_dm->cur_ignore_wlan_act);
coex_dm->cur_ignore_wlan_act);
if (coex_dm->pre_ignore_wlan_act == if (coex_dm->pre_ignore_wlan_act ==
coex_dm->cur_ignore_wlan_act) coex_dm->cur_ignore_wlan_act)
...@@ -1147,11 +1095,11 @@ static void btc8723b2ant_set_fw_ps_tdma(struct btc_coexist *btcoexist, u8 byte1, ...@@ -1147,11 +1095,11 @@ static void btc8723b2ant_set_fw_ps_tdma(struct btc_coexist *btcoexist, u8 byte1,
coex_dm->ps_tdma_para[3] = byte4; coex_dm->ps_tdma_para[3] = byte4;
coex_dm->ps_tdma_para[4] = byte5; coex_dm->ps_tdma_para[4] = byte5;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x60(5bytes)=0x%x%08x\n", "[BTCoex], FW write 0x60(5bytes)=0x%x%08x\n",
h2c_parameter[0], h2c_parameter[0],
h2c_parameter[1] << 24 | h2c_parameter[2] << 16 | h2c_parameter[1] << 24 | h2c_parameter[2] << 16 |
h2c_parameter[3] << 8 | h2c_parameter[4]); h2c_parameter[3] << 8 | h2c_parameter[4]);
btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter);
} }
...@@ -1260,20 +1208,20 @@ static void btc8723b2ant_set_ant_path(struct btc_coexist *btcoexist, ...@@ -1260,20 +1208,20 @@ static void btc8723b2ant_set_ant_path(struct btc_coexist *btcoexist,
static void btc8723b2ant_ps_tdma(struct btc_coexist *btcoexist, bool force_exec, static void btc8723b2ant_ps_tdma(struct btc_coexist *btcoexist, bool force_exec,
bool turn_on, u8 type) bool turn_on, u8 type)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn %s PS TDMA, type=%d\n", "[BTCoex], %s turn %s PS TDMA, type=%d\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
(turn_on ? "ON" : "OFF"), type); (turn_on ? "ON" : "OFF"), type);
coex_dm->cur_ps_tdma_on = turn_on; coex_dm->cur_ps_tdma_on = turn_on;
coex_dm->cur_ps_tdma = type; coex_dm->cur_ps_tdma = type;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], bPrePsTdmaOn = %d, bCurPsTdmaOn = %d!!\n", "[BTCoex], bPrePsTdmaOn = %d, bCurPsTdmaOn = %d!!\n",
coex_dm->pre_ps_tdma_on, coex_dm->cur_ps_tdma_on); coex_dm->pre_ps_tdma_on, coex_dm->cur_ps_tdma_on);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], prePsTdma = %d, curPsTdma = %d!!\n", "[BTCoex], prePsTdma = %d, curPsTdma = %d!!\n",
coex_dm->pre_ps_tdma, coex_dm->cur_ps_tdma); coex_dm->pre_ps_tdma, coex_dm->cur_ps_tdma);
if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) && if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) &&
(coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma)) (coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma))
...@@ -1471,8 +1419,8 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1471,8 +1419,8 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist)
btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER, btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
&low_pwr_disable); &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non-connected idle!!\n"); "[BTCoex], Wifi non-connected idle!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, 0xfffff, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, 0xfffff,
0x0); 0x0);
...@@ -1495,9 +1443,8 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1495,9 +1443,8 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist)
BTC_SET_ACT_DISABLE_LOW_POWER, BTC_SET_ACT_DISABLE_LOW_POWER,
&low_pwr_disable); &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi connected + " "[BTCoex], Wifi connected + BT non connected-idle!!\n");
"BT non connected-idle!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1,
0xfffff, 0x0); 0xfffff, 0x0);
...@@ -1523,9 +1470,8 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1523,9 +1470,8 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist)
if (bt_hs_on) if (bt_hs_on)
return false; return false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi connected + " "[BTCoex], Wifi connected + BT connected-idle!!\n");
"BT connected-idle!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1,
0xfffff, 0x0); 0xfffff, 0x0);
...@@ -1549,17 +1495,15 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1549,17 +1495,15 @@ static bool btc8723b2ant_is_common_action(struct btc_coexist *btcoexist)
&low_pwr_disable); &low_pwr_disable);
if (wifi_busy) { if (wifi_busy) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Connected-Busy + " "[BTCoex], Wifi Connected-Busy + BT Busy!!\n");
"BT Busy!!\n");
common = false; common = false;
} else { } else {
if (bt_hs_on) if (bt_hs_on)
return false; return false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Connected-Idle + " "[BTCoex], Wifi Connected-Idle + BT Busy!!\n");
"BT Busy!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A,
0x1, 0xfffff, 0x0); 0x1, 0xfffff, 0x0);
...@@ -1597,9 +1541,8 @@ static void set_tdma_int1(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1597,9 +1541,8 @@ static void set_tdma_int1(struct btc_coexist *btcoexist, bool tx_pause,
{ {
/* Set PS TDMA for max interval == 1 */ /* Set PS TDMA for max interval == 1 */
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 1\n");
"[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 71) { if (coex_dm->cur_ps_tdma == 71) {
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC,
...@@ -1695,9 +1638,8 @@ static void set_tdma_int1(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1695,9 +1638,8 @@ static void set_tdma_int1(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 0\n");
"[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 71); btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 71);
coex_dm->tdma_adj_type = 71; coex_dm->tdma_adj_type = 71;
...@@ -1795,9 +1737,8 @@ static void set_tdma_int2(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1795,9 +1737,8 @@ static void set_tdma_int2(struct btc_coexist *btcoexist, bool tx_pause,
{ {
/* Set PS TDMA for max interval == 2 */ /* Set PS TDMA for max interval == 2 */
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 1\n");
"[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 1) { if (coex_dm->cur_ps_tdma == 1) {
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 6); btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 6);
coex_dm->tdma_adj_type = 6; coex_dm->tdma_adj_type = 6;
...@@ -1878,9 +1819,8 @@ static void set_tdma_int2(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1878,9 +1819,8 @@ static void set_tdma_int2(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 0\n");
"[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2); btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2);
coex_dm->tdma_adj_type = 2; coex_dm->tdma_adj_type = 2;
...@@ -1968,9 +1908,8 @@ static void set_tdma_int3(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1968,9 +1908,8 @@ static void set_tdma_int3(struct btc_coexist *btcoexist, bool tx_pause,
{ {
/* Set PS TDMA for max interval == 3 */ /* Set PS TDMA for max interval == 3 */
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 1\n");
"[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 1) { if (coex_dm->cur_ps_tdma == 1) {
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 7); btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 7);
coex_dm->tdma_adj_type = 7; coex_dm->tdma_adj_type = 7;
...@@ -2051,9 +1990,8 @@ static void set_tdma_int3(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -2051,9 +1990,8 @@ static void set_tdma_int3(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], TxPause = 0\n");
"[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 3); btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 3);
coex_dm->tdma_adj_type = 3; coex_dm->tdma_adj_type = 3;
...@@ -2145,13 +2083,13 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2145,13 +2083,13 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
s32 result; s32 result;
u8 retry_count = 0; u8 retry_count = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], TdmaDurationAdjust()\n"); "[BTCoex], TdmaDurationAdjust()\n");
if (!coex_dm->auto_tdma_adjust) { if (!coex_dm->auto_tdma_adjust) {
coex_dm->auto_tdma_adjust = true; coex_dm->auto_tdma_adjust = true;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], first run TdmaDurationAdjust()!!\n"); "[BTCoex], first run TdmaDurationAdjust()!!\n");
if (sco_hid) { if (sco_hid) {
if (tx_pause) { if (tx_pause) {
if (max_interval == 1) { if (max_interval == 1) {
...@@ -2255,11 +2193,11 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2255,11 +2193,11 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
} else { } else {
/*accquire the BT TRx retry count from BT_Info byte2*/ /*accquire the BT TRx retry count from BT_Info byte2*/
retry_count = coex_sta->bt_retry_cnt; retry_count = coex_sta->bt_retry_cnt;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], retry_count = %d\n", retry_count); "[BTCoex], retry_count = %d\n", retry_count);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], up=%d, dn=%d, m=%d, n=%d, wait_count=%d\n", "[BTCoex], up=%d, dn=%d, m=%d, n=%d, wait_count=%d\n",
up, dn, m, n, wait_count); up, dn, m, n, wait_count);
result = 0; result = 0;
wait_count++; wait_count++;
/* no retry in the last 2-second duration*/ /* no retry in the last 2-second duration*/
...@@ -2276,10 +2214,8 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2276,10 +2214,8 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
up = 0; up = 0;
dn = 0; dn = 0;
result = 1; result = 1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Increase wifi duration!!\n");
"[BTCoex], Increase wifi "
"duration!!\n");
} /* <=3 retry in the last 2-second duration*/ } /* <=3 retry in the last 2-second duration*/
} else if (retry_count <= 3) { } else if (retry_count <= 3) {
up--; up--;
...@@ -2302,10 +2238,8 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2302,10 +2238,8 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Decrease wifi duration for retry_counter<3!!\n");
"[BTCoex], Decrease wifi duration "
"for retry_counter<3!!\n");
} }
} else { } else {
if (wait_count == 1) if (wait_count == 1)
...@@ -2321,13 +2255,12 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2321,13 +2255,12 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], Decrease wifi duration " "[BTCoex], Decrease wifi duration for retry_counter>3!!\n");
"for retry_counter>3!!\n");
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], max Interval = %d\n", max_interval); "[BTCoex], max Interval = %d\n", max_interval);
if (max_interval == 1) if (max_interval == 1)
set_tdma_int1(btcoexist, tx_pause, result); set_tdma_int1(btcoexist, tx_pause, result);
else if (max_interval == 2) else if (max_interval == 2)
...@@ -2341,10 +2274,9 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2341,10 +2274,9 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
*/ */
if (coex_dm->cur_ps_tdma != coex_dm->tdma_adj_type) { if (coex_dm->cur_ps_tdma != coex_dm->tdma_adj_type) {
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], PsTdma type dismatch!!!, " "[BTCoex], PsTdma type dismatch!!!, curPsTdma=%d, recordPsTdma=%d\n",
"curPsTdma=%d, recordPsTdma=%d\n", coex_dm->cur_ps_tdma, coex_dm->tdma_adj_type);
coex_dm->cur_ps_tdma, coex_dm->tdma_adj_type);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link);
...@@ -2354,9 +2286,8 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist, ...@@ -2354,9 +2286,8 @@ static void btc8723b2ant_tdma_duration_adjust(struct btc_coexist *btcoexist,
btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, btc8723b2ant_ps_tdma(btcoexist, NORMAL_EXEC, true,
coex_dm->tdma_adj_type); coex_dm->tdma_adj_type);
else else
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], roaming/link/scan is under" "[BTCoex], roaming/link/scan is under progress, will adjust next time!!!\n");
" progress, will adjust next time!!!\n");
} }
} }
...@@ -2994,27 +2925,26 @@ static void btc8723b2ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -2994,27 +2925,26 @@ static void btc8723b2ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
{ {
u8 algorithm = 0; u8 algorithm = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism()===>\n"); "[BTCoex], RunCoexistMechanism()===>\n");
if (btcoexist->manual_control) { if (btcoexist->manual_control) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), " "[BTCoex], RunCoexistMechanism(), return for Manual CTRL <===\n");
"return for Manual CTRL <===\n");
return; return;
} }
if (coex_sta->under_ips) { if (coex_sta->under_ips) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], wifi is under IPS !!!\n"); "[BTCoex], wifi is under IPS !!!\n");
return; return;
} }
algorithm = btc8723b2ant_action_algorithm(btcoexist); algorithm = btc8723b2ant_action_algorithm(btcoexist);
if (coex_sta->c2h_bt_inquiry_page && if (coex_sta->c2h_bt_inquiry_page &&
(BT_8723B_2ANT_COEX_ALGO_PANHS != algorithm)) { (BT_8723B_2ANT_COEX_ALGO_PANHS != algorithm)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT is under inquiry/page scan !!\n"); "[BTCoex], BT is under inquiry/page scan !!\n");
btc8723b2ant_action_bt_inquiry(btcoexist); btc8723b2ant_action_bt_inquiry(btcoexist);
return; return;
} else { } else {
...@@ -3026,84 +2956,75 @@ static void btc8723b2ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -3026,84 +2956,75 @@ static void btc8723b2ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
} }
coex_dm->cur_algorithm = algorithm; coex_dm->cur_algorithm = algorithm;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, "[BTCoex], Algorithm = %d\n", btc_alg_dbg(ALGO_TRACE, "[BTCoex], Algorithm = %d\n",
coex_dm->cur_algorithm); coex_dm->cur_algorithm);
if (btc8723b2ant_is_common_action(btcoexist)) { if (btc8723b2ant_is_common_action(btcoexist)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant common.\n"); "[BTCoex], Action 2-Ant common\n");
coex_dm->auto_tdma_adjust = false; coex_dm->auto_tdma_adjust = false;
} else { } else {
if (coex_dm->cur_algorithm != coex_dm->pre_algorithm) { if (coex_dm->cur_algorithm != coex_dm->pre_algorithm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], preAlgorithm=%d, " "[BTCoex], preAlgorithm=%d, curAlgorithm=%d\n",
"curAlgorithm=%d\n", coex_dm->pre_algorithm, coex_dm->pre_algorithm,
coex_dm->cur_algorithm); coex_dm->cur_algorithm);
coex_dm->auto_tdma_adjust = false; coex_dm->auto_tdma_adjust = false;
} }
switch (coex_dm->cur_algorithm) { switch (coex_dm->cur_algorithm) {
case BT_8723B_2ANT_COEX_ALGO_SCO: case BT_8723B_2ANT_COEX_ALGO_SCO:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = SCO.\n"); "[BTCoex], Action 2-Ant, algorithm = SCO\n");
btc8723b2ant_action_sco(btcoexist); btc8723b2ant_action_sco(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_HID: case BT_8723B_2ANT_COEX_ALGO_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = HID.\n"); "[BTCoex], Action 2-Ant, algorithm = HID\n");
btc8723b2ant_action_hid(btcoexist); btc8723b2ant_action_hid(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_A2DP: case BT_8723B_2ANT_COEX_ALGO_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = A2DP\n");
"algorithm = A2DP.\n");
btc8723b2ant_action_a2dp(btcoexist); btc8723b2ant_action_a2dp(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS: case BT_8723B_2ANT_COEX_ALGO_A2DP_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = A2DP+PAN(HS)\n");
"algorithm = A2DP+PAN(HS).\n");
btc8723b2ant_action_a2dp_pan_hs(btcoexist); btc8723b2ant_action_a2dp_pan_hs(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_PANEDR: case BT_8723B_2ANT_COEX_ALGO_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = PAN(EDR)\n");
"algorithm = PAN(EDR).\n");
btc8723b2ant_action_pan_edr(btcoexist); btc8723b2ant_action_pan_edr(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_PANHS: case BT_8723B_2ANT_COEX_ALGO_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = HS mode\n");
"algorithm = HS mode.\n");
btc8723b2ant_action_pan_hs(btcoexist); btc8723b2ant_action_pan_hs(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP: case BT_8723B_2ANT_COEX_ALGO_PANEDR_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = PAN+A2DP\n");
"algorithm = PAN+A2DP.\n");
btc8723b2ant_action_pan_edr_a2dp(btcoexist); btc8723b2ant_action_pan_edr_a2dp(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_PANEDR_HID: case BT_8723B_2ANT_COEX_ALGO_PANEDR_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = PAN(EDR)+HID\n");
"algorithm = PAN(EDR)+HID.\n");
btc8723b2ant_action_pan_edr_hid(btcoexist); btc8723b2ant_action_pan_edr_hid(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR: case BT_8723B_2ANT_COEX_ALGO_HID_A2DP_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = HID+A2DP+PAN\n");
"algorithm = HID+A2DP+PAN.\n");
btc8723b2ant_action_hid_a2dp_pan_edr(btcoexist); btc8723b2ant_action_hid_a2dp_pan_edr(btcoexist);
break; break;
case BT_8723B_2ANT_COEX_ALGO_HID_A2DP: case BT_8723B_2ANT_COEX_ALGO_HID_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = HID+A2DP\n");
"algorithm = HID+A2DP.\n");
btc8723b2ant_action_hid_a2dp(btcoexist); btc8723b2ant_action_hid_a2dp(btcoexist);
break; break;
default: default:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, " "[BTCoex], Action 2-Ant, algorithm = coexist All Off!!\n");
"algorithm = coexist All Off!!\n");
btc8723b2ant_coex_alloff(btcoexist); btc8723b2ant_coex_alloff(btcoexist);
break; break;
} }
...@@ -3131,8 +3052,8 @@ void ex_btc8723b2ant_init_hwconfig(struct btc_coexist *btcoexist) ...@@ -3131,8 +3052,8 @@ void ex_btc8723b2ant_init_hwconfig(struct btc_coexist *btcoexist)
{ {
u8 u8tmp = 0; u8 u8tmp = 0;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], 2Ant Init HW Config!!\n"); "[BTCoex], 2Ant Init HW Config!!\n");
coex_dm->bt_rf0x1e_backup = coex_dm->bt_rf0x1e_backup =
btcoexist->btc_get_rf_reg(btcoexist, BTC_RF_A, 0x1e, 0xfffff); btcoexist->btc_get_rf_reg(btcoexist, BTC_RF_A, 0x1e, 0xfffff);
...@@ -3157,8 +3078,8 @@ void ex_btc8723b2ant_init_hwconfig(struct btc_coexist *btcoexist) ...@@ -3157,8 +3078,8 @@ void ex_btc8723b2ant_init_hwconfig(struct btc_coexist *btcoexist)
void ex_btc8723b2ant_init_coex_dm(struct btc_coexist *btcoexist) void ex_btc8723b2ant_init_coex_dm(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Coex Mechanism Init!!\n"); "[BTCoex], Coex Mechanism Init!!\n");
btc8723b2ant_init_coex_dm(btcoexist); btc8723b2ant_init_coex_dm(btcoexist);
} }
...@@ -3393,15 +3314,15 @@ void ex_btc8723b2ant_display_coex_info(struct btc_coexist *btcoexist) ...@@ -3393,15 +3314,15 @@ void ex_btc8723b2ant_display_coex_info(struct btc_coexist *btcoexist)
void ex_btc8723b2ant_ips_notify(struct btc_coexist *btcoexist, u8 type) void ex_btc8723b2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_IPS_ENTER == type) { if (BTC_IPS_ENTER == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS ENTER notify\n"); "[BTCoex], IPS ENTER notify\n");
coex_sta->under_ips = true; coex_sta->under_ips = true;
btc8723b2ant_wifioff_hwcfg(btcoexist); btc8723b2ant_wifioff_hwcfg(btcoexist);
btc8723b2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true); btc8723b2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true);
btc8723b2ant_coex_alloff(btcoexist); btc8723b2ant_coex_alloff(btcoexist);
} else if (BTC_IPS_LEAVE == type) { } else if (BTC_IPS_LEAVE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS LEAVE notify\n"); "[BTCoex], IPS LEAVE notify\n");
coex_sta->under_ips = false; coex_sta->under_ips = false;
ex_btc8723b2ant_init_hwconfig(btcoexist); ex_btc8723b2ant_init_hwconfig(btcoexist);
btc8723b2ant_init_coex_dm(btcoexist); btc8723b2ant_init_coex_dm(btcoexist);
...@@ -3412,12 +3333,12 @@ void ex_btc8723b2ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -3412,12 +3333,12 @@ void ex_btc8723b2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
void ex_btc8723b2ant_lps_notify(struct btc_coexist *btcoexist, u8 type) void ex_btc8723b2ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_LPS_ENABLE == type) { if (BTC_LPS_ENABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS ENABLE notify\n"); "[BTCoex], LPS ENABLE notify\n");
coex_sta->under_lps = true; coex_sta->under_lps = true;
} else if (BTC_LPS_DISABLE == type) { } else if (BTC_LPS_DISABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS DISABLE notify\n"); "[BTCoex], LPS DISABLE notify\n");
coex_sta->under_lps = false; coex_sta->under_lps = false;
} }
} }
...@@ -3425,21 +3346,21 @@ void ex_btc8723b2ant_lps_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -3425,21 +3346,21 @@ void ex_btc8723b2ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
void ex_btc8723b2ant_scan_notify(struct btc_coexist *btcoexist, u8 type) void ex_btc8723b2ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_SCAN_START == type) if (BTC_SCAN_START == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN START notify\n"); "[BTCoex], SCAN START notify\n");
else if (BTC_SCAN_FINISH == type) else if (BTC_SCAN_FINISH == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN FINISH notify\n"); "[BTCoex], SCAN FINISH notify\n");
} }
void ex_btc8723b2ant_connect_notify(struct btc_coexist *btcoexist, u8 type) void ex_btc8723b2ant_connect_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_ASSOCIATE_START == type) if (BTC_ASSOCIATE_START == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT START notify\n"); "[BTCoex], CONNECT START notify\n");
else if (BTC_ASSOCIATE_FINISH == type) else if (BTC_ASSOCIATE_FINISH == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT FINISH notify\n"); "[BTCoex], CONNECT FINISH notify\n");
} }
void ex_btc8723b2ant_media_status_notify(struct btc_coexist *btcoexist, void ex_btc8723b2ant_media_status_notify(struct btc_coexist *btcoexist,
...@@ -3450,11 +3371,11 @@ void ex_btc8723b2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3450,11 +3371,11 @@ void ex_btc8723b2ant_media_status_notify(struct btc_coexist *btcoexist,
u8 wifi_central_chnl; u8 wifi_central_chnl;
if (BTC_MEDIA_CONNECT == type) if (BTC_MEDIA_CONNECT == type)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA connect notify\n"); "[BTCoex], MEDIA connect notify\n");
else else
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA disconnect notify\n"); "[BTCoex], MEDIA disconnect notify\n");
/* only 2.4G we need to inform bt the chnl mask */ /* only 2.4G we need to inform bt the chnl mask */
btcoexist->btc_get(btcoexist, btcoexist->btc_get(btcoexist,
...@@ -3475,10 +3396,10 @@ void ex_btc8723b2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3475,10 +3396,10 @@ void ex_btc8723b2ant_media_status_notify(struct btc_coexist *btcoexist,
coex_dm->wifi_chnl_info[1] = h2c_parameter[1]; coex_dm->wifi_chnl_info[1] = h2c_parameter[1];
coex_dm->wifi_chnl_info[2] = h2c_parameter[2]; coex_dm->wifi_chnl_info[2] = h2c_parameter[2];
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x66=0x%x\n", "[BTCoex], FW write 0x66=0x%x\n",
h2c_parameter[0] << 16 | h2c_parameter[1] << 8 | h2c_parameter[0] << 16 | h2c_parameter[1] << 8 |
h2c_parameter[2]); h2c_parameter[2]);
btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter);
} }
...@@ -3487,8 +3408,8 @@ void ex_btc8723b2ant_special_packet_notify(struct btc_coexist *btcoexist, ...@@ -3487,8 +3408,8 @@ void ex_btc8723b2ant_special_packet_notify(struct btc_coexist *btcoexist,
u8 type) u8 type)
{ {
if (type == BTC_PACKET_DHCP) if (type == BTC_PACKET_DHCP)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], DHCP Packet notify\n"); "[BTCoex], DHCP Packet notify\n");
} }
void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
...@@ -3506,25 +3427,24 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3506,25 +3427,24 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
rsp_source = BT_INFO_SRC_8723B_2ANT_WIFI_FW; rsp_source = BT_INFO_SRC_8723B_2ANT_WIFI_FW;
coex_sta->bt_info_c2h_cnt[rsp_source]++; coex_sta->bt_info_c2h_cnt[rsp_source]++;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Bt info[%d], length=%d, hex data=[", "[BTCoex], Bt info[%d], length=%d, hex data=[",
rsp_source, length); rsp_source, length);
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
coex_sta->bt_info_c2h[rsp_source][i] = tmpbuf[i]; coex_sta->bt_info_c2h[rsp_source][i] = tmpbuf[i];
if (i == 1) if (i == 1)
bt_info = tmpbuf[i]; bt_info = tmpbuf[i];
if (i == length-1) if (i == length-1)
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x]\n", tmpbuf[i]); "0x%02x]\n", tmpbuf[i]);
else else
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x, ", tmpbuf[i]); "0x%02x, ", tmpbuf[i]);
} }
if (btcoexist->manual_control) { if (btcoexist->manual_control) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), " "[BTCoex], BtInfoNotify(), return for Manual CTRL<===\n");
"return for Manual CTRL<===\n");
return; return;
} }
...@@ -3542,9 +3462,8 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3542,9 +3462,8 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
because bt is reset and loss of the info. because bt is reset and loss of the info.
*/ */
if ((coex_sta->bt_info_ext & BIT1)) { if ((coex_sta->bt_info_ext & BIT1)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit1 check," "[BTCoex], BT ext info bit1 check, send wifi BW&Chnl to BT!!\n");
" send wifi BW&Chnl to BT!!\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED,
&wifi_connected); &wifi_connected);
if (wifi_connected) if (wifi_connected)
...@@ -3558,9 +3477,8 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3558,9 +3477,8 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
} }
if ((coex_sta->bt_info_ext & BIT3)) { if ((coex_sta->bt_info_ext & BIT3)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit3 check, " "[BTCoex], BT ext info bit3 check, set BT NOT to ignore Wlan active!!\n");
"set BT NOT to ignore Wlan active!!\n");
btc8723b2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, btc8723b2ant_ignore_wlan_act(btcoexist, FORCE_EXEC,
false); false);
} else { } else {
...@@ -3613,28 +3531,26 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3613,28 +3531,26 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
if (!(bt_info & BT_INFO_8723B_2ANT_B_CONNECTION)) { if (!(bt_info & BT_INFO_8723B_2ANT_B_CONNECTION)) {
coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_NON_CONNECTED_IDLE; coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_NON_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), " "[BTCoex], BtInfoNotify(), BT Non-Connected idle!!!\n");
"BT Non-Connected idle!!!\n");
/* connection exists but no busy */ /* connection exists but no busy */
} else if (bt_info == BT_INFO_8723B_2ANT_B_CONNECTION) { } else if (bt_info == BT_INFO_8723B_2ANT_B_CONNECTION) {
coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE; coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Connected-idle!!!\n"); "[BTCoex], BtInfoNotify(), BT Connected-idle!!!\n");
} else if ((bt_info & BT_INFO_8723B_2ANT_B_SCO_ESCO) || } else if ((bt_info & BT_INFO_8723B_2ANT_B_SCO_ESCO) ||
(bt_info & BT_INFO_8723B_2ANT_B_SCO_BUSY)) { (bt_info & BT_INFO_8723B_2ANT_B_SCO_BUSY)) {
coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_SCO_BUSY; coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_SCO_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT SCO busy!!!\n"); "[BTCoex], BtInfoNotify(), BT SCO busy!!!\n");
} else if (bt_info&BT_INFO_8723B_2ANT_B_ACL_BUSY) { } else if (bt_info&BT_INFO_8723B_2ANT_B_ACL_BUSY) {
coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_ACL_BUSY; coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_ACL_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT ACL busy!!!\n"); "[BTCoex], BtInfoNotify(), BT ACL busy!!!\n");
} else { } else {
coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_MAX; coex_dm->bt_status = BT_8723B_2ANT_BT_STATUS_MAX;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), " "[BTCoex], BtInfoNotify(), BT Non-Defined state!!!\n");
"BT Non-Defined state!!!\n");
} }
if ((BT_8723B_2ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) || if ((BT_8723B_2ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) ||
...@@ -3657,7 +3573,7 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3657,7 +3573,7 @@ void ex_btc8723b2ant_bt_info_notify(struct btc_coexist *btcoexist,
void ex_btc8723b2ant_halt_notify(struct btc_coexist *btcoexist) void ex_btc8723b2ant_halt_notify(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, "[BTCoex], Halt notify\n"); btc_iface_dbg(INTF_NOTIFY, "[BTCoex], Halt notify\n");
btc8723b2ant_wifioff_hwcfg(btcoexist); btc8723b2ant_wifioff_hwcfg(btcoexist);
btc8723b2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true); btc8723b2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true);
...@@ -3671,33 +3587,31 @@ void ex_btc8723b2ant_periodical(struct btc_coexist *btcoexist) ...@@ -3671,33 +3587,31 @@ void ex_btc8723b2ant_periodical(struct btc_coexist *btcoexist)
static u8 dis_ver_info_cnt; static u8 dis_ver_info_cnt;
u32 fw_ver = 0, bt_patch_ver = 0; u32 fw_ver = 0, bt_patch_ver = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], ==========================" "[BTCoex], ==========================Periodical===========================\n");
"Periodical===========================\n");
if (dis_ver_info_cnt <= 5) { if (dis_ver_info_cnt <= 5) {
dis_ver_info_cnt += 1; dis_ver_info_cnt += 1;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************" "[BTCoex], ****************************************************************\n");
"************************************\n"); btc_iface_dbg(INTF_INIT,
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, "[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n",
"[BTCoex], Ant PG Num/ Ant Mech/ " board_info->pg_ant_num,
"Ant Pos = %d/ %d/ %d\n", board_info->pg_ant_num, board_info->btdm_ant_num,
board_info->btdm_ant_num, board_info->btdm_ant_pos); board_info->btdm_ant_pos);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], BT stack/ hci ext ver = %s / %d\n", "[BTCoex], BT stack/ hci ext ver = %s / %d\n",
((stack_info->profile_notified) ? "Yes" : "No"), stack_info->profile_notified ? "Yes" : "No",
stack_info->hci_version); stack_info->hci_version);
btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER, btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER,
&bt_patch_ver); &bt_patch_ver);
btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], CoexVer/ fw_ver/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n", "[BTCoex], CoexVer/ fw_ver/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n",
glcoex_ver_date_8723b_2ant, glcoex_ver_8723b_2ant, glcoex_ver_date_8723b_2ant, glcoex_ver_8723b_2ant,
fw_ver, bt_patch_ver, bt_patch_ver); fw_ver, bt_patch_ver, bt_patch_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], *****************************" "[BTCoex], ****************************************************************\n");
"***********************************\n");
} }
#if (BT_AUTO_REPORT_ONLY_8723B_2ANT == 0) #if (BT_AUTO_REPORT_ONLY_8723B_2ANT == 0)
......
...@@ -76,28 +76,28 @@ static u8 halbtc8821a1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -76,28 +76,28 @@ static u8 halbtc8821a1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= (rssi_thresh + if (bt_rssi >= (rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) { BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to High\n"); "[BTCoex], BT Rssi state switch to High\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Low\n"); "[BTCoex], BT Rssi state stay at Low\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh) { if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Low\n"); "[BTCoex], BT Rssi state switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at High\n"); "[BTCoex], BT Rssi state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi thresh error!!\n"); "[BTCoex], BT Rssi thresh error!!\n");
return coex_sta->pre_bt_rssi_state; return coex_sta->pre_bt_rssi_state;
} }
...@@ -106,12 +106,12 @@ static u8 halbtc8821a1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -106,12 +106,12 @@ static u8 halbtc8821a1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= (rssi_thresh + if (bt_rssi >= (rssi_thresh +
BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) { BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Medium\n"); "[BTCoex], BT Rssi state switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Low\n"); "[BTCoex], BT Rssi state stay at Low\n");
} }
} else if ((coex_sta->pre_bt_rssi_state == } else if ((coex_sta->pre_bt_rssi_state ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -120,26 +120,26 @@ static u8 halbtc8821a1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -120,26 +120,26 @@ static u8 halbtc8821a1ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= (rssi_thresh1 + if (bt_rssi >= (rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) { BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to High\n"); "[BTCoex], BT Rssi state switch to High\n");
} else if (bt_rssi < rssi_thresh) { } else if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Low\n"); "[BTCoex], BT Rssi state switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Medium\n"); "[BTCoex], BT Rssi state stay at Medium\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh1) { if (bt_rssi < rssi_thresh1) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Medium\n"); "[BTCoex], BT Rssi state switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at High\n"); "[BTCoex], BT Rssi state stay at High\n");
} }
} }
} }
...@@ -165,32 +165,28 @@ static u8 halbtc8821a1ant_WifiRssiState(struct btc_coexist *btcoexist, ...@@ -165,32 +165,28 @@ static u8 halbtc8821a1ant_WifiRssiState(struct btc_coexist *btcoexist,
if (wifi_rssi >= if (wifi_rssi >=
(rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) { (rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state switch to High\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state stay at Low\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh) { if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_WIFI_RSSI_STATE, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
"[BTCoex], wifi RSSI thresh error!!\n"); "[BTCoex], wifi RSSI thresh error!!\n");
return coex_sta->pre_wifi_rssi_state[index]; return coex_sta->pre_wifi_rssi_state[index];
} }
...@@ -201,14 +197,12 @@ static u8 halbtc8821a1ant_WifiRssiState(struct btc_coexist *btcoexist, ...@@ -201,14 +197,12 @@ static u8 halbtc8821a1ant_WifiRssiState(struct btc_coexist *btcoexist,
if (wifi_rssi >= if (wifi_rssi >=
(rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) { (rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state stay at Low\n");
} }
} else if ((coex_sta->pre_wifi_rssi_state[index] == } else if ((coex_sta->pre_wifi_rssi_state[index] ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -218,31 +212,26 @@ static u8 halbtc8821a1ant_WifiRssiState(struct btc_coexist *btcoexist, ...@@ -218,31 +212,26 @@ static u8 halbtc8821a1ant_WifiRssiState(struct btc_coexist *btcoexist,
(rssi_thresh1 + (rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) { BTC_RSSI_COEX_THRESH_TOL_8821A_1ANT)) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state switch to High\n");
} else if (wifi_rssi < rssi_thresh) { } else if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Medium\n");
"[BTCoex], wifi RSSI state stay at Medium\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh1) { if (wifi_rssi < rssi_thresh1) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state stay at High\n");
} }
} }
} }
...@@ -431,9 +420,9 @@ static void halbtc8821a1ant_query_bt_info(struct btc_coexist *btcoexist) ...@@ -431,9 +420,9 @@ static void halbtc8821a1ant_query_bt_info(struct btc_coexist *btcoexist)
h2c_parameter[0] |= BIT0; /* trigger*/ h2c_parameter[0] |= BIT0; /* trigger*/
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n", "[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter);
} }
...@@ -504,8 +493,8 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -504,8 +493,8 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on);
if (!bt_link_info->bt_link_exist) { if (!bt_link_info->bt_link_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], No BT link exists!!!\n"); "[BTCoex], No BT link exists!!!\n");
return algorithm; return algorithm;
} }
...@@ -520,26 +509,26 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -520,26 +509,26 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
if (num_of_diff_profile == 1) { if (num_of_diff_profile == 1) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO only\n"); "[BTCoex], BT Profile = SCO only\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_SCO; algorithm = BT_8821A_1ANT_COEX_ALGO_SCO;
} else { } else {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID only\n"); "[BTCoex], BT Profile = HID only\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = A2DP only\n"); "[BTCoex], BT Profile = A2DP only\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_A2DP; algorithm = BT_8821A_1ANT_COEX_ALGO_A2DP;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = PAN(HS) only\n"); "[BTCoex], BT Profile = PAN(HS) only\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANHS; algorithm = BT_8821A_1ANT_COEX_ALGO_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = PAN(EDR) only\n"); "[BTCoex], BT Profile = PAN(EDR) only\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR;
} }
} }
...@@ -547,50 +536,50 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -547,50 +536,50 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
} else if (num_of_diff_profile == 2) { } else if (num_of_diff_profile == 2) {
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist) { if (bt_link_info->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID\n"); "[BTCoex], BT Profile = SCO + HID\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_HID;
} else if (bt_link_info->a2dp_exist) { } else if (bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + A2DP ==> SCO\n"); "[BTCoex], BT Profile = SCO + A2DP ==> SCO\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_SCO; algorithm = BT_8821A_1ANT_COEX_ALGO_SCO;
} else if (bt_link_info->pan_exist) { } else if (bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + PAN(HS)\n"); "[BTCoex], BT Profile = SCO + PAN(HS)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_SCO; algorithm = BT_8821A_1ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + PAN(EDR)\n"); "[BTCoex], BT Profile = SCO + PAN(EDR)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID;
} }
} }
} else { } else {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + A2DP\n"); "[BTCoex], BT Profile = HID + A2DP\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + PAN(HS)\n"); "[BTCoex], BT Profile = HID + PAN(HS)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + PAN(EDR)\n"); "[BTCoex], BT Profile = HID + PAN(EDR)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = A2DP + PAN(HS)\n"); "[BTCoex], BT Profile = A2DP + PAN(HS)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_A2DP_PANHS; algorithm = BT_8821A_1ANT_COEX_ALGO_A2DP_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = A2DP + PAN(EDR)\n"); "[BTCoex], BT Profile = A2DP + PAN(EDR)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_A2DP; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_A2DP;
} }
} }
...@@ -599,29 +588,29 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -599,29 +588,29 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
if (bt_link_info->sco_exist) { if (bt_link_info->sco_exist) {
if (bt_link_info->hid_exist && if (bt_link_info->hid_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + A2DP ==> HID\n"); "[BTCoex], BT Profile = SCO + HID + A2DP ==> HID\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_HID;
} else if (bt_link_info->hid_exist && } else if (bt_link_info->hid_exist &&
bt_link_info->pan_exist) { bt_link_info->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + PAN(HS)\n"); "[BTCoex], BT Profile = SCO + HID + PAN(HS)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + PAN(EDR)\n"); "[BTCoex], BT Profile = SCO + HID + PAN(EDR)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (bt_link_info->pan_exist && } else if (bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + A2DP + PAN(HS)\n"); "[BTCoex], BT Profile = SCO + A2DP + PAN(HS)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_SCO; algorithm = BT_8821A_1ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + A2DP + PAN(EDR) ==> HID\n"); "[BTCoex], BT Profile = SCO + A2DP + PAN(EDR) ==> HID\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID;
} }
} }
...@@ -630,12 +619,12 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -630,12 +619,12 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + A2DP + PAN(HS)\n"); "[BTCoex], BT Profile = HID + A2DP + PAN(HS)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = HID + A2DP + PAN(EDR)\n"); "[BTCoex], BT Profile = HID + A2DP + PAN(EDR)\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP_PANEDR; algorithm = BT_8821A_1ANT_COEX_ALGO_HID_A2DP_PANEDR;
} }
} }
...@@ -646,12 +635,12 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -646,12 +635,12 @@ static u8 halbtc8821a1ant_action_algorithm(struct btc_coexist *btcoexist)
bt_link_info->pan_exist && bt_link_info->pan_exist &&
bt_link_info->a2dp_exist) { bt_link_info->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Error!!! BT Profile = SCO + HID + A2DP + PAN(HS)\n"); "[BTCoex], Error!!! BT Profile = SCO + HID + A2DP + PAN(HS)\n");
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT Profile = SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n"); "[BTCoex], BT Profile = SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n");
algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_1ANT_COEX_ALGO_PANEDR_HID;
} }
} }
...@@ -670,10 +659,10 @@ static void halbtc8821a1ant_set_bt_auto_report(struct btc_coexist *btcoexist, ...@@ -670,10 +659,10 @@ static void halbtc8821a1ant_set_bt_auto_report(struct btc_coexist *btcoexist,
if (enable_auto_report) if (enable_auto_report)
h2c_parameter[0] |= BIT0; h2c_parameter[0] |= BIT0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], BT FW auto report : %s, FW write 0x68 = 0x%x\n", "[BTCoex], BT FW auto report : %s, FW write 0x68 = 0x%x\n",
(enable_auto_report ? "Enabled!!" : "Disabled!!"), (enable_auto_report ? "Enabled!!" : "Disabled!!"),
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter);
} }
...@@ -682,17 +671,16 @@ static void halbtc8821a1ant_bt_auto_report(struct btc_coexist *btcoexist, ...@@ -682,17 +671,16 @@ static void halbtc8821a1ant_bt_auto_report(struct btc_coexist *btcoexist,
bool force_exec, bool force_exec,
bool enable_auto_report) bool enable_auto_report)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW, "[BTCoex], %s BT Auto report = %s\n",
ALGO_TRACE_FW, "[BTCoex], %s BT Auto report = %s\n", (force_exec ? "force to" : ""), ((enable_auto_report) ?
(force_exec ? "force to" : ""), ((enable_auto_report) ? "Enabled" : "Disabled"));
"Enabled" : "Disabled"));
coex_dm->cur_bt_auto_report = enable_auto_report; coex_dm->cur_bt_auto_report = enable_auto_report;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_bt_auto_report = %d, cur_bt_auto_report = %d\n", "[BTCoex], pre_bt_auto_report = %d, cur_bt_auto_report = %d\n",
coex_dm->pre_bt_auto_report, coex_dm->pre_bt_auto_report,
coex_dm->cur_bt_auto_report); coex_dm->cur_bt_auto_report);
if (coex_dm->pre_bt_auto_report == coex_dm->cur_bt_auto_report) if (coex_dm->pre_bt_auto_report == coex_dm->cur_bt_auto_report)
return; return;
...@@ -718,9 +706,9 @@ static void btc8821a1ant_set_sw_pen_tx_rate(struct btc_coexist *btcoexist, ...@@ -718,9 +706,9 @@ static void btc8821a1ant_set_sw_pen_tx_rate(struct btc_coexist *btcoexist,
h2c_parameter[5] = 0xf9; /*MCS5 or OFDM36*/ h2c_parameter[5] = 0xf9; /*MCS5 or OFDM36*/
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set WiFi Low-Penalty Retry: %s", "[BTCoex], set WiFi Low-Penalty Retry: %s",
(low_penalty_ra ? "ON!!" : "OFF!!")); (low_penalty_ra ? "ON!!" : "OFF!!"));
btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter);
} }
...@@ -743,20 +731,20 @@ static void halbtc8821a1ant_set_coex_table(struct btc_coexist *btcoexist, ...@@ -743,20 +731,20 @@ static void halbtc8821a1ant_set_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c0, u32 val0x6c4, u32 val0x6c0, u32 val0x6c4,
u32 val0x6c8, u8 val0x6cc) u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0); "[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0);
btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0); btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4); "[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4);
btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4); btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8); "[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8);
btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8); btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc); "[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc);
btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc); btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc);
} }
...@@ -764,10 +752,10 @@ static void halbtc8821a1ant_coex_table(struct btc_coexist *btcoexist, ...@@ -764,10 +752,10 @@ static void halbtc8821a1ant_coex_table(struct btc_coexist *btcoexist,
bool force_exec, u32 val0x6c0, bool force_exec, u32 val0x6c0,
u32 val0x6c4, u32 val0x6c8, u8 val0x6cc) u32 val0x6c4, u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s write Coex Table 0x6c0 = 0x%x, 0x6c4 = 0x%x, 0x6c8 = 0x%x, 0x6cc = 0x%x\n", "[BTCoex], %s write Coex Table 0x6c0 = 0x%x, 0x6c4 = 0x%x, 0x6c8 = 0x%x, 0x6cc = 0x%x\n",
(force_exec ? "force to" : ""), val0x6c0, val0x6c4, (force_exec ? "force to" : ""), val0x6c0, val0x6c4,
val0x6c8, val0x6cc); val0x6c8, val0x6cc);
coex_dm->cur_val_0x6c0 = val0x6c0; coex_dm->cur_val_0x6c0 = val0x6c0;
coex_dm->cur_val_0x6c4 = val0x6c4; coex_dm->cur_val_0x6c4 = val0x6c4;
coex_dm->cur_val_0x6c8 = val0x6c8; coex_dm->cur_val_0x6c8 = val0x6c8;
...@@ -839,9 +827,9 @@ static void btc8821a1ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist, ...@@ -839,9 +827,9 @@ static void btc8821a1ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist,
if (enable) if (enable)
h2c_parameter[0] |= BIT0; /* function enable*/ h2c_parameter[0] |= BIT0; /* function enable*/
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n", "[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter);
} }
...@@ -849,16 +837,16 @@ static void btc8821a1ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist, ...@@ -849,16 +837,16 @@ static void btc8821a1ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist,
static void halbtc8821a1ant_ignore_wlan_act(struct btc_coexist *btcoexist, static void halbtc8821a1ant_ignore_wlan_act(struct btc_coexist *btcoexist,
bool force_exec, bool enable) bool force_exec, bool enable)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn Ignore WlanAct %s\n", "[BTCoex], %s turn Ignore WlanAct %s\n",
(force_exec ? "force to" : ""), (enable ? "ON" : "OFF")); (force_exec ? "force to" : ""), (enable ? "ON" : "OFF"));
coex_dm->cur_ignore_wlan_act = enable; coex_dm->cur_ignore_wlan_act = enable;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_ignore_wlan_act = %d, cur_ignore_wlan_act = %d!!\n", "[BTCoex], pre_ignore_wlan_act = %d, cur_ignore_wlan_act = %d!!\n",
coex_dm->pre_ignore_wlan_act, coex_dm->pre_ignore_wlan_act,
coex_dm->cur_ignore_wlan_act); coex_dm->cur_ignore_wlan_act);
if (coex_dm->pre_ignore_wlan_act == if (coex_dm->pre_ignore_wlan_act ==
coex_dm->cur_ignore_wlan_act) coex_dm->cur_ignore_wlan_act)
...@@ -887,13 +875,13 @@ static void halbtc8821a1ant_set_fw_pstdma(struct btc_coexist *btcoexist, ...@@ -887,13 +875,13 @@ static void halbtc8821a1ant_set_fw_pstdma(struct btc_coexist *btcoexist,
coex_dm->ps_tdma_para[3] = byte4; coex_dm->ps_tdma_para[3] = byte4;
coex_dm->ps_tdma_para[4] = byte5; coex_dm->ps_tdma_para[4] = byte5;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], PS-TDMA H2C cmd =0x%x%08x\n", "[BTCoex], PS-TDMA H2C cmd =0x%x%08x\n",
h2c_parameter[0], h2c_parameter[0],
h2c_parameter[1]<<24 | h2c_parameter[1] << 24 |
h2c_parameter[2]<<16 | h2c_parameter[2] << 16 |
h2c_parameter[3]<<8 | h2c_parameter[3] << 8 |
h2c_parameter[4]); h2c_parameter[4]);
btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter);
} }
...@@ -910,22 +898,22 @@ static void halbtc8821a1ant_set_lps_rpwm(struct btc_coexist *btcoexist, ...@@ -910,22 +898,22 @@ static void halbtc8821a1ant_set_lps_rpwm(struct btc_coexist *btcoexist,
static void halbtc8821a1ant_lps_rpwm(struct btc_coexist *btcoexist, static void halbtc8821a1ant_lps_rpwm(struct btc_coexist *btcoexist,
bool force_exec, u8 lps_val, u8 rpwm_val) bool force_exec, u8 lps_val, u8 rpwm_val)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s set lps/rpwm = 0x%x/0x%x\n", "[BTCoex], %s set lps/rpwm = 0x%x/0x%x\n",
(force_exec ? "force to" : ""), lps_val, rpwm_val); (force_exec ? "force to" : ""), lps_val, rpwm_val);
coex_dm->cur_lps = lps_val; coex_dm->cur_lps = lps_val;
coex_dm->cur_rpwm = rpwm_val; coex_dm->cur_rpwm = rpwm_val;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], LPS-RxBeaconMode = 0x%x, LPS-RPWM = 0x%x!!\n", "[BTCoex], LPS-RxBeaconMode = 0x%x, LPS-RPWM = 0x%x!!\n",
coex_dm->cur_lps, coex_dm->cur_rpwm); coex_dm->cur_lps, coex_dm->cur_rpwm);
if ((coex_dm->pre_lps == coex_dm->cur_lps) && if ((coex_dm->pre_lps == coex_dm->cur_lps) &&
(coex_dm->pre_rpwm == coex_dm->cur_rpwm)) { (coex_dm->pre_rpwm == coex_dm->cur_rpwm)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], LPS-RPWM_Last = 0x%x, LPS-RPWM_Now = 0x%x!!\n", "[BTCoex], LPS-RPWM_Last = 0x%x, LPS-RPWM_Now = 0x%x!!\n",
coex_dm->pre_rpwm, coex_dm->cur_rpwm); coex_dm->pre_rpwm, coex_dm->cur_rpwm);
return; return;
} }
...@@ -939,8 +927,8 @@ static void halbtc8821a1ant_lps_rpwm(struct btc_coexist *btcoexist, ...@@ -939,8 +927,8 @@ static void halbtc8821a1ant_lps_rpwm(struct btc_coexist *btcoexist,
static void halbtc8821a1ant_sw_mechanism(struct btc_coexist *btcoexist, static void halbtc8821a1ant_sw_mechanism(struct btc_coexist *btcoexist,
bool low_penalty_ra) bool low_penalty_ra)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], SM[LpRA] = %d\n", low_penalty_ra); "[BTCoex], SM[LpRA] = %d\n", low_penalty_ra);
halbtc8821a1ant_low_penalty_ra(btcoexist, NORMAL_EXEC, low_penalty_ra); halbtc8821a1ant_low_penalty_ra(btcoexist, NORMAL_EXEC, low_penalty_ra);
} }
...@@ -1036,13 +1024,13 @@ static void halbtc8821a1ant_ps_tdma(struct btc_coexist *btcoexist, ...@@ -1036,13 +1024,13 @@ static void halbtc8821a1ant_ps_tdma(struct btc_coexist *btcoexist,
if (!force_exec) { if (!force_exec) {
if (coex_dm->cur_ps_tdma_on) { if (coex_dm->cur_ps_tdma_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], ********** TDMA(on, %d) **********\n", "[BTCoex], ********** TDMA(on, %d) **********\n",
coex_dm->cur_ps_tdma); coex_dm->cur_ps_tdma);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], ********** TDMA(off, %d) **********\n", "[BTCoex], ********** TDMA(off, %d) **********\n",
coex_dm->cur_ps_tdma); coex_dm->cur_ps_tdma);
} }
if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) && if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) &&
(coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma)) (coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma))
...@@ -1253,50 +1241,50 @@ static bool halbtc8821a1ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1253,50 +1241,50 @@ static bool halbtc8821a1ant_is_common_action(struct btc_coexist *btcoexist)
if (!wifi_connected && if (!wifi_connected &&
BT_8821A_1ANT_BT_STATUS_NON_CONNECTED_IDLE == BT_8821A_1ANT_BT_STATUS_NON_CONNECTED_IDLE ==
coex_dm->bt_status) { coex_dm->bt_status) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non connected-idle + BT non connected-idle!!\n"); "[BTCoex], Wifi non connected-idle + BT non connected-idle!!\n");
halbtc8821a1ant_sw_mechanism(btcoexist, false); halbtc8821a1ant_sw_mechanism(btcoexist, false);
common = true; common = true;
} else if (wifi_connected && } else if (wifi_connected &&
(BT_8821A_1ANT_BT_STATUS_NON_CONNECTED_IDLE == (BT_8821A_1ANT_BT_STATUS_NON_CONNECTED_IDLE ==
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi connected + BT non connected-idle!!\n"); "[BTCoex], Wifi connected + BT non connected-idle!!\n");
halbtc8821a1ant_sw_mechanism(btcoexist, false); halbtc8821a1ant_sw_mechanism(btcoexist, false);
common = true; common = true;
} else if (!wifi_connected && } else if (!wifi_connected &&
(BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE == (BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE ==
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non connected-idle + BT connected-idle!!\n"); "[BTCoex], Wifi non connected-idle + BT connected-idle!!\n");
halbtc8821a1ant_sw_mechanism(btcoexist, false); halbtc8821a1ant_sw_mechanism(btcoexist, false);
common = true; common = true;
} else if (wifi_connected && } else if (wifi_connected &&
(BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE == (BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE ==
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi connected + BT connected-idle!!\n"); "[BTCoex], Wifi connected + BT connected-idle!!\n");
halbtc8821a1ant_sw_mechanism(btcoexist, false); halbtc8821a1ant_sw_mechanism(btcoexist, false);
common = true; common = true;
} else if (!wifi_connected && } else if (!wifi_connected &&
(BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE != (BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE !=
coex_dm->bt_status)) { coex_dm->bt_status)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi non connected-idle + BT Busy!!\n"); "[BTCoex], Wifi non connected-idle + BT Busy!!\n");
halbtc8821a1ant_sw_mechanism(btcoexist, false); halbtc8821a1ant_sw_mechanism(btcoexist, false);
common = true; common = true;
} else { } else {
if (wifi_busy) { if (wifi_busy) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Connected-Busy + BT Busy!!\n"); "[BTCoex], Wifi Connected-Busy + BT Busy!!\n");
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Connected-Idle + BT Busy!!\n"); "[BTCoex], Wifi Connected-Idle + BT Busy!!\n");
} }
common = false; common = false;
...@@ -1313,8 +1301,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -1313,8 +1301,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist,
long result; long result;
u8 retry_count = 0, bt_info_ext; u8 retry_count = 0, bt_info_ext;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], TdmaDurationAdjustForAcl()\n"); "[BTCoex], TdmaDurationAdjustForAcl()\n");
if ((BT_8821A_1ANT_WIFI_STATUS_NON_CONNECTED_ASSO_AUTH_SCAN == if ((BT_8821A_1ANT_WIFI_STATUS_NON_CONNECTED_ASSO_AUTH_SCAN ==
wifi_status) || wifi_status) ||
...@@ -1342,8 +1330,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -1342,8 +1330,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist,
if (!coex_dm->auto_tdma_adjust) { if (!coex_dm->auto_tdma_adjust) {
coex_dm->auto_tdma_adjust = true; coex_dm->auto_tdma_adjust = true;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], first run TdmaDurationAdjust()!!\n"); "[BTCoex], first run TdmaDurationAdjust()!!\n");
halbtc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2); halbtc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2);
coex_dm->tdma_adj_type = 2; coex_dm->tdma_adj_type = 2;
...@@ -1378,9 +1366,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -1378,9 +1366,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist,
up = 0; up = 0;
dn = 0; dn = 0;
result = 1; result = 1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Increase wifi duration!!\n");
"[BTCoex], Increase wifi duration!!\n");
} }
} else if (retry_count <= 3) { } else if (retry_count <= 3) {
/* <=3 retry in the last 2-second duration*/ /* <=3 retry in the last 2-second duration*/
...@@ -1410,9 +1397,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -1410,9 +1397,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Decrease wifi duration for retryCounter<3!!\n");
"[BTCoex], Decrease wifi duration for retryCounter<3!!\n");
} }
} else { } else {
/* retry count > 3, if retry count > 3 happens once, /* retry count > 3, if retry count > 3 happens once,
...@@ -1433,8 +1419,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -1433,8 +1419,8 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], Decrease wifi duration for retryCounter>3!!\n"); "[BTCoex], Decrease wifi duration for retryCounter>3!!\n");
} }
if (result == -1) { if (result == -1) {
...@@ -1479,9 +1465,9 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -1479,9 +1465,9 @@ static void btc8821a1ant_tdma_dur_adj(struct btc_coexist *btcoexist,
} }
} else { } else {
/*no change*/ /*no change*/
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], ********** TDMA(on, %d) **********\n", "[BTCoex], ********** TDMA(on, %d) **********\n",
coex_dm->cur_ps_tdma); coex_dm->cur_ps_tdma);
} }
if (coex_dm->cur_ps_tdma != 1 && if (coex_dm->cur_ps_tdma != 1 &&
...@@ -1603,27 +1589,27 @@ static void btc8821a1ant_mon_bt_en_dis(struct btc_coexist *btcoexist) ...@@ -1603,27 +1589,27 @@ static void btc8821a1ant_mon_bt_en_dis(struct btc_coexist *btcoexist)
bt_disabled = false; bt_disabled = false;
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE,
&bt_disabled); &bt_disabled);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is enabled !!\n"); "[BTCoex], BT is enabled !!\n");
} else { } else {
bt_disable_cnt++; bt_disable_cnt++;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], bt all counters = 0, %d times!!\n", "[BTCoex], bt all counters = 0, %d times!!\n",
bt_disable_cnt); bt_disable_cnt);
if (bt_disable_cnt >= 2) { if (bt_disable_cnt >= 2) {
bt_disabled = true; bt_disabled = true;
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE,
&bt_disabled); &bt_disabled);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is disabled !!\n"); "[BTCoex], BT is disabled !!\n");
halbtc8821a1ant_action_wifi_only(btcoexist); halbtc8821a1ant_action_wifi_only(btcoexist);
} }
} }
if (pre_bt_disabled != bt_disabled) { if (pre_bt_disabled != bt_disabled) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is from %s to %s!!\n", "[BTCoex], BT is from %s to %s!!\n",
(pre_bt_disabled ? "disabled" : "enabled"), (pre_bt_disabled ? "disabled" : "enabled"),
(bt_disabled ? "disabled" : "enabled")); (bt_disabled ? "disabled" : "enabled"));
pre_bt_disabled = bt_disabled; pre_bt_disabled = bt_disabled;
if (bt_disabled) { if (bt_disabled) {
btcoexist->btc_set(btcoexist, BTC_SET_ACT_LEAVE_LPS, btcoexist->btc_set(btcoexist, BTC_SET_ACT_LEAVE_LPS,
...@@ -1897,15 +1883,15 @@ static void halbtc8821a1ant_action_wifi_connected(struct btc_coexist *btcoexist) ...@@ -1897,15 +1883,15 @@ static void halbtc8821a1ant_action_wifi_connected(struct btc_coexist *btcoexist)
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
bool under_4way = false; bool under_4way = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], CoexForWifiConnect()===>\n"); "[BTCoex], CoexForWifiConnect()===>\n");
btcoexist->btc_get(btcoexist, btcoexist->btc_get(btcoexist,
BTC_GET_BL_WIFI_4_WAY_PROGRESS, &under_4way); BTC_GET_BL_WIFI_4_WAY_PROGRESS, &under_4way);
if (under_4way) { if (under_4way) {
btc8821a1ant_act_wifi_conn_sp_pkt(btcoexist); btc8821a1ant_act_wifi_conn_sp_pkt(btcoexist);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], CoexForWifiConnect(), return for wifi is under 4way<===\n"); "[BTCoex], CoexForWifiConnect(), return for wifi is under 4way<===\n");
return; return;
} }
...@@ -1914,8 +1900,8 @@ static void halbtc8821a1ant_action_wifi_connected(struct btc_coexist *btcoexist) ...@@ -1914,8 +1900,8 @@ static void halbtc8821a1ant_action_wifi_connected(struct btc_coexist *btcoexist)
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_ROAM, &roam); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_ROAM, &roam);
if (scan || link || roam) { if (scan || link || roam) {
halbtc8821a1ant_action_wifi_connected_scan(btcoexist); halbtc8821a1ant_action_wifi_connected_scan(btcoexist);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], CoexForWifiConnect(), return for wifi is under scan<===\n"); "[BTCoex], CoexForWifiConnect(), return for wifi is under scan<===\n");
return; return;
} }
...@@ -1976,58 +1962,58 @@ static void btc8821a1ant_run_sw_coex_mech(struct btc_coexist *btcoexist) ...@@ -1976,58 +1962,58 @@ static void btc8821a1ant_run_sw_coex_mech(struct btc_coexist *btcoexist)
if (!halbtc8821a1ant_is_common_action(btcoexist)) { if (!halbtc8821a1ant_is_common_action(btcoexist)) {
switch (coex_dm->cur_algorithm) { switch (coex_dm->cur_algorithm) {
case BT_8821A_1ANT_COEX_ALGO_SCO: case BT_8821A_1ANT_COEX_ALGO_SCO:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = SCO.\n"); "[BTCoex], Action algorithm = SCO\n");
halbtc8821a1ant_action_sco(btcoexist); halbtc8821a1ant_action_sco(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_HID: case BT_8821A_1ANT_COEX_ALGO_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HID.\n"); "[BTCoex], Action algorithm = HID\n");
halbtc8821a1ant_action_hid(btcoexist); halbtc8821a1ant_action_hid(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_A2DP: case BT_8821A_1ANT_COEX_ALGO_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = A2DP.\n"); "[BTCoex], Action algorithm = A2DP\n");
halbtc8821a1ant_action_a2dp(btcoexist); halbtc8821a1ant_action_a2dp(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_A2DP_PANHS: case BT_8821A_1ANT_COEX_ALGO_A2DP_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = A2DP+PAN(HS).\n"); "[BTCoex], Action algorithm = A2DP+PAN(HS)\n");
halbtc8821a1ant_action_a2dp_pan_hs(btcoexist); halbtc8821a1ant_action_a2dp_pan_hs(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_PANEDR: case BT_8821A_1ANT_COEX_ALGO_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = PAN(EDR).\n"); "[BTCoex], Action algorithm = PAN(EDR)\n");
halbtc8821a1ant_action_pan_edr(btcoexist); halbtc8821a1ant_action_pan_edr(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_PANHS: case BT_8821A_1ANT_COEX_ALGO_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HS mode.\n"); "[BTCoex], Action algorithm = HS mode\n");
halbtc8821a1ant_action_pan_hs(btcoexist); halbtc8821a1ant_action_pan_hs(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_PANEDR_A2DP: case BT_8821A_1ANT_COEX_ALGO_PANEDR_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = PAN+A2DP.\n"); "[BTCoex], Action algorithm = PAN+A2DP\n");
halbtc8821a1ant_action_pan_edr_a2dp(btcoexist); halbtc8821a1ant_action_pan_edr_a2dp(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_PANEDR_HID: case BT_8821A_1ANT_COEX_ALGO_PANEDR_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = PAN(EDR)+HID.\n"); "[BTCoex], Action algorithm = PAN(EDR)+HID\n");
halbtc8821a1ant_action_pan_edr_hid(btcoexist); halbtc8821a1ant_action_pan_edr_hid(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_HID_A2DP_PANEDR: case BT_8821A_1ANT_COEX_ALGO_HID_A2DP_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HID+A2DP+PAN.\n"); "[BTCoex], Action algorithm = HID+A2DP+PAN\n");
btc8821a1ant_action_hid_a2dp_pan_edr(btcoexist); btc8821a1ant_action_hid_a2dp_pan_edr(btcoexist);
break; break;
case BT_8821A_1ANT_COEX_ALGO_HID_A2DP: case BT_8821A_1ANT_COEX_ALGO_HID_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = HID+A2DP.\n"); "[BTCoex], Action algorithm = HID+A2DP\n");
halbtc8821a1ant_action_hid_a2dp(btcoexist); halbtc8821a1ant_action_hid_a2dp(btcoexist);
break; break;
default: default:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action algorithm = coexist All Off!!\n"); "[BTCoex], Action algorithm = coexist All Off!!\n");
/*halbtc8821a1ant_coex_all_off(btcoexist);*/ /*halbtc8821a1ant_coex_all_off(btcoexist);*/
break; break;
} }
...@@ -2045,31 +2031,31 @@ static void halbtc8821a1ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -2045,31 +2031,31 @@ static void halbtc8821a1ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
u8 wifi_rssi_state = BTC_RSSI_STATE_HIGH; u8 wifi_rssi_state = BTC_RSSI_STATE_HIGH;
bool wifi_under_5g = false; bool wifi_under_5g = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism()===>\n"); "[BTCoex], RunCoexistMechanism()===>\n");
if (btcoexist->manual_control) { if (btcoexist->manual_control) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), return for Manual CTRL <===\n"); "[BTCoex], RunCoexistMechanism(), return for Manual CTRL <===\n");
return; return;
} }
if (btcoexist->stop_coex_dm) { if (btcoexist->stop_coex_dm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), return for Stop Coex DM <===\n"); "[BTCoex], RunCoexistMechanism(), return for Stop Coex DM <===\n");
return; return;
} }
if (coex_sta->under_ips) { if (coex_sta->under_ips) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], wifi is under IPS !!!\n"); "[BTCoex], wifi is under IPS !!!\n");
return; return;
} }
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_UNDER_5G, &wifi_under_5g); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_UNDER_5G, &wifi_under_5g);
if (wifi_under_5g) { if (wifi_under_5g) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), return for 5G <===\n"); "[BTCoex], RunCoexistMechanism(), return for 5G <===\n");
halbtc8821a1ant_coex_under_5g(btcoexist); halbtc8821a1ant_coex_under_5g(btcoexist);
return; return;
} }
...@@ -2135,8 +2121,8 @@ static void halbtc8821a1ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -2135,8 +2121,8 @@ static void halbtc8821a1ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
if (!wifi_connected) { if (!wifi_connected) {
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], wifi is non connected-idle !!!\n"); "[BTCoex], wifi is non connected-idle !!!\n");
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link);
...@@ -2168,8 +2154,8 @@ static void halbtc8821a1ant_init_hw_config(struct btc_coexist *btcoexist, ...@@ -2168,8 +2154,8 @@ static void halbtc8821a1ant_init_hw_config(struct btc_coexist *btcoexist,
u8 u1_tmp = 0; u8 u1_tmp = 0;
bool wifi_under_5g = false; bool wifi_under_5g = false;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], 1Ant Init HW Config!!\n"); "[BTCoex], 1Ant Init HW Config!!\n");
if (back_up) { if (back_up) {
coex_dm->backup_arfr_cnt1 = btcoexist->btc_read_4byte(btcoexist, coex_dm->backup_arfr_cnt1 = btcoexist->btc_read_4byte(btcoexist,
...@@ -2220,8 +2206,8 @@ void ex_halbtc8821a1ant_init_hwconfig(struct btc_coexist *btcoexist) ...@@ -2220,8 +2206,8 @@ void ex_halbtc8821a1ant_init_hwconfig(struct btc_coexist *btcoexist)
void ex_halbtc8821a1ant_init_coex_dm(struct btc_coexist *btcoexist) void ex_halbtc8821a1ant_init_coex_dm(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Coex Mechanism Init!!\n"); "[BTCoex], Coex Mechanism Init!!\n");
btcoexist->stop_coex_dm = false; btcoexist->stop_coex_dm = false;
...@@ -2515,8 +2501,8 @@ void ex_halbtc8821a1ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2515,8 +2501,8 @@ void ex_halbtc8821a1ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
return; return;
if (BTC_IPS_ENTER == type) { if (BTC_IPS_ENTER == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS ENTER notify\n"); "[BTCoex], IPS ENTER notify\n");
coex_sta->under_ips = true; coex_sta->under_ips = true;
halbtc8821a1ant_set_ant_path(btcoexist, halbtc8821a1ant_set_ant_path(btcoexist,
BTC_ANT_PATH_BT, false, true); BTC_ANT_PATH_BT, false, true);
...@@ -2525,8 +2511,8 @@ void ex_halbtc8821a1ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2525,8 +2511,8 @@ void ex_halbtc8821a1ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
halbtc8821a1ant_coex_table_with_type(btcoexist, halbtc8821a1ant_coex_table_with_type(btcoexist,
NORMAL_EXEC, 0); NORMAL_EXEC, 0);
} else if (BTC_IPS_LEAVE == type) { } else if (BTC_IPS_LEAVE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS LEAVE notify\n"); "[BTCoex], IPS LEAVE notify\n");
coex_sta->under_ips = false; coex_sta->under_ips = false;
halbtc8821a1ant_run_coexist_mechanism(btcoexist); halbtc8821a1ant_run_coexist_mechanism(btcoexist);
...@@ -2539,12 +2525,12 @@ void ex_halbtc8821a1ant_lps_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2539,12 +2525,12 @@ void ex_halbtc8821a1ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
return; return;
if (BTC_LPS_ENABLE == type) { if (BTC_LPS_ENABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS ENABLE notify\n"); "[BTCoex], LPS ENABLE notify\n");
coex_sta->under_Lps = true; coex_sta->under_Lps = true;
} else if (BTC_LPS_DISABLE == type) { } else if (BTC_LPS_DISABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS DISABLE notify\n"); "[BTCoex], LPS DISABLE notify\n");
coex_sta->under_Lps = false; coex_sta->under_Lps = false;
} }
} }
...@@ -2574,8 +2560,8 @@ void ex_halbtc8821a1ant_scan_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2574,8 +2560,8 @@ void ex_halbtc8821a1ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
} }
if (BTC_SCAN_START == type) { if (BTC_SCAN_START == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN START notify\n"); "[BTCoex], SCAN START notify\n");
if (!wifi_connected) { if (!wifi_connected) {
/* non-connected scan*/ /* non-connected scan*/
btc8821a1ant_act_wifi_not_conn_scan(btcoexist); btc8821a1ant_act_wifi_not_conn_scan(btcoexist);
...@@ -2584,8 +2570,8 @@ void ex_halbtc8821a1ant_scan_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2584,8 +2570,8 @@ void ex_halbtc8821a1ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
halbtc8821a1ant_action_wifi_connected_scan(btcoexist); halbtc8821a1ant_action_wifi_connected_scan(btcoexist);
} }
} else if (BTC_SCAN_FINISH == type) { } else if (BTC_SCAN_FINISH == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN FINISH notify\n"); "[BTCoex], SCAN FINISH notify\n");
if (!wifi_connected) { if (!wifi_connected) {
/* non-connected scan*/ /* non-connected scan*/
halbtc8821a1ant_action_wifi_not_connected(btcoexist); halbtc8821a1ant_action_wifi_not_connected(btcoexist);
...@@ -2614,12 +2600,12 @@ void ex_halbtc8821a1ant_connect_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -2614,12 +2600,12 @@ void ex_halbtc8821a1ant_connect_notify(struct btc_coexist *btcoexist, u8 type)
} }
if (BTC_ASSOCIATE_START == type) { if (BTC_ASSOCIATE_START == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT START notify\n"); "[BTCoex], CONNECT START notify\n");
btc8821a1ant_act_wifi_not_conn_scan(btcoexist); btc8821a1ant_act_wifi_not_conn_scan(btcoexist);
} else if (BTC_ASSOCIATE_FINISH == type) { } else if (BTC_ASSOCIATE_FINISH == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT FINISH notify\n"); "[BTCoex], CONNECT FINISH notify\n");
btcoexist->btc_get(btcoexist, btcoexist->btc_get(btcoexist,
BTC_GET_BL_WIFI_CONNECTED, &wifi_connected); BTC_GET_BL_WIFI_CONNECTED, &wifi_connected);
...@@ -2645,11 +2631,11 @@ void ex_halbtc8821a1ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -2645,11 +2631,11 @@ void ex_halbtc8821a1ant_media_status_notify(struct btc_coexist *btcoexist,
return; return;
if (BTC_MEDIA_CONNECT == type) { if (BTC_MEDIA_CONNECT == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA connect notify\n"); "[BTCoex], MEDIA connect notify\n");
} else { } else {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA disconnect notify\n"); "[BTCoex], MEDIA disconnect notify\n");
} }
/* only 2.4G we need to inform bt the chnl mask*/ /* only 2.4G we need to inform bt the chnl mask*/
...@@ -2672,9 +2658,11 @@ void ex_halbtc8821a1ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -2672,9 +2658,11 @@ void ex_halbtc8821a1ant_media_status_notify(struct btc_coexist *btcoexist,
coex_dm->wifi_chnl_info[1] = h2c_parameter[1]; coex_dm->wifi_chnl_info[1] = h2c_parameter[1];
coex_dm->wifi_chnl_info[2] = h2c_parameter[2]; coex_dm->wifi_chnl_info[2] = h2c_parameter[2];
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x66 = 0x%x\n", "[BTCoex], FW write 0x66 = 0x%x\n",
h2c_parameter[0]<<16|h2c_parameter[1]<<8|h2c_parameter[2]); h2c_parameter[0] << 16 |
h2c_parameter[1] << 8 |
h2c_parameter[2]);
btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter);
} }
...@@ -2702,8 +2690,8 @@ void ex_halbtc8821a1ant_special_packet_notify(struct btc_coexist *btcoexist, ...@@ -2702,8 +2690,8 @@ void ex_halbtc8821a1ant_special_packet_notify(struct btc_coexist *btcoexist,
if (BTC_PACKET_DHCP == type || if (BTC_PACKET_DHCP == type ||
BTC_PACKET_EAPOL == type) { BTC_PACKET_EAPOL == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], special Packet(%d) notify\n", type); "[BTCoex], special Packet(%d) notify\n", type);
btc8821a1ant_act_wifi_conn_sp_pkt(btcoexist); btc8821a1ant_act_wifi_conn_sp_pkt(btcoexist);
} }
} }
...@@ -2727,19 +2715,19 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2727,19 +2715,19 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
rsp_source = BT_INFO_SRC_8821A_1ANT_WIFI_FW; rsp_source = BT_INFO_SRC_8821A_1ANT_WIFI_FW;
coex_sta->bt_info_c2h_cnt[rsp_source]++; coex_sta->bt_info_c2h_cnt[rsp_source]++;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Bt info[%d], length = %d, hex data = [", "[BTCoex], Bt info[%d], length = %d, hex data = [",
rsp_source, length); rsp_source, length);
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i]; coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i];
if (i == 1) if (i == 1)
bt_info = tmp_buf[i]; bt_info = tmp_buf[i];
if (i == length-1) { if (i == length-1) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x]\n", tmp_buf[i]); "0x%02x]\n", tmp_buf[i]);
} else { } else {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x, ", tmp_buf[i]); "0x%02x, ", tmp_buf[i]);
} }
} }
...@@ -2756,8 +2744,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2756,8 +2744,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
/* Here we need to resend some wifi info to BT*/ /* Here we need to resend some wifi info to BT*/
/* because bt is reset and loss of the info.*/ /* because bt is reset and loss of the info.*/
if (coex_sta->bt_info_ext & BIT1) { if (coex_sta->bt_info_ext & BIT1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit1 check, send wifi BW&Chnl to BT!!\n"); "[BTCoex], BT ext info bit1 check, send wifi BW&Chnl to BT!!\n");
btcoexist->btc_get(btcoexist, btcoexist->btc_get(btcoexist,
BTC_GET_BL_WIFI_CONNECTED, BTC_GET_BL_WIFI_CONNECTED,
&wifi_connected); &wifi_connected);
...@@ -2773,8 +2761,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2773,8 +2761,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
if ((coex_sta->bt_info_ext & BIT3) && !wifi_under_5g) { if ((coex_sta->bt_info_ext & BIT3) && !wifi_under_5g) {
if (!btcoexist->manual_control && if (!btcoexist->manual_control &&
!btcoexist->stop_coex_dm) { !btcoexist->stop_coex_dm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit3 check, set BT NOT to ignore Wlan active!!\n"); "[BTCoex], BT ext info bit3 check, set BT NOT to ignore Wlan active!!\n");
halbtc8821a1ant_ignore_wlan_act(btcoexist, halbtc8821a1ant_ignore_wlan_act(btcoexist,
FORCE_EXEC, FORCE_EXEC,
false); false);
...@@ -2782,8 +2770,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2782,8 +2770,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
} }
#if (BT_AUTO_REPORT_ONLY_8821A_1ANT == 0) #if (BT_AUTO_REPORT_ONLY_8821A_1ANT == 0)
if (!(coex_sta->bt_info_ext & BIT4)) { if (!(coex_sta->bt_info_ext & BIT4)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT ext info bit4 check, set BT to enable Auto Report!!\n"); "[BTCoex], BT ext info bit4 check, set BT to enable Auto Report!!\n");
halbtc8821a1ant_bt_auto_report(btcoexist, halbtc8821a1ant_bt_auto_report(btcoexist,
FORCE_EXEC, true); FORCE_EXEC, true);
} }
...@@ -2828,28 +2816,28 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2828,28 +2816,28 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
if (!(bt_info&BT_INFO_8821A_1ANT_B_CONNECTION)) { if (!(bt_info&BT_INFO_8821A_1ANT_B_CONNECTION)) {
coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_NON_CONNECTED_IDLE; coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_NON_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Non-Connected idle!!!\n"); "[BTCoex], BtInfoNotify(), BT Non-Connected idle!!!\n");
} else if (bt_info == BT_INFO_8821A_1ANT_B_CONNECTION) { } else if (bt_info == BT_INFO_8821A_1ANT_B_CONNECTION) {
/* connection exists but no busy*/ /* connection exists but no busy*/
coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE; coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_CONNECTED_IDLE;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Connected-idle!!!\n"); "[BTCoex], BtInfoNotify(), BT Connected-idle!!!\n");
} else if ((bt_info&BT_INFO_8821A_1ANT_B_SCO_ESCO) || } else if ((bt_info&BT_INFO_8821A_1ANT_B_SCO_ESCO) ||
(bt_info&BT_INFO_8821A_1ANT_B_SCO_BUSY)) { (bt_info&BT_INFO_8821A_1ANT_B_SCO_BUSY)) {
coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_SCO_BUSY; coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_SCO_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT SCO busy!!!\n"); "[BTCoex], BtInfoNotify(), BT SCO busy!!!\n");
} else if (bt_info&BT_INFO_8821A_1ANT_B_ACL_BUSY) { } else if (bt_info&BT_INFO_8821A_1ANT_B_ACL_BUSY) {
if (BT_8821A_1ANT_BT_STATUS_ACL_BUSY != coex_dm->bt_status) if (BT_8821A_1ANT_BT_STATUS_ACL_BUSY != coex_dm->bt_status)
coex_dm->auto_tdma_adjust = false; coex_dm->auto_tdma_adjust = false;
coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_ACL_BUSY; coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_ACL_BUSY;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT ACL busy!!!\n"); "[BTCoex], BtInfoNotify(), BT ACL busy!!!\n");
} else { } else {
coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_MAX; coex_dm->bt_status = BT_8821A_1ANT_BT_STATUS_MAX;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BtInfoNotify(), BT Non-Defined state!!!\n"); "[BTCoex], BtInfoNotify(), BT Non-Defined state!!!\n");
} }
if ((BT_8821A_1ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) || if ((BT_8821A_1ANT_BT_STATUS_ACL_BUSY == coex_dm->bt_status) ||
...@@ -2866,8 +2854,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -2866,8 +2854,8 @@ void ex_halbtc8821a1ant_bt_info_notify(struct btc_coexist *btcoexist,
void ex_halbtc8821a1ant_halt_notify(struct btc_coexist *btcoexist) void ex_halbtc8821a1ant_halt_notify(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Halt notify\n"); "[BTCoex], Halt notify\n");
btcoexist->stop_coex_dm = true; btcoexist->stop_coex_dm = true;
...@@ -2885,20 +2873,20 @@ void ex_halbtc8821a1ant_halt_notify(struct btc_coexist *btcoexist) ...@@ -2885,20 +2873,20 @@ void ex_halbtc8821a1ant_halt_notify(struct btc_coexist *btcoexist)
void ex_halbtc8821a1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state) void ex_halbtc8821a1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Pnp notify\n"); "[BTCoex], Pnp notify\n");
if (BTC_WIFI_PNP_SLEEP == pnp_state) { if (BTC_WIFI_PNP_SLEEP == pnp_state) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Pnp notify to SLEEP\n"); "[BTCoex], Pnp notify to SLEEP\n");
btcoexist->stop_coex_dm = true; btcoexist->stop_coex_dm = true;
halbtc8821a1ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true); halbtc8821a1ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true);
halbtc8821a1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, halbtc8821a1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE,
0x0, 0x0); 0x0, 0x0);
halbtc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 9); halbtc8821a1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 9);
} else if (BTC_WIFI_PNP_WAKE_UP == pnp_state) { } else if (BTC_WIFI_PNP_WAKE_UP == pnp_state) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Pnp notify to WAKE UP\n"); "[BTCoex], Pnp notify to WAKE UP\n");
btcoexist->stop_coex_dm = false; btcoexist->stop_coex_dm = false;
halbtc8821a1ant_init_hw_config(btcoexist, false); halbtc8821a1ant_init_hw_config(btcoexist, false);
halbtc8821a1ant_init_coex_dm(btcoexist); halbtc8821a1ant_init_coex_dm(btcoexist);
...@@ -2914,33 +2902,33 @@ ex_halbtc8821a1ant_periodical( ...@@ -2914,33 +2902,33 @@ ex_halbtc8821a1ant_periodical(
struct btc_board_info *board_info = &btcoexist->board_info; struct btc_board_info *board_info = &btcoexist->board_info;
struct btc_stack_info *stack_info = &btcoexist->stack_info; struct btc_stack_info *stack_info = &btcoexist->stack_info;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], ==========================Periodical===========================\n"); "[BTCoex], ==========================Periodical===========================\n");
if (dis_ver_info_cnt <= 5) { if (dis_ver_info_cnt <= 5) {
dis_ver_info_cnt += 1; dis_ver_info_cnt += 1;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************************************************\n"); "[BTCoex], ****************************************************************\n");
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n", "[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n",
board_info->pg_ant_num, board_info->pg_ant_num,
board_info->btdm_ant_num, board_info->btdm_ant_num,
board_info->btdm_ant_pos); board_info->btdm_ant_pos);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], BT stack/ hci ext ver = %s / %d\n", "[BTCoex], BT stack/ hci ext ver = %s / %d\n",
((stack_info->profile_notified) ? "Yes" : "No"), stack_info->profile_notified ? "Yes" : "No",
stack_info->hci_version); stack_info->hci_version);
btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER, btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER,
&bt_patch_ver); &bt_patch_ver);
btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n", "[BTCoex], CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n",
glcoex_ver_date_8821a_1ant, glcoex_ver_date_8821a_1ant,
glcoex_ver_8821a_1ant, glcoex_ver_8821a_1ant,
fw_ver, bt_patch_ver, fw_ver, bt_patch_ver,
bt_patch_ver); bt_patch_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************************************************\n"); "[BTCoex], ****************************************************************\n");
} }
#if (BT_AUTO_REPORT_ONLY_8821A_1ANT == 0) #if (BT_AUTO_REPORT_ONLY_8821A_1ANT == 0)
......
...@@ -80,28 +80,28 @@ static u8 halbtc8821a2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -80,28 +80,28 @@ static u8 halbtc8821a2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT; BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT;
if (bt_rssi >= tmp) { if (bt_rssi >= tmp) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to High\n"); "[BTCoex], BT Rssi state switch to High\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Low\n"); "[BTCoex], BT Rssi state stay at Low\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh) { if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Low\n"); "[BTCoex], BT Rssi state switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at High\n"); "[BTCoex], BT Rssi state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi thresh error!!\n"); "[BTCoex], BT Rssi thresh error!!\n");
return coex_sta->pre_bt_rssi_state; return coex_sta->pre_bt_rssi_state;
} }
...@@ -110,12 +110,12 @@ static u8 halbtc8821a2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -110,12 +110,12 @@ static u8 halbtc8821a2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
if (bt_rssi >= if (bt_rssi >=
(rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) { (rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Medium\n"); "[BTCoex], BT Rssi state switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_LOW; bt_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Low\n"); "[BTCoex], BT Rssi state stay at Low\n");
} }
} else if ((coex_sta->pre_bt_rssi_state == } else if ((coex_sta->pre_bt_rssi_state ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -125,26 +125,26 @@ static u8 halbtc8821a2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh, ...@@ -125,26 +125,26 @@ static u8 halbtc8821a2ant_bt_rssi_state(u8 level_num, u8 rssi_thresh,
(rssi_thresh1 + (rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) {
bt_rssi_state = BTC_RSSI_STATE_HIGH; bt_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to High\n"); "[BTCoex], BT Rssi state switch to High\n");
} else if (bt_rssi < rssi_thresh) { } else if (bt_rssi < rssi_thresh) {
bt_rssi_state = BTC_RSSI_STATE_LOW; bt_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Low\n"); "[BTCoex], BT Rssi state switch to Low\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at Medium\n"); "[BTCoex], BT Rssi state stay at Medium\n");
} }
} else { } else {
if (bt_rssi < rssi_thresh1) { if (bt_rssi < rssi_thresh1) {
bt_rssi_state = BTC_RSSI_STATE_MEDIUM; bt_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state switch to Medium\n"); "[BTCoex], BT Rssi state switch to Medium\n");
} else { } else {
bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH; bt_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_RSSI_STATE, btc_alg_dbg(ALGO_BT_RSSI_STATE,
"[BTCoex], BT Rssi state stay at High\n"); "[BTCoex], BT Rssi state stay at High\n");
} }
} }
} }
...@@ -171,32 +171,28 @@ static u8 halbtc8821a2ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -171,32 +171,28 @@ static u8 halbtc8821a2ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= if (wifi_rssi >=
(rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) { (rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state switch to High\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state stay at Low\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh) { if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state stay at High\n");
} }
} }
} else if (level_num == 3) { } else if (level_num == 3) {
if (rssi_thresh > rssi_thresh1) { if (rssi_thresh > rssi_thresh1) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_WIFI_RSSI_STATE, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
"[BTCoex], wifi RSSI thresh error!!\n"); "[BTCoex], wifi RSSI thresh error!!\n");
return coex_sta->pre_wifi_rssi_state[index]; return coex_sta->pre_wifi_rssi_state[index];
} }
...@@ -207,14 +203,12 @@ static u8 halbtc8821a2ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -207,14 +203,12 @@ static u8 halbtc8821a2ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= if (wifi_rssi >=
(rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) { (rssi_thresh+BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW; wifi_rssi_state = BTC_RSSI_STATE_STAY_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Low\n");
"[BTCoex], wifi RSSI state stay at Low\n");
} }
} else if ((coex_sta->pre_wifi_rssi_state[index] == } else if ((coex_sta->pre_wifi_rssi_state[index] ==
BTC_RSSI_STATE_MEDIUM) || BTC_RSSI_STATE_MEDIUM) ||
...@@ -223,31 +217,26 @@ static u8 halbtc8821a2ant_wifi_rssi_state(struct btc_coexist *btcoexist, ...@@ -223,31 +217,26 @@ static u8 halbtc8821a2ant_wifi_rssi_state(struct btc_coexist *btcoexist,
if (wifi_rssi >= (rssi_thresh1 + if (wifi_rssi >= (rssi_thresh1 +
BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) { BTC_RSSI_COEX_THRESH_TOL_8821A_2ANT)) {
wifi_rssi_state = BTC_RSSI_STATE_HIGH; wifi_rssi_state = BTC_RSSI_STATE_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to High\n");
"[BTCoex], wifi RSSI state switch to High\n");
} else if (wifi_rssi < rssi_thresh) { } else if (wifi_rssi < rssi_thresh) {
wifi_rssi_state = BTC_RSSI_STATE_LOW; wifi_rssi_state = BTC_RSSI_STATE_LOW;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Low\n");
"[BTCoex], wifi RSSI state switch to Low\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_STAY_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at Medium\n");
"[BTCoex], wifi RSSI state stay at Medium\n");
} }
} else { } else {
if (wifi_rssi < rssi_thresh1) { if (wifi_rssi < rssi_thresh1) {
wifi_rssi_state = BTC_RSSI_STATE_MEDIUM; wifi_rssi_state = BTC_RSSI_STATE_MEDIUM;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state switch to Medium\n");
"[BTCoex], wifi RSSI state switch to Medium\n");
} else { } else {
wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH; wifi_rssi_state = BTC_RSSI_STATE_STAY_HIGH;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_WIFI_RSSI_STATE,
ALGO_WIFI_RSSI_STATE, "[BTCoex], wifi RSSI state stay at High\n");
"[BTCoex], wifi RSSI state stay at High\n");
} }
} }
} }
...@@ -279,26 +268,26 @@ static void btc8821a2ant_mon_bt_en_dis(struct btc_coexist *btcoexist) ...@@ -279,26 +268,26 @@ static void btc8821a2ant_mon_bt_en_dis(struct btc_coexist *btcoexist)
bt_disabled = false; bt_disabled = false;
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE,
&bt_disabled); &bt_disabled);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is enabled !!\n"); "[BTCoex], BT is enabled !!\n");
} else { } else {
bt_disable_cnt++; bt_disable_cnt++;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], bt all counters = 0, %d times!!\n", "[BTCoex], bt all counters = 0, %d times!!\n",
bt_disable_cnt); bt_disable_cnt);
if (bt_disable_cnt >= 2) { if (bt_disable_cnt >= 2) {
bt_disabled = true; bt_disabled = true;
btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE,
&bt_disabled); &bt_disabled);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is disabled !!\n"); "[BTCoex], BT is disabled !!\n");
} }
} }
if (pre_bt_disabled != bt_disabled) { if (pre_bt_disabled != bt_disabled) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], BT is from %s to %s!!\n", "[BTCoex], BT is from %s to %s!!\n",
(pre_bt_disabled ? "disabled" : "enabled"), (pre_bt_disabled ? "disabled" : "enabled"),
(bt_disabled ? "disabled" : "enabled")); (bt_disabled ? "disabled" : "enabled"));
pre_bt_disabled = bt_disabled; pre_bt_disabled = bt_disabled;
} }
} }
...@@ -324,12 +313,12 @@ static void halbtc8821a2ant_monitor_bt_ctr(struct btc_coexist *btcoexist) ...@@ -324,12 +313,12 @@ static void halbtc8821a2ant_monitor_bt_ctr(struct btc_coexist *btcoexist)
coex_sta->low_priority_tx = reg_lp_tx; coex_sta->low_priority_tx = reg_lp_tx;
coex_sta->low_priority_rx = reg_lp_rx; coex_sta->low_priority_rx = reg_lp_rx;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], High Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n", "[BTCoex], High Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n",
reg_hp_txrx, reg_hp_tx, reg_hp_tx, reg_hp_rx, reg_hp_rx); reg_hp_txrx, reg_hp_tx, reg_hp_tx, reg_hp_rx, reg_hp_rx);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_BT_MONITOR, btc_alg_dbg(ALGO_BT_MONITOR,
"[BTCoex], Low Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n", "[BTCoex], Low Priority Tx/Rx (reg 0x%x) = 0x%x(%d)/0x%x(%d)\n",
reg_lp_txrx, reg_lp_tx, reg_lp_tx, reg_lp_rx, reg_lp_rx); reg_lp_txrx, reg_lp_tx, reg_lp_tx, reg_lp_rx, reg_lp_rx);
/* reset counter */ /* reset counter */
btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc); btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc);
...@@ -343,9 +332,9 @@ static void halbtc8821a2ant_query_bt_info(struct btc_coexist *btcoexist) ...@@ -343,9 +332,9 @@ static void halbtc8821a2ant_query_bt_info(struct btc_coexist *btcoexist)
h2c_parameter[0] |= BIT0; /* trigger */ h2c_parameter[0] |= BIT0; /* trigger */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n", "[BTCoex], Query Bt Info, FW write 0x61 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter);
} }
...@@ -368,8 +357,8 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -368,8 +357,8 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist)
stack_info->bt_link_exist = coex_sta->bt_link_exist; stack_info->bt_link_exist = coex_sta->bt_link_exist;
if (!coex_sta->bt_link_exist) { if (!coex_sta->bt_link_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], No profile exists!!!\n"); "[BTCoex], No profile exists!!!\n");
return algorithm; return algorithm;
} }
...@@ -384,26 +373,26 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -384,26 +373,26 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist)
if (num_of_diff_profile == 1) { if (num_of_diff_profile == 1) {
if (coex_sta->sco_exist) { if (coex_sta->sco_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO only\n"); "[BTCoex], SCO only\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_SCO; algorithm = BT_8821A_2ANT_COEX_ALGO_SCO;
} else { } else {
if (coex_sta->hid_exist) { if (coex_sta->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID only\n"); "[BTCoex], HID only\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_HID;
} else if (coex_sta->a2dp_exist) { } else if (coex_sta->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], A2DP only\n"); "[BTCoex], A2DP only\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_A2DP; algorithm = BT_8821A_2ANT_COEX_ALGO_A2DP;
} else if (coex_sta->pan_exist) { } else if (coex_sta->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], PAN(HS) only\n"); "[BTCoex], PAN(HS) only\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANHS; algorithm = BT_8821A_2ANT_COEX_ALGO_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], PAN(EDR) only\n"); "[BTCoex], PAN(EDR) only\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR;
} }
} }
...@@ -411,50 +400,50 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -411,50 +400,50 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist)
} else if (num_of_diff_profile == 2) { } else if (num_of_diff_profile == 2) {
if (coex_sta->sco_exist) { if (coex_sta->sco_exist) {
if (coex_sta->hid_exist) { if (coex_sta->hid_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID\n"); "[BTCoex], SCO + HID\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} else if (coex_sta->a2dp_exist) { } else if (coex_sta->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + A2DP ==> SCO\n"); "[BTCoex], SCO + A2DP ==> SCO\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} else if (coex_sta->pan_exist) { } else if (coex_sta->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + PAN(HS)\n"); "[BTCoex], SCO + PAN(HS)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_SCO; algorithm = BT_8821A_2ANT_COEX_ALGO_SCO;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + PAN(EDR)\n"); "[BTCoex], SCO + PAN(EDR)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} }
} }
} else { } else {
if (coex_sta->hid_exist && if (coex_sta->hid_exist &&
coex_sta->a2dp_exist) { coex_sta->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + A2DP\n"); "[BTCoex], HID + A2DP\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8821A_2ANT_COEX_ALGO_HID_A2DP;
} else if (coex_sta->hid_exist && } else if (coex_sta->hid_exist &&
coex_sta->pan_exist) { coex_sta->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + PAN(HS)\n"); "[BTCoex], HID + PAN(HS)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + PAN(EDR)\n"); "[BTCoex], HID + PAN(EDR)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (coex_sta->pan_exist && } else if (coex_sta->pan_exist &&
coex_sta->a2dp_exist) { coex_sta->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], A2DP + PAN(HS)\n"); "[BTCoex], A2DP + PAN(HS)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_A2DP_PANHS; algorithm = BT_8821A_2ANT_COEX_ALGO_A2DP_PANHS;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], A2DP + PAN(EDR)\n"); "[BTCoex], A2DP + PAN(EDR)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_A2DP; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_A2DP;
} }
} }
...@@ -463,29 +452,29 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -463,29 +452,29 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist)
if (coex_sta->sco_exist) { if (coex_sta->sco_exist) {
if (coex_sta->hid_exist && if (coex_sta->hid_exist &&
coex_sta->a2dp_exist) { coex_sta->a2dp_exist) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + A2DP ==> HID\n"); "[BTCoex], SCO + HID + A2DP ==> HID\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} else if (coex_sta->hid_exist && } else if (coex_sta->hid_exist &&
coex_sta->pan_exist) { coex_sta->pan_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + PAN(HS)\n"); "[BTCoex], SCO + HID + PAN(HS)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + PAN(EDR)\n"); "[BTCoex], SCO + HID + PAN(EDR)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} }
} else if (coex_sta->pan_exist && } else if (coex_sta->pan_exist &&
coex_sta->a2dp_exist) { coex_sta->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + A2DP + PAN(HS)\n"); "[BTCoex], SCO + A2DP + PAN(HS)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + A2DP + PAN(EDR) ==> HID\n"); "[BTCoex], SCO + A2DP + PAN(EDR) ==> HID\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} }
} }
...@@ -494,12 +483,12 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -494,12 +483,12 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist)
coex_sta->pan_exist && coex_sta->pan_exist &&
coex_sta->a2dp_exist) { coex_sta->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + A2DP + PAN(HS)\n"); "[BTCoex], HID + A2DP + PAN(HS)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_HID_A2DP; algorithm = BT_8821A_2ANT_COEX_ALGO_HID_A2DP;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], HID + A2DP + PAN(EDR)\n"); "[BTCoex], HID + A2DP + PAN(EDR)\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_HID_A2DP_PANEDR; algorithm = BT_8821A_2ANT_COEX_ALGO_HID_A2DP_PANEDR;
} }
} }
...@@ -510,12 +499,12 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist) ...@@ -510,12 +499,12 @@ static u8 halbtc8821a2ant_action_algorithm(struct btc_coexist *btcoexist)
coex_sta->pan_exist && coex_sta->pan_exist &&
coex_sta->a2dp_exist) { coex_sta->a2dp_exist) {
if (bt_hs_on) { if (bt_hs_on) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Error!!! SCO + HID + A2DP + PAN(HS)\n"); "[BTCoex], Error!!! SCO + HID + A2DP + PAN(HS)\n");
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n"); "[BTCoex], SCO + HID + A2DP + PAN(EDR)==>PAN(EDR)+HID\n");
algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID; algorithm = BT_8821A_2ANT_COEX_ALGO_PANEDR_HID;
} }
} }
...@@ -544,15 +533,15 @@ static bool halbtc8821a2ant_need_to_dec_bt_pwr(struct btc_coexist *btcoexist) ...@@ -544,15 +533,15 @@ static bool halbtc8821a2ant_need_to_dec_bt_pwr(struct btc_coexist *btcoexist)
if (wifi_connected) { if (wifi_connected) {
if (bt_hs_on) { if (bt_hs_on) {
if (bt_hs_rssi > 37) { if (bt_hs_rssi > 37) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], Need to decrease bt power for HS mode!!\n"); "[BTCoex], Need to decrease bt power for HS mode!!\n");
ret = true; ret = true;
} }
} else { } else {
if ((bt_rssi_state == BTC_RSSI_STATE_HIGH) || if ((bt_rssi_state == BTC_RSSI_STATE_HIGH) ||
(bt_rssi_state == BTC_RSSI_STATE_STAY_HIGH)) { (bt_rssi_state == BTC_RSSI_STATE_STAY_HIGH)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], Need to decrease bt power for Wifi is connected!!\n"); "[BTCoex], Need to decrease bt power for Wifi is connected!!\n");
ret = true; ret = true;
} }
} }
...@@ -570,10 +559,10 @@ static void btc8821a2ant_set_fw_dac_swing_lev(struct btc_coexist *btcoexist, ...@@ -570,10 +559,10 @@ static void btc8821a2ant_set_fw_dac_swing_lev(struct btc_coexist *btcoexist,
*/ */
h2c_parameter[0] = dac_swing_lvl; h2c_parameter[0] = dac_swing_lvl;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], Set Dac Swing Level = 0x%x\n", dac_swing_lvl); "[BTCoex], Set Dac Swing Level = 0x%x\n", dac_swing_lvl);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x64 = 0x%x\n", h2c_parameter[0]); "[BTCoex], FW write 0x64 = 0x%x\n", h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x64, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x64, 1, h2c_parameter);
} }
...@@ -588,9 +577,9 @@ static void halbtc8821a2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist, ...@@ -588,9 +577,9 @@ static void halbtc8821a2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist,
if (dec_bt_pwr) if (dec_bt_pwr)
h2c_parameter[0] |= BIT1; h2c_parameter[0] |= BIT1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], decrease Bt Power : %s, FW write 0x62 = 0x%x\n", "[BTCoex], decrease Bt Power : %s, FW write 0x62 = 0x%x\n",
(dec_bt_pwr ? "Yes!!" : "No!!"), h2c_parameter[0]); (dec_bt_pwr ? "Yes!!" : "No!!"), h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x62, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x62, 1, h2c_parameter);
} }
...@@ -598,16 +587,16 @@ static void halbtc8821a2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist, ...@@ -598,16 +587,16 @@ static void halbtc8821a2ant_set_fw_dec_bt_pwr(struct btc_coexist *btcoexist,
static void halbtc8821a2ant_dec_bt_pwr(struct btc_coexist *btcoexist, static void halbtc8821a2ant_dec_bt_pwr(struct btc_coexist *btcoexist,
bool force_exec, bool dec_bt_pwr) bool force_exec, bool dec_bt_pwr)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s Dec BT power = %s\n", "[BTCoex], %s Dec BT power = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((dec_bt_pwr) ? "ON" : "OFF")); ((dec_bt_pwr) ? "ON" : "OFF"));
coex_dm->cur_dec_bt_pwr = dec_bt_pwr; coex_dm->cur_dec_bt_pwr = dec_bt_pwr;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_dec_bt_pwr = %d, cur_dec_bt_pwr = %d\n", "[BTCoex], pre_dec_bt_pwr = %d, cur_dec_bt_pwr = %d\n",
coex_dm->pre_dec_bt_pwr, coex_dm->cur_dec_bt_pwr); coex_dm->pre_dec_bt_pwr, coex_dm->cur_dec_bt_pwr);
if (coex_dm->pre_dec_bt_pwr == coex_dm->cur_dec_bt_pwr) if (coex_dm->pre_dec_bt_pwr == coex_dm->cur_dec_bt_pwr)
return; return;
...@@ -627,10 +616,10 @@ static void btc8821a2ant_set_fw_bt_lna_constr(struct btc_coexist *btcoexist, ...@@ -627,10 +616,10 @@ static void btc8821a2ant_set_fw_bt_lna_constr(struct btc_coexist *btcoexist,
if (bt_lna_cons_on) if (bt_lna_cons_on)
h2c_parameter[1] |= BIT0; h2c_parameter[1] |= BIT0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set BT LNA Constrain: %s, FW write 0x69 = 0x%x\n", "[BTCoex], set BT LNA Constrain: %s, FW write 0x69 = 0x%x\n",
(bt_lna_cons_on ? "ON!!" : "OFF!!"), bt_lna_cons_on ? "ON!!" : "OFF!!",
h2c_parameter[0]<<8|h2c_parameter[1]); h2c_parameter[0] << 8 | h2c_parameter[1]);
btcoexist->btc_fill_h2c(btcoexist, 0x69, 2, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x69, 2, h2c_parameter);
} }
...@@ -638,17 +627,17 @@ static void btc8821a2ant_set_fw_bt_lna_constr(struct btc_coexist *btcoexist, ...@@ -638,17 +627,17 @@ static void btc8821a2ant_set_fw_bt_lna_constr(struct btc_coexist *btcoexist,
static void btc8821a2_set_bt_lna_const(struct btc_coexist *btcoexist, static void btc8821a2_set_bt_lna_const(struct btc_coexist *btcoexist,
bool force_exec, bool bt_lna_cons_on) bool force_exec, bool bt_lna_cons_on)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s BT Constrain = %s\n", "[BTCoex], %s BT Constrain = %s\n",
(force_exec ? "force" : ""), (force_exec ? "force" : ""),
((bt_lna_cons_on) ? "ON" : "OFF")); ((bt_lna_cons_on) ? "ON" : "OFF"));
coex_dm->cur_bt_lna_constrain = bt_lna_cons_on; coex_dm->cur_bt_lna_constrain = bt_lna_cons_on;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_bt_lna_constrain = %d,cur_bt_lna_constrain = %d\n", "[BTCoex], pre_bt_lna_constrain = %d,cur_bt_lna_constrain = %d\n",
coex_dm->pre_bt_lna_constrain, coex_dm->pre_bt_lna_constrain,
coex_dm->cur_bt_lna_constrain); coex_dm->cur_bt_lna_constrain);
if (coex_dm->pre_bt_lna_constrain == if (coex_dm->pre_bt_lna_constrain ==
coex_dm->cur_bt_lna_constrain) coex_dm->cur_bt_lna_constrain)
...@@ -669,10 +658,10 @@ static void halbtc8821a2ant_set_fw_bt_psd_mode(struct btc_coexist *btcoexist, ...@@ -669,10 +658,10 @@ static void halbtc8821a2ant_set_fw_bt_psd_mode(struct btc_coexist *btcoexist,
h2c_parameter[1] = bt_psd_mode; h2c_parameter[1] = bt_psd_mode;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set BT PSD mode = 0x%x, FW write 0x69 = 0x%x\n", "[BTCoex], set BT PSD mode = 0x%x, FW write 0x69 = 0x%x\n",
h2c_parameter[1], h2c_parameter[1],
h2c_parameter[0]<<8|h2c_parameter[1]); h2c_parameter[0] << 8 | h2c_parameter[1]);
btcoexist->btc_fill_h2c(btcoexist, 0x69, 2, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x69, 2, h2c_parameter);
} }
...@@ -680,15 +669,15 @@ static void halbtc8821a2ant_set_fw_bt_psd_mode(struct btc_coexist *btcoexist, ...@@ -680,15 +669,15 @@ static void halbtc8821a2ant_set_fw_bt_psd_mode(struct btc_coexist *btcoexist,
static void halbtc8821a2ant_set_bt_psd_mode(struct btc_coexist *btcoexist, static void halbtc8821a2ant_set_bt_psd_mode(struct btc_coexist *btcoexist,
bool force_exec, u8 bt_psd_mode) bool force_exec, u8 bt_psd_mode)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s BT PSD mode = 0x%x\n", "[BTCoex], %s BT PSD mode = 0x%x\n",
(force_exec ? "force" : ""), bt_psd_mode); (force_exec ? "force" : ""), bt_psd_mode);
coex_dm->cur_bt_psd_mode = bt_psd_mode; coex_dm->cur_bt_psd_mode = bt_psd_mode;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_bt_psd_mode = 0x%x, cur_bt_psd_mode = 0x%x\n", "[BTCoex], pre_bt_psd_mode = 0x%x, cur_bt_psd_mode = 0x%x\n",
coex_dm->pre_bt_psd_mode, coex_dm->cur_bt_psd_mode); coex_dm->pre_bt_psd_mode, coex_dm->cur_bt_psd_mode);
if (coex_dm->pre_bt_psd_mode == coex_dm->cur_bt_psd_mode) if (coex_dm->pre_bt_psd_mode == coex_dm->cur_bt_psd_mode)
return; return;
...@@ -709,10 +698,10 @@ static void halbtc8821a2ant_set_bt_auto_report(struct btc_coexist *btcoexist, ...@@ -709,10 +698,10 @@ static void halbtc8821a2ant_set_bt_auto_report(struct btc_coexist *btcoexist,
if (enable_auto_report) if (enable_auto_report)
h2c_parameter[0] |= BIT0; h2c_parameter[0] |= BIT0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], BT FW auto report : %s, FW write 0x68 = 0x%x\n", "[BTCoex], BT FW auto report : %s, FW write 0x68 = 0x%x\n",
(enable_auto_report ? "Enabled!!" : "Disabled!!"), (enable_auto_report ? "Enabled!!" : "Disabled!!"),
h2c_parameter[0]); h2c_parameter[0]);
btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter);
} }
...@@ -721,17 +710,17 @@ static void halbtc8821a2ant_bt_auto_report(struct btc_coexist *btcoexist, ...@@ -721,17 +710,17 @@ static void halbtc8821a2ant_bt_auto_report(struct btc_coexist *btcoexist,
bool force_exec, bool force_exec,
bool enable_auto_report) bool enable_auto_report)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s BT Auto report = %s\n", "[BTCoex], %s BT Auto report = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((enable_auto_report) ? "Enabled" : "Disabled")); ((enable_auto_report) ? "Enabled" : "Disabled"));
coex_dm->cur_bt_auto_report = enable_auto_report; coex_dm->cur_bt_auto_report = enable_auto_report;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_bt_auto_report = %d, cur_bt_auto_report = %d\n", "[BTCoex], pre_bt_auto_report = %d, cur_bt_auto_report = %d\n",
coex_dm->pre_bt_auto_report, coex_dm->pre_bt_auto_report,
coex_dm->cur_bt_auto_report); coex_dm->cur_bt_auto_report);
if (coex_dm->pre_bt_auto_report == coex_dm->cur_bt_auto_report) if (coex_dm->pre_bt_auto_report == coex_dm->cur_bt_auto_report)
return; return;
...@@ -746,16 +735,16 @@ static void halbtc8821a2ant_fw_dac_swing_lvl(struct btc_coexist *btcoexist, ...@@ -746,16 +735,16 @@ static void halbtc8821a2ant_fw_dac_swing_lvl(struct btc_coexist *btcoexist,
bool force_exec, bool force_exec,
u8 fw_dac_swing_lvl) u8 fw_dac_swing_lvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s set FW Dac Swing level = %d\n", "[BTCoex], %s set FW Dac Swing level = %d\n",
(force_exec ? "force to" : ""), fw_dac_swing_lvl); (force_exec ? "force to" : ""), fw_dac_swing_lvl);
coex_dm->cur_fw_dac_swing_lvl = fw_dac_swing_lvl; coex_dm->cur_fw_dac_swing_lvl = fw_dac_swing_lvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_fw_dac_swing_lvl = %d, cur_fw_dac_swing_lvl = %d\n", "[BTCoex], pre_fw_dac_swing_lvl = %d, cur_fw_dac_swing_lvl = %d\n",
coex_dm->pre_fw_dac_swing_lvl, coex_dm->pre_fw_dac_swing_lvl,
coex_dm->cur_fw_dac_swing_lvl); coex_dm->cur_fw_dac_swing_lvl);
if (coex_dm->pre_fw_dac_swing_lvl == if (coex_dm->pre_fw_dac_swing_lvl ==
coex_dm->cur_fw_dac_swing_lvl) coex_dm->cur_fw_dac_swing_lvl)
...@@ -773,8 +762,8 @@ static void btc8821a2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -773,8 +762,8 @@ static void btc8821a2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
{ {
if (rx_rf_shrink_on) { if (rx_rf_shrink_on) {
/* Shrink RF Rx LPF corner */ /* Shrink RF Rx LPF corner */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Shrink RF Rx LPF corner!!\n"); "[BTCoex], Shrink RF Rx LPF corner!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1e,
0xfffff, 0xffffc); 0xfffff, 0xffffc);
} else { } else {
...@@ -782,8 +771,8 @@ static void btc8821a2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -782,8 +771,8 @@ static void btc8821a2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
* After initialized, we can use coex_dm->bt_rf0x1e_backup * After initialized, we can use coex_dm->bt_rf0x1e_backup
*/ */
if (btcoexist->initilized) { if (btcoexist->initilized) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Resume RF Rx LPF corner!!\n"); "[BTCoex], Resume RF Rx LPF corner!!\n");
btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A,
0x1e, 0xfffff, 0x1e, 0xfffff,
coex_dm->bt_rf0x1e_backup); coex_dm->bt_rf0x1e_backup);
...@@ -794,17 +783,17 @@ static void btc8821a2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist, ...@@ -794,17 +783,17 @@ static void btc8821a2ant_set_sw_rf_rx_lpf_corner(struct btc_coexist *btcoexist,
static void halbtc8821a2ant_RfShrink(struct btc_coexist *btcoexist, static void halbtc8821a2ant_RfShrink(struct btc_coexist *btcoexist,
bool force_exec, bool rx_rf_shrink_on) bool force_exec, bool rx_rf_shrink_on)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn Rx RF Shrink = %s\n", "[BTCoex], %s turn Rx RF Shrink = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((rx_rf_shrink_on) ? "ON" : "OFF")); ((rx_rf_shrink_on) ? "ON" : "OFF"));
coex_dm->cur_rf_rx_lpf_shrink = rx_rf_shrink_on; coex_dm->cur_rf_rx_lpf_shrink = rx_rf_shrink_on;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], pre_rf_rx_lpf_shrink = %d, cur_rf_rx_lpf_shrink = %d\n", "[BTCoex], pre_rf_rx_lpf_shrink = %d, cur_rf_rx_lpf_shrink = %d\n",
coex_dm->pre_rf_rx_lpf_shrink, coex_dm->pre_rf_rx_lpf_shrink,
coex_dm->cur_rf_rx_lpf_shrink); coex_dm->cur_rf_rx_lpf_shrink);
if (coex_dm->pre_rf_rx_lpf_shrink == if (coex_dm->pre_rf_rx_lpf_shrink ==
coex_dm->cur_rf_rx_lpf_shrink) coex_dm->cur_rf_rx_lpf_shrink)
...@@ -835,9 +824,9 @@ static void btc8821a2ant_SetSwPenTxRateAdapt(struct btc_coexist *btcoexist, ...@@ -835,9 +824,9 @@ static void btc8821a2ant_SetSwPenTxRateAdapt(struct btc_coexist *btcoexist,
h2c_parameter[5] = 0xf9; h2c_parameter[5] = 0xf9;
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set WiFi Low-Penalty Retry: %s", "[BTCoex], set WiFi Low-Penalty Retry: %s",
(low_penalty_ra ? "ON!!" : "OFF!!")); (low_penalty_ra ? "ON!!" : "OFF!!"));
btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter);
} }
...@@ -846,17 +835,17 @@ static void halbtc8821a2ant_low_penalty_ra(struct btc_coexist *btcoexist, ...@@ -846,17 +835,17 @@ static void halbtc8821a2ant_low_penalty_ra(struct btc_coexist *btcoexist,
bool force_exec, bool low_penalty_ra) bool force_exec, bool low_penalty_ra)
{ {
/*return;*/ /*return;*/
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn LowPenaltyRA = %s\n", "[BTCoex], %s turn LowPenaltyRA = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((low_penalty_ra) ? "ON" : "OFF")); ((low_penalty_ra) ? "ON" : "OFF"));
coex_dm->cur_low_penalty_ra = low_penalty_ra; coex_dm->cur_low_penalty_ra = low_penalty_ra;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], pre_low_penalty_ra = %d, cur_low_penalty_ra = %d\n", "[BTCoex], pre_low_penalty_ra = %d, cur_low_penalty_ra = %d\n",
coex_dm->pre_low_penalty_ra, coex_dm->pre_low_penalty_ra,
coex_dm->cur_low_penalty_ra); coex_dm->cur_low_penalty_ra);
if (coex_dm->pre_low_penalty_ra == coex_dm->cur_low_penalty_ra) if (coex_dm->pre_low_penalty_ra == coex_dm->cur_low_penalty_ra)
return; return;
...@@ -872,8 +861,8 @@ static void halbtc8821a2ant_set_dac_swing_reg(struct btc_coexist *btcoexist, ...@@ -872,8 +861,8 @@ static void halbtc8821a2ant_set_dac_swing_reg(struct btc_coexist *btcoexist,
{ {
u8 val = (u8)level; u8 val = (u8)level;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], Write SwDacSwing = 0x%x\n", level); "[BTCoex], Write SwDacSwing = 0x%x\n", level);
btcoexist->btc_write_1byte_bitmask(btcoexist, 0xc5b, 0x3e, val); btcoexist->btc_write_1byte_bitmask(btcoexist, 0xc5b, 0x3e, val);
} }
...@@ -891,21 +880,21 @@ static void halbtc8821a2ant_dac_swing(struct btc_coexist *btcoexist, ...@@ -891,21 +880,21 @@ static void halbtc8821a2ant_dac_swing(struct btc_coexist *btcoexist,
bool force_exec, bool dac_swing_on, bool force_exec, bool dac_swing_on,
u32 dac_swing_lvl) u32 dac_swing_lvl)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn DacSwing = %s, dac_swing_lvl = 0x%x\n", "[BTCoex], %s turn DacSwing = %s, dac_swing_lvl = 0x%x\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((dac_swing_on) ? "ON" : "OFF"), ((dac_swing_on) ? "ON" : "OFF"),
dac_swing_lvl); dac_swing_lvl);
coex_dm->cur_dac_swing_on = dac_swing_on; coex_dm->cur_dac_swing_on = dac_swing_on;
coex_dm->cur_dac_swing_lvl = dac_swing_lvl; coex_dm->cur_dac_swing_lvl = dac_swing_lvl;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], pre_dac_swing_on = %d, pre_dac_swing_lvl = 0x%x, cur_dac_swing_on = %d, cur_dac_swing_lvl = 0x%x\n", "[BTCoex], pre_dac_swing_on = %d, pre_dac_swing_lvl = 0x%x, cur_dac_swing_on = %d, cur_dac_swing_lvl = 0x%x\n",
coex_dm->pre_dac_swing_on, coex_dm->pre_dac_swing_on,
coex_dm->pre_dac_swing_lvl, coex_dm->pre_dac_swing_lvl,
coex_dm->cur_dac_swing_on, coex_dm->cur_dac_swing_on,
coex_dm->cur_dac_swing_lvl); coex_dm->cur_dac_swing_lvl);
if ((coex_dm->pre_dac_swing_on == coex_dm->cur_dac_swing_on) && if ((coex_dm->pre_dac_swing_on == coex_dm->cur_dac_swing_on) &&
(coex_dm->pre_dac_swing_lvl == (coex_dm->pre_dac_swing_lvl ==
...@@ -924,12 +913,12 @@ static void halbtc8821a2ant_set_adc_back_off(struct btc_coexist *btcoexist, ...@@ -924,12 +913,12 @@ static void halbtc8821a2ant_set_adc_back_off(struct btc_coexist *btcoexist,
bool adc_back_off) bool adc_back_off)
{ {
if (adc_back_off) { if (adc_back_off) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], BB BackOff Level On!\n"); "[BTCoex], BB BackOff Level On!\n");
btcoexist->btc_write_1byte_bitmask(btcoexist, 0x8db, 0x60, 0x3); btcoexist->btc_write_1byte_bitmask(btcoexist, 0x8db, 0x60, 0x3);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], BB BackOff Level Off!\n"); "[BTCoex], BB BackOff Level Off!\n");
btcoexist->btc_write_1byte_bitmask(btcoexist, 0x8db, 0x60, 0x1); btcoexist->btc_write_1byte_bitmask(btcoexist, 0x8db, 0x60, 0x1);
} }
} }
...@@ -937,16 +926,17 @@ static void halbtc8821a2ant_set_adc_back_off(struct btc_coexist *btcoexist, ...@@ -937,16 +926,17 @@ static void halbtc8821a2ant_set_adc_back_off(struct btc_coexist *btcoexist,
static void halbtc8821a2ant_adc_back_off(struct btc_coexist *btcoexist, static void halbtc8821a2ant_adc_back_off(struct btc_coexist *btcoexist,
bool force_exec, bool adc_back_off) bool force_exec, bool adc_back_off)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s turn AdcBackOff = %s\n", "[BTCoex], %s turn AdcBackOff = %s\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
((adc_back_off) ? "ON" : "OFF")); ((adc_back_off) ? "ON" : "OFF"));
coex_dm->cur_adc_back_off = adc_back_off; coex_dm->cur_adc_back_off = adc_back_off;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], pre_adc_back_off = %d, cur_adc_back_off = %d\n", "[BTCoex], pre_adc_back_off = %d, cur_adc_back_off = %d\n",
coex_dm->pre_adc_back_off, coex_dm->cur_adc_back_off); coex_dm->pre_adc_back_off,
coex_dm->cur_adc_back_off);
if (coex_dm->pre_adc_back_off == coex_dm->cur_adc_back_off) if (coex_dm->pre_adc_back_off == coex_dm->cur_adc_back_off)
return; return;
...@@ -960,20 +950,20 @@ static void halbtc8821a2ant_set_coex_table(struct btc_coexist *btcoexist, ...@@ -960,20 +950,20 @@ static void halbtc8821a2ant_set_coex_table(struct btc_coexist *btcoexist,
u32 val0x6c0, u32 val0x6c4, u32 val0x6c0, u32 val0x6c4,
u32 val0x6c8, u8 val0x6cc) u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0); "[BTCoex], set coex table, set 0x6c0 = 0x%x\n", val0x6c0);
btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0); btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4); "[BTCoex], set coex table, set 0x6c4 = 0x%x\n", val0x6c4);
btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4); btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8); "[BTCoex], set coex table, set 0x6c8 = 0x%x\n", val0x6c8);
btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8); btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_EXEC, btc_alg_dbg(ALGO_TRACE_SW_EXEC,
"[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc); "[BTCoex], set coex table, set 0x6cc = 0x%x\n", val0x6cc);
btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc); btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc);
} }
...@@ -981,28 +971,28 @@ static void halbtc8821a2ant_coex_table(struct btc_coexist *btcoexist, ...@@ -981,28 +971,28 @@ static void halbtc8821a2ant_coex_table(struct btc_coexist *btcoexist,
bool force_exec, u32 val0x6c0, bool force_exec, u32 val0x6c0,
u32 val0x6c4, u32 val0x6c8, u8 val0x6cc) u32 val0x6c4, u32 val0x6c8, u8 val0x6cc)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW, btc_alg_dbg(ALGO_TRACE_SW,
"[BTCoex], %s write Coex Table 0x6c0 = 0x%x, 0x6c4 = 0x%x, 0x6c8 = 0x%x, 0x6cc = 0x%x\n", "[BTCoex], %s write Coex Table 0x6c0 = 0x%x, 0x6c4 = 0x%x, 0x6c8 = 0x%x, 0x6cc = 0x%x\n",
(force_exec ? "force to" : ""), (force_exec ? "force to" : ""),
val0x6c0, val0x6c4, val0x6c8, val0x6cc); val0x6c0, val0x6c4, val0x6c8, val0x6cc);
coex_dm->cur_val0x6c0 = val0x6c0; coex_dm->cur_val0x6c0 = val0x6c0;
coex_dm->cur_val0x6c4 = val0x6c4; coex_dm->cur_val0x6c4 = val0x6c4;
coex_dm->cur_val0x6c8 = val0x6c8; coex_dm->cur_val0x6c8 = val0x6c8;
coex_dm->cur_val0x6cc = val0x6cc; coex_dm->cur_val0x6cc = val0x6cc;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], pre_val0x6c0 = 0x%x, pre_val0x6c4 = 0x%x, pre_val0x6c8 = 0x%x, pre_val0x6cc = 0x%x !!\n", "[BTCoex], pre_val0x6c0 = 0x%x, pre_val0x6c4 = 0x%x, pre_val0x6c8 = 0x%x, pre_val0x6cc = 0x%x !!\n",
coex_dm->pre_val0x6c0, coex_dm->pre_val0x6c0,
coex_dm->pre_val0x6c4, coex_dm->pre_val0x6c4,
coex_dm->pre_val0x6c8, coex_dm->pre_val0x6c8,
coex_dm->pre_val0x6cc); coex_dm->pre_val0x6cc);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_SW_DETAIL, btc_alg_dbg(ALGO_TRACE_SW_DETAIL,
"[BTCoex], cur_val0x6c0 = 0x%x, cur_val0x6c4 = 0x%x, cur_val0x6c8 = 0x%x, cur_val0x6cc = 0x%x !!\n", "[BTCoex], cur_val0x6c0 = 0x%x, cur_val0x6c4 = 0x%x, cur_val0x6c8 = 0x%x, cur_val0x6cc = 0x%x !!\n",
coex_dm->cur_val0x6c0, coex_dm->cur_val0x6c0,
coex_dm->cur_val0x6c4, coex_dm->cur_val0x6c4,
coex_dm->cur_val0x6c8, coex_dm->cur_val0x6c8,
coex_dm->cur_val0x6cc); coex_dm->cur_val0x6cc);
if ((coex_dm->pre_val0x6c0 == coex_dm->cur_val0x6c0) && if ((coex_dm->pre_val0x6c0 == coex_dm->cur_val0x6c0) &&
(coex_dm->pre_val0x6c4 == coex_dm->cur_val0x6c4) && (coex_dm->pre_val0x6c4 == coex_dm->cur_val0x6c4) &&
...@@ -1027,9 +1017,9 @@ static void halbtc8821a2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoex, ...@@ -1027,9 +1017,9 @@ static void halbtc8821a2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoex,
if (enable) if (enable)
h2c_parameter[0] |= BIT0;/* function enable */ h2c_parameter[0] |= BIT0;/* function enable */
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n", "[BTCoex], set FW for BT Ignore Wlan_Act, FW write 0x63 = 0x%x\n",
h2c_parameter[0]); h2c_parameter[0]);
btcoex->btc_fill_h2c(btcoex, 0x63, 1, h2c_parameter); btcoex->btc_fill_h2c(btcoex, 0x63, 1, h2c_parameter);
} }
...@@ -1037,16 +1027,16 @@ static void halbtc8821a2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoex, ...@@ -1037,16 +1027,16 @@ static void halbtc8821a2ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoex,
static void halbtc8821a2ant_ignore_wlan_act(struct btc_coexist *btcoexist, static void halbtc8821a2ant_ignore_wlan_act(struct btc_coexist *btcoexist,
bool force_exec, bool enable) bool force_exec, bool enable)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn Ignore WlanAct %s\n", "[BTCoex], %s turn Ignore WlanAct %s\n",
(force_exec ? "force to" : ""), (enable ? "ON" : "OFF")); (force_exec ? "force to" : ""), (enable ? "ON" : "OFF"));
coex_dm->cur_ignore_wlan_act = enable; coex_dm->cur_ignore_wlan_act = enable;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_ignore_wlan_act = %d, cur_ignore_wlan_act = %d!!\n", "[BTCoex], pre_ignore_wlan_act = %d, cur_ignore_wlan_act = %d!!\n",
coex_dm->pre_ignore_wlan_act, coex_dm->pre_ignore_wlan_act,
coex_dm->cur_ignore_wlan_act); coex_dm->cur_ignore_wlan_act);
if (coex_dm->pre_ignore_wlan_act == if (coex_dm->pre_ignore_wlan_act ==
coex_dm->cur_ignore_wlan_act) coex_dm->cur_ignore_wlan_act)
...@@ -1075,13 +1065,13 @@ static void halbtc8821a2ant_set_fw_pstdma(struct btc_coexist *btcoexist, ...@@ -1075,13 +1065,13 @@ static void halbtc8821a2ant_set_fw_pstdma(struct btc_coexist *btcoexist,
coex_dm->ps_tdma_para[3] = byte4; coex_dm->ps_tdma_para[3] = byte4;
coex_dm->ps_tdma_para[4] = byte5; coex_dm->ps_tdma_para[4] = byte5;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x60(5bytes) = 0x%x%08x\n", "[BTCoex], FW write 0x60(5bytes) = 0x%x%08x\n",
h2c_parameter[0], h2c_parameter[0],
h2c_parameter[1]<<24| h2c_parameter[1] << 24 |
h2c_parameter[2]<<16| h2c_parameter[2] << 16 |
h2c_parameter[3]<<8| h2c_parameter[3] << 8 |
h2c_parameter[4]); h2c_parameter[4]);
btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter);
} }
...@@ -1175,20 +1165,20 @@ static void halbtc8821a2ant_set_ant_path(struct btc_coexist *btcoexist, ...@@ -1175,20 +1165,20 @@ static void halbtc8821a2ant_set_ant_path(struct btc_coexist *btcoexist,
static void halbtc8821a2ant_ps_tdma(struct btc_coexist *btcoexist, static void halbtc8821a2ant_ps_tdma(struct btc_coexist *btcoexist,
bool force_exec, bool turn_on, u8 type) bool force_exec, bool turn_on, u8 type)
{ {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], %s turn %s PS TDMA, type = %d\n", "[BTCoex], %s turn %s PS TDMA, type = %d\n",
(force_exec ? "force to" : ""), (turn_on ? "ON" : "OFF"), (force_exec ? "force to" : ""), (turn_on ? "ON" : "OFF"),
type); type);
coex_dm->cur_ps_tdma_on = turn_on; coex_dm->cur_ps_tdma_on = turn_on;
coex_dm->cur_ps_tdma = type; coex_dm->cur_ps_tdma = type;
if (!force_exec) { if (!force_exec) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_ps_tdma_on = %d, cur_ps_tdma_on = %d!!\n", "[BTCoex], pre_ps_tdma_on = %d, cur_ps_tdma_on = %d!!\n",
coex_dm->pre_ps_tdma_on, coex_dm->cur_ps_tdma_on); coex_dm->pre_ps_tdma_on, coex_dm->cur_ps_tdma_on);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], pre_ps_tdma = %d, cur_ps_tdma = %d!!\n", "[BTCoex], pre_ps_tdma = %d, cur_ps_tdma = %d!!\n",
coex_dm->pre_ps_tdma, coex_dm->cur_ps_tdma); coex_dm->pre_ps_tdma, coex_dm->cur_ps_tdma);
if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) && if ((coex_dm->pre_ps_tdma_on == coex_dm->cur_ps_tdma_on) &&
(coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma)) (coex_dm->pre_ps_tdma == coex_dm->cur_ps_tdma))
...@@ -1374,8 +1364,8 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1374,8 +1364,8 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist)
btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER, btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
&low_pwr_disable); &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi IPS + BT IPS!!\n"); "[BTCoex], Wifi IPS + BT IPS!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 1); halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 1);
halbtc8821a2ant_fw_dac_swing_lvl(btcoexist, NORMAL_EXEC, 6); halbtc8821a2ant_fw_dac_swing_lvl(btcoexist, NORMAL_EXEC, 6);
...@@ -1392,13 +1382,13 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1392,13 +1382,13 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist)
&low_pwr_disable); &low_pwr_disable);
if (wifi_busy) { if (wifi_busy) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Busy + BT IPS!!\n"); "[BTCoex], Wifi Busy + BT IPS!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
false, 1); false, 1);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi LPS + BT IPS!!\n"); "[BTCoex], Wifi LPS + BT IPS!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
false, 1); false, 1);
} }
...@@ -1416,8 +1406,8 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1416,8 +1406,8 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist)
btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER, btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER,
&low_pwr_disable); &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi IPS + BT LPS!!\n"); "[BTCoex], Wifi IPS + BT LPS!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 1); halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 1);
halbtc8821a2ant_fw_dac_swing_lvl(btcoexist, NORMAL_EXEC, 6); halbtc8821a2ant_fw_dac_swing_lvl(btcoexist, NORMAL_EXEC, 6);
...@@ -1433,13 +1423,13 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1433,13 +1423,13 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist)
BTC_SET_ACT_DISABLE_LOW_POWER, &low_pwr_disable); BTC_SET_ACT_DISABLE_LOW_POWER, &low_pwr_disable);
if (wifi_busy) { if (wifi_busy) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Busy + BT LPS!!\n"); "[BTCoex], Wifi Busy + BT LPS!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
false, 1); false, 1);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi LPS + BT LPS!!\n"); "[BTCoex], Wifi LPS + BT LPS!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
false, 1); false, 1);
} }
...@@ -1458,8 +1448,8 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1458,8 +1448,8 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist)
btcoexist->btc_set(btcoexist, btcoexist->btc_set(btcoexist,
BTC_SET_ACT_DISABLE_LOW_POWER, &low_pwr_disable); BTC_SET_ACT_DISABLE_LOW_POWER, &low_pwr_disable);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi IPS + BT Busy!!\n"); "[BTCoex], Wifi IPS + BT Busy!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 1); halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 1);
halbtc8821a2ant_fw_dac_swing_lvl(btcoexist, NORMAL_EXEC, 6); halbtc8821a2ant_fw_dac_swing_lvl(btcoexist, NORMAL_EXEC, 6);
...@@ -1478,12 +1468,12 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist) ...@@ -1478,12 +1468,12 @@ static bool halbtc8821a2ant_is_common_action(struct btc_coexist *btcoexist)
&low_pwr_disable); &low_pwr_disable);
if (wifi_busy) { if (wifi_busy) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi Busy + BT Busy!!\n"); "[BTCoex], Wifi Busy + BT Busy!!\n");
common = false; common = false;
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Wifi LPS + BT Busy!!\n"); "[BTCoex], Wifi LPS + BT Busy!!\n");
halbtc8821a2ant_ps_tdma(btcoexist, halbtc8821a2ant_ps_tdma(btcoexist,
NORMAL_EXEC, true, 21); NORMAL_EXEC, true, 21);
...@@ -1505,8 +1495,8 @@ static void btc8821a2_int1(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1505,8 +1495,8 @@ static void btc8821a2_int1(struct btc_coexist *btcoexist, bool tx_pause,
int result) int result)
{ {
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], TxPause = 1\n"); "[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 71) { if (coex_dm->cur_ps_tdma == 71) {
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
...@@ -1601,8 +1591,8 @@ static void btc8821a2_int1(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1601,8 +1591,8 @@ static void btc8821a2_int1(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], TxPause = 0\n"); "[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 71); true, 71);
...@@ -1706,8 +1696,8 @@ static void btc8821a2_int2(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1706,8 +1696,8 @@ static void btc8821a2_int2(struct btc_coexist *btcoexist, bool tx_pause,
int result) int result)
{ {
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], TxPause = 1\n"); "[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 1) { if (coex_dm->cur_ps_tdma == 1) {
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 6); true, 6);
...@@ -1796,8 +1786,8 @@ static void btc8821a2_int2(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1796,8 +1786,8 @@ static void btc8821a2_int2(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], TxPause = 0\n"); "[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 2); true, 2);
...@@ -1892,8 +1882,8 @@ static void btc8821a2_int3(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1892,8 +1882,8 @@ static void btc8821a2_int3(struct btc_coexist *btcoexist, bool tx_pause,
int result) int result)
{ {
if (tx_pause) { if (tx_pause) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], TxPause = 1\n"); "[BTCoex], TxPause = 1\n");
if (coex_dm->cur_ps_tdma == 1) { if (coex_dm->cur_ps_tdma == 1) {
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 7); true, 7);
...@@ -1982,8 +1972,8 @@ static void btc8821a2_int3(struct btc_coexist *btcoexist, bool tx_pause, ...@@ -1982,8 +1972,8 @@ static void btc8821a2_int3(struct btc_coexist *btcoexist, bool tx_pause,
} }
} }
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], TxPause = 0\n"); "[BTCoex], TxPause = 0\n");
if (coex_dm->cur_ps_tdma == 5) { if (coex_dm->cur_ps_tdma == 5) {
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC,
true, 3); true, 3);
...@@ -2085,13 +2075,13 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2085,13 +2075,13 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
int result; int result;
u8 retry_count = 0; u8 retry_count = 0;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW, btc_alg_dbg(ALGO_TRACE_FW,
"[BTCoex], TdmaDurationAdjust()\n"); "[BTCoex], TdmaDurationAdjust()\n");
if (coex_dm->reset_tdma_adjust) { if (coex_dm->reset_tdma_adjust) {
coex_dm->reset_tdma_adjust = false; coex_dm->reset_tdma_adjust = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], first run TdmaDurationAdjust()!!\n"); "[BTCoex], first run TdmaDurationAdjust()!!\n");
if (sco_hid) { if (sco_hid) {
if (tx_pause) { if (tx_pause) {
if (max_interval == 1) { if (max_interval == 1) {
...@@ -2195,11 +2185,11 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2195,11 +2185,11 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
} else { } else {
/* accquire the BT TRx retry count from BT_Info byte2 */ /* accquire the BT TRx retry count from BT_Info byte2 */
retry_count = coex_sta->bt_retry_cnt; retry_count = coex_sta->bt_retry_cnt;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], retry_count = %d\n", retry_count); "[BTCoex], retry_count = %d\n", retry_count);
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], up = %d, dn = %d, m = %d, n = %d, wait_count = %d\n", "[BTCoex], up = %d, dn = %d, m = %d, n = %d, wait_count = %d\n",
(int)up, (int)dn, (int)m, (int)n, (int)wait_count); (int)up, (int)dn, (int)m, (int)n, (int)wait_count);
result = 0; result = 0;
wait_count++; wait_count++;
...@@ -2220,9 +2210,8 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2220,9 +2210,8 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
up = 0; up = 0;
dn = 0; dn = 0;
result = 1; result = 1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Increase wifi duration!!\n");
"[BTCoex], Increase wifi duration!!\n");
} }
} else if (retry_count <= 3) { } else if (retry_count <= 3) {
/* <=3 retry in the last 2-second duration */ /* <=3 retry in the last 2-second duration */
...@@ -2251,9 +2240,8 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2251,9 +2240,8 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
ALGO_TRACE_FW_DETAIL, "[BTCoex], Decrease wifi duration for retryCounter<3!!\n");
"[BTCoex], Decrease wifi duration for retryCounter<3!!\n");
} }
} else { } else {
/* retry count > 3, if retry count > 3 happens once, /* retry count > 3, if retry count > 3 happens once,
...@@ -2274,12 +2262,12 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2274,12 +2262,12 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
dn = 0; dn = 0;
wait_count = 0; wait_count = 0;
result = -1; result = -1;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], Decrease wifi duration for retryCounter>3!!\n"); "[BTCoex], Decrease wifi duration for retryCounter>3!!\n");
} }
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], max Interval = %d\n", max_interval); "[BTCoex], max Interval = %d\n", max_interval);
if (max_interval == 1) if (max_interval == 1)
btc8821a2_int1(btcoexist, tx_pause, result); btc8821a2_int1(btcoexist, tx_pause, result);
else if (max_interval == 2) else if (max_interval == 2)
...@@ -2295,9 +2283,9 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2295,9 +2283,9 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
if (coex_dm->cur_ps_tdma != coex_dm->tdma_adj_type) { if (coex_dm->cur_ps_tdma != coex_dm->tdma_adj_type) {
bool scan = false, link = false, roam = false; bool scan = false, link = false, roam = false;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], PsTdma type dismatch!!!, cur_ps_tdma = %d, recordPsTdma = %d\n", "[BTCoex], PsTdma type dismatch!!!, cur_ps_tdma = %d, recordPsTdma = %d\n",
coex_dm->cur_ps_tdma, coex_dm->tdma_adj_type); coex_dm->cur_ps_tdma, coex_dm->tdma_adj_type);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan);
btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link);
...@@ -2307,8 +2295,8 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist, ...@@ -2307,8 +2295,8 @@ static void btc8821a2ant_tdma_dur_adj(struct btc_coexist *btcoexist,
halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, true, halbtc8821a2ant_ps_tdma(btcoexist, NORMAL_EXEC, true,
coex_dm->tdma_adj_type); coex_dm->tdma_adj_type);
} else { } else {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_DETAIL, btc_alg_dbg(ALGO_TRACE_FW_DETAIL,
"[BTCoex], roaming/link/scan is under progress, will adjust next time!!!\n"); "[BTCoex], roaming/link/scan is under progress, will adjust next time!!!\n");
} }
} }
...@@ -3183,8 +3171,8 @@ static void halbtc8821a2ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -3183,8 +3171,8 @@ static void halbtc8821a2ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
u8 algorithm = 0; u8 algorithm = 0;
if (btcoexist->manual_control) { if (btcoexist->manual_control) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Manual control!!!\n"); "[BTCoex], Manual control!!!\n");
return; return;
} }
...@@ -3192,8 +3180,8 @@ static void halbtc8821a2ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -3192,8 +3180,8 @@ static void halbtc8821a2ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
BTC_GET_BL_WIFI_UNDER_5G, &wifi_under_5g); BTC_GET_BL_WIFI_UNDER_5G, &wifi_under_5g);
if (wifi_under_5g) { if (wifi_under_5g) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], RunCoexistMechanism(), run 5G coex setting!!<===\n"); "[BTCoex], RunCoexistMechanism(), run 5G coex setting!!<===\n");
halbtc8821a2ant_coex_under_5g(btcoexist); halbtc8821a2ant_coex_under_5g(btcoexist);
return; return;
} }
...@@ -3201,81 +3189,82 @@ static void halbtc8821a2ant_run_coexist_mechanism(struct btc_coexist *btcoexist) ...@@ -3201,81 +3189,82 @@ static void halbtc8821a2ant_run_coexist_mechanism(struct btc_coexist *btcoexist)
algorithm = halbtc8821a2ant_action_algorithm(btcoexist); algorithm = halbtc8821a2ant_action_algorithm(btcoexist);
if (coex_sta->c2h_bt_inquiry_page && if (coex_sta->c2h_bt_inquiry_page &&
(BT_8821A_2ANT_COEX_ALGO_PANHS != algorithm)) { (BT_8821A_2ANT_COEX_ALGO_PANHS != algorithm)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], BT is under inquiry/page scan !!\n"); "[BTCoex], BT is under inquiry/page scan !!\n");
halbtc8821a2ant_bt_inquiry_page(btcoexist); halbtc8821a2ant_bt_inquiry_page(btcoexist);
return; return;
} }
coex_dm->cur_algorithm = algorithm; coex_dm->cur_algorithm = algorithm;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Algorithm = %d\n", coex_dm->cur_algorithm); "[BTCoex], Algorithm = %d\n", coex_dm->cur_algorithm);
if (halbtc8821a2ant_is_common_action(btcoexist)) { if (halbtc8821a2ant_is_common_action(btcoexist)) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant common.\n"); "[BTCoex], Action 2-Ant common\n");
coex_dm->reset_tdma_adjust = true; coex_dm->reset_tdma_adjust = true;
} else { } else {
if (coex_dm->cur_algorithm != coex_dm->pre_algorithm) { if (coex_dm->cur_algorithm != coex_dm->pre_algorithm) {
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], pre_algorithm = %d, cur_algorithm = %d\n", "[BTCoex], pre_algorithm = %d, cur_algorithm = %d\n",
coex_dm->pre_algorithm, coex_dm->cur_algorithm); coex_dm->pre_algorithm,
coex_dm->cur_algorithm);
coex_dm->reset_tdma_adjust = true; coex_dm->reset_tdma_adjust = true;
} }
switch (coex_dm->cur_algorithm) { switch (coex_dm->cur_algorithm) {
case BT_8821A_2ANT_COEX_ALGO_SCO: case BT_8821A_2ANT_COEX_ALGO_SCO:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = SCO.\n"); "[BTCoex], Action 2-Ant, algorithm = SCO\n");
halbtc8821a2ant_action_sco(btcoexist); halbtc8821a2ant_action_sco(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_HID: case BT_8821A_2ANT_COEX_ALGO_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = HID.\n"); "[BTCoex], Action 2-Ant, algorithm = HID\n");
halbtc8821a2ant_action_hid(btcoexist); halbtc8821a2ant_action_hid(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_A2DP: case BT_8821A_2ANT_COEX_ALGO_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = A2DP.\n"); "[BTCoex], Action 2-Ant, algorithm = A2DP\n");
halbtc8821a2ant_action_a2dp(btcoexist); halbtc8821a2ant_action_a2dp(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_A2DP_PANHS: case BT_8821A_2ANT_COEX_ALGO_A2DP_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = A2DP+PAN(HS).\n"); "[BTCoex], Action 2-Ant, algorithm = A2DP+PAN(HS)\n");
halbtc8821a2ant_action_a2dp_pan_hs(btcoexist); halbtc8821a2ant_action_a2dp_pan_hs(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_PANEDR: case BT_8821A_2ANT_COEX_ALGO_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = PAN(EDR).\n"); "[BTCoex], Action 2-Ant, algorithm = PAN(EDR)\n");
halbtc8821a2ant_action_pan_edr(btcoexist); halbtc8821a2ant_action_pan_edr(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_PANHS: case BT_8821A_2ANT_COEX_ALGO_PANHS:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = HS mode.\n"); "[BTCoex], Action 2-Ant, algorithm = HS mode\n");
halbtc8821a2ant_action_pan_hs(btcoexist); halbtc8821a2ant_action_pan_hs(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_PANEDR_A2DP: case BT_8821A_2ANT_COEX_ALGO_PANEDR_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = PAN+A2DP.\n"); "[BTCoex], Action 2-Ant, algorithm = PAN+A2DP\n");
halbtc8821a2ant_action_pan_edr_a2dp(btcoexist); halbtc8821a2ant_action_pan_edr_a2dp(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_PANEDR_HID: case BT_8821A_2ANT_COEX_ALGO_PANEDR_HID:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = PAN(EDR)+HID.\n"); "[BTCoex], Action 2-Ant, algorithm = PAN(EDR)+HID\n");
halbtc8821a2ant_action_pan_edr_hid(btcoexist); halbtc8821a2ant_action_pan_edr_hid(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_HID_A2DP_PANEDR: case BT_8821A_2ANT_COEX_ALGO_HID_A2DP_PANEDR:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = HID+A2DP+PAN.\n"); "[BTCoex], Action 2-Ant, algorithm = HID+A2DP+PAN\n");
btc8821a2ant_act_hid_a2dp_pan_edr(btcoexist); btc8821a2ant_act_hid_a2dp_pan_edr(btcoexist);
break; break;
case BT_8821A_2ANT_COEX_ALGO_HID_A2DP: case BT_8821A_2ANT_COEX_ALGO_HID_A2DP:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = HID+A2DP.\n"); "[BTCoex], Action 2-Ant, algorithm = HID+A2DP\n");
halbtc8821a2ant_action_hid_a2dp(btcoexist); halbtc8821a2ant_action_hid_a2dp(btcoexist);
break; break;
default: default:
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], Action 2-Ant, algorithm = coexist All Off!!\n"); "[BTCoex], Action 2-Ant, algorithm = coexist All Off!!\n");
halbtc8821a2ant_coex_all_off(btcoexist); halbtc8821a2ant_coex_all_off(btcoexist);
break; break;
} }
...@@ -3294,8 +3283,8 @@ void ex_halbtc8821a2ant_init_hwconfig(struct btc_coexist *btcoexist) ...@@ -3294,8 +3283,8 @@ void ex_halbtc8821a2ant_init_hwconfig(struct btc_coexist *btcoexist)
{ {
u8 u1tmp = 0; u8 u1tmp = 0;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], 2Ant Init HW Config!!\n"); "[BTCoex], 2Ant Init HW Config!!\n");
/* backup rf 0x1e value */ /* backup rf 0x1e value */
coex_dm->bt_rf0x1e_backup = coex_dm->bt_rf0x1e_backup =
...@@ -3328,8 +3317,8 @@ ex_halbtc8821a2ant_init_coex_dm( ...@@ -3328,8 +3317,8 @@ ex_halbtc8821a2ant_init_coex_dm(
struct btc_coexist *btcoexist struct btc_coexist *btcoexist
) )
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Coex Mechanism Init!!\n"); "[BTCoex], Coex Mechanism Init!!\n");
halbtc8821a2ant_init_coex_dm(btcoexist); halbtc8821a2ant_init_coex_dm(btcoexist);
} }
...@@ -3574,13 +3563,13 @@ ex_halbtc8821a2ant_display_coex_info( ...@@ -3574,13 +3563,13 @@ ex_halbtc8821a2ant_display_coex_info(
void ex_halbtc8821a2ant_ips_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8821a2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_IPS_ENTER == type) { if (BTC_IPS_ENTER == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS ENTER notify\n"); "[BTCoex], IPS ENTER notify\n");
coex_sta->under_ips = true; coex_sta->under_ips = true;
halbtc8821a2ant_coex_all_off(btcoexist); halbtc8821a2ant_coex_all_off(btcoexist);
} else if (BTC_IPS_LEAVE == type) { } else if (BTC_IPS_LEAVE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], IPS LEAVE notify\n"); "[BTCoex], IPS LEAVE notify\n");
coex_sta->under_ips = false; coex_sta->under_ips = false;
/*halbtc8821a2ant_init_coex_dm(btcoexist);*/ /*halbtc8821a2ant_init_coex_dm(btcoexist);*/
} }
...@@ -3589,12 +3578,12 @@ void ex_halbtc8821a2ant_ips_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -3589,12 +3578,12 @@ void ex_halbtc8821a2ant_ips_notify(struct btc_coexist *btcoexist, u8 type)
void ex_halbtc8821a2ant_lps_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8821a2ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_LPS_ENABLE == type) { if (BTC_LPS_ENABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS ENABLE notify\n"); "[BTCoex], LPS ENABLE notify\n");
coex_sta->under_lps = true; coex_sta->under_lps = true;
} else if (BTC_LPS_DISABLE == type) { } else if (BTC_LPS_DISABLE == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], LPS DISABLE notify\n"); "[BTCoex], LPS DISABLE notify\n");
coex_sta->under_lps = false; coex_sta->under_lps = false;
} }
} }
...@@ -3602,22 +3591,22 @@ void ex_halbtc8821a2ant_lps_notify(struct btc_coexist *btcoexist, u8 type) ...@@ -3602,22 +3591,22 @@ void ex_halbtc8821a2ant_lps_notify(struct btc_coexist *btcoexist, u8 type)
void ex_halbtc8821a2ant_scan_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8821a2ant_scan_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_SCAN_START == type) { if (BTC_SCAN_START == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN START notify\n"); "[BTCoex], SCAN START notify\n");
} else if (BTC_SCAN_FINISH == type) { } else if (BTC_SCAN_FINISH == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], SCAN FINISH notify\n"); "[BTCoex], SCAN FINISH notify\n");
} }
} }
void ex_halbtc8821a2ant_connect_notify(struct btc_coexist *btcoexist, u8 type) void ex_halbtc8821a2ant_connect_notify(struct btc_coexist *btcoexist, u8 type)
{ {
if (BTC_ASSOCIATE_START == type) { if (BTC_ASSOCIATE_START == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT START notify\n"); "[BTCoex], CONNECT START notify\n");
} else if (BTC_ASSOCIATE_FINISH == type) { } else if (BTC_ASSOCIATE_FINISH == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], CONNECT FINISH notify\n"); "[BTCoex], CONNECT FINISH notify\n");
} }
} }
...@@ -3629,11 +3618,11 @@ void ex_halbtc8821a2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3629,11 +3618,11 @@ void ex_halbtc8821a2ant_media_status_notify(struct btc_coexist *btcoexist,
u8 wifi_central_chnl; u8 wifi_central_chnl;
if (BTC_MEDIA_CONNECT == type) { if (BTC_MEDIA_CONNECT == type) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA connect notify\n"); "[BTCoex], MEDIA connect notify\n");
} else { } else {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], MEDIA disconnect notify\n"); "[BTCoex], MEDIA disconnect notify\n");
} }
/* only 2.4G we need to inform bt the chnl mask*/ /* only 2.4G we need to inform bt the chnl mask*/
...@@ -3654,9 +3643,11 @@ void ex_halbtc8821a2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3654,9 +3643,11 @@ void ex_halbtc8821a2ant_media_status_notify(struct btc_coexist *btcoexist,
coex_dm->wifi_chnl_info[1] = h2c_parameter[1]; coex_dm->wifi_chnl_info[1] = h2c_parameter[1];
coex_dm->wifi_chnl_info[2] = h2c_parameter[2]; coex_dm->wifi_chnl_info[2] = h2c_parameter[2];
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE_FW_EXEC, btc_alg_dbg(ALGO_TRACE_FW_EXEC,
"[BTCoex], FW write 0x66 = 0x%x\n", "[BTCoex], FW write 0x66 = 0x%x\n",
h2c_parameter[0]<<16|h2c_parameter[1]<<8|h2c_parameter[2]); h2c_parameter[0] << 16 |
h2c_parameter[1] << 8 |
h2c_parameter[2]);
btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter); btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter);
} }
...@@ -3664,8 +3655,8 @@ void ex_halbtc8821a2ant_media_status_notify(struct btc_coexist *btcoexist, ...@@ -3664,8 +3655,8 @@ void ex_halbtc8821a2ant_media_status_notify(struct btc_coexist *btcoexist,
void ex_halbtc8821a2ant_special_packet_notify(struct btc_coexist *btcoexist, void ex_halbtc8821a2ant_special_packet_notify(struct btc_coexist *btcoexist,
u8 type) { u8 type) {
if (type == BTC_PACKET_DHCP) { if (type == BTC_PACKET_DHCP) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], DHCP Packet notify\n"); "[BTCoex], DHCP Packet notify\n");
} }
} }
...@@ -3685,19 +3676,19 @@ void ex_halbtc8821a2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3685,19 +3676,19 @@ void ex_halbtc8821a2ant_bt_info_notify(struct btc_coexist *btcoexist,
rsp_source = BT_INFO_SRC_8821A_2ANT_WIFI_FW; rsp_source = BT_INFO_SRC_8821A_2ANT_WIFI_FW;
coex_sta->bt_info_c2h_cnt[rsp_source]++; coex_sta->bt_info_c2h_cnt[rsp_source]++;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Bt info[%d], length = %d, hex data = [", "[BTCoex], Bt info[%d], length = %d, hex data = [",
rsp_source, length); rsp_source, length);
for (i = 0; i < length; i++) { for (i = 0; i < length; i++) {
coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i]; coex_sta->bt_info_c2h[rsp_source][i] = tmp_buf[i];
if (i == 1) if (i == 1)
bt_info = tmp_buf[i]; bt_info = tmp_buf[i];
if (i == length-1) { if (i == length-1) {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x]\n", tmp_buf[i]); "0x%02x]\n", tmp_buf[i]);
} else { } else {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"0x%02x, ", tmp_buf[i]); "0x%02x, ", tmp_buf[i]);
} }
} }
...@@ -3823,8 +3814,8 @@ void ex_halbtc8821a2ant_bt_info_notify(struct btc_coexist *btcoexist, ...@@ -3823,8 +3814,8 @@ void ex_halbtc8821a2ant_bt_info_notify(struct btc_coexist *btcoexist,
void ex_halbtc8821a2ant_halt_notify(struct btc_coexist *btcoexist) void ex_halbtc8821a2ant_halt_notify(struct btc_coexist *btcoexist)
{ {
BTC_PRINT(BTC_MSG_INTERFACE, INTF_NOTIFY, btc_iface_dbg(INTF_NOTIFY,
"[BTCoex], Halt notify\n"); "[BTCoex], Halt notify\n");
halbtc8821a2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true); halbtc8821a2ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true);
ex_halbtc8821a2ant_media_status_notify(btcoexist, BTC_MEDIA_DISCONNECT); ex_halbtc8821a2ant_media_status_notify(btcoexist, BTC_MEDIA_DISCONNECT);
...@@ -3837,31 +3828,31 @@ void ex_halbtc8821a2ant_periodical(struct btc_coexist *btcoexist) ...@@ -3837,31 +3828,31 @@ void ex_halbtc8821a2ant_periodical(struct btc_coexist *btcoexist)
struct btc_board_info *board_info = &btcoexist->board_info; struct btc_board_info *board_info = &btcoexist->board_info;
struct btc_stack_info *stack_info = &btcoexist->stack_info; struct btc_stack_info *stack_info = &btcoexist->stack_info;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"[BTCoex], ==========================Periodical===========================\n"); "[BTCoex], ==========================Periodical===========================\n");
if (dis_ver_info_cnt <= 5) { if (dis_ver_info_cnt <= 5) {
dis_ver_info_cnt += 1; dis_ver_info_cnt += 1;
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************************************************\n"); "[BTCoex], ****************************************************************\n");
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n", "[BTCoex], Ant PG Num/ Ant Mech/ Ant Pos = %d/ %d/ %d\n",
board_info->pg_ant_num, board_info->pg_ant_num,
board_info->btdm_ant_num, board_info->btdm_ant_num,
board_info->btdm_ant_pos); board_info->btdm_ant_pos);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], BT stack/ hci ext ver = %s / %d\n", "[BTCoex], BT stack/ hci ext ver = %s / %d\n",
((stack_info->profile_notified) ? "Yes" : "No"), stack_info->profile_notified ? "Yes" : "No",
stack_info->hci_version); stack_info->hci_version);
btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER, btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER,
&bt_patch_ver); &bt_patch_ver);
btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n", "[BTCoex], CoexVer/ FwVer/ PatchVer = %d_%x/ 0x%x/ 0x%x(%d)\n",
glcoex_ver_date_8821a_2ant, glcoex_ver_8821a_2ant, glcoex_ver_date_8821a_2ant, glcoex_ver_8821a_2ant,
fw_ver, bt_patch_ver, bt_patch_ver); fw_ver, bt_patch_ver, bt_patch_ver);
BTC_PRINT(BTC_MSG_INTERFACE, INTF_INIT, btc_iface_dbg(INTF_INIT,
"[BTCoex], ****************************************************************\n"); "[BTCoex], ****************************************************************\n");
} }
halbtc8821a2ant_query_bt_info(btcoexist); halbtc8821a2ant_query_bt_info(btcoexist);
......
...@@ -141,8 +141,8 @@ static u8 halbtc_get_wifi_central_chnl(struct btc_coexist *btcoexist) ...@@ -141,8 +141,8 @@ static u8 halbtc_get_wifi_central_chnl(struct btc_coexist *btcoexist)
if (rtlphy->current_channel != 0) if (rtlphy->current_channel != 0)
chnl = rtlphy->current_channel; chnl = rtlphy->current_channel;
BTC_PRINT(BTC_MSG_ALGORITHM, ALGO_TRACE, btc_alg_dbg(ALGO_TRACE,
"static halbtc_get_wifi_central_chnl:%d\n", chnl); "static halbtc_get_wifi_central_chnl:%d\n", chnl);
return chnl; return chnl;
} }
......
...@@ -116,12 +116,17 @@ extern u32 btc_dbg_type[]; ...@@ -116,12 +116,17 @@ extern u32 btc_dbg_type[];
#define WIFI_P2P_GO_CONNECTED BIT3 #define WIFI_P2P_GO_CONNECTED BIT3
#define WIFI_P2P_GC_CONNECTED BIT4 #define WIFI_P2P_GC_CONNECTED BIT4
#define BTC_PRINT(dbgtype, dbgflag, printstr, ...) \ #define btc_alg_dbg(dbgflag, fmt, ...) \
do { \ do { \
if (unlikely(btc_dbg_type[dbgtype] & dbgflag)) {\ if (unlikely(btc_dbg_type[BTC_MSG_ALGORITHM] & dbgflag)) \
printk(printstr, ##__VA_ARGS__); \ printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
} \ } while (0)
} while (0) #define btc_iface_dbg(dbgflag, fmt, ...) \
do { \
if (unlikely(btc_dbg_type[BTC_MSG_INTERFACE] & dbgflag)) \
printk(KERN_DEBUG fmt, ##__VA_ARGS__); \
} while (0)
#define BTC_RSSI_HIGH(_rssi_) \ #define BTC_RSSI_HIGH(_rssi_) \
((_rssi_ == BTC_RSSI_STATE_HIGH || \ ((_rssi_ == BTC_RSSI_STATE_HIGH || \
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册