Lines Matching refs:coex_stat
41 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_limited_tx() local
48 if (coex_stat->wl_tx_limit_en == tx_limit_en && in rtw_coex_limited_tx()
49 coex_stat->wl_ampdu_limit_en == ampdu_limit_en) in rtw_coex_limited_tx()
52 if (!coex_stat->wl_tx_limit_en) { in rtw_coex_limited_tx()
53 coex_stat->darfrc = rtw_read32(rtwdev, REG_DARFRC); in rtw_coex_limited_tx()
54 coex_stat->darfrch = rtw_read32(rtwdev, REG_DARFRCH); in rtw_coex_limited_tx()
55 coex_stat->retry_limit = rtw_read16(rtwdev, REG_RETRY_LIMIT); in rtw_coex_limited_tx()
58 if (!coex_stat->wl_ampdu_limit_en) in rtw_coex_limited_tx()
59 coex_stat->ampdu_max_time = in rtw_coex_limited_tx()
62 coex_stat->wl_tx_limit_en = tx_limit_en; in rtw_coex_limited_tx()
63 coex_stat->wl_ampdu_limit_en = ampdu_limit_en; in rtw_coex_limited_tx()
85 rtw_write16(rtwdev, REG_RETRY_LIMIT, coex_stat->retry_limit); in rtw_coex_limited_tx()
86 rtw_write32(rtwdev, REG_DARFRC, coex_stat->darfrc); in rtw_coex_limited_tx()
87 rtw_write32(rtwdev, REG_DARFRCH, coex_stat->darfrch); in rtw_coex_limited_tx()
94 coex_stat->ampdu_max_time); in rtw_coex_limited_tx()
116 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_freerun_check() local
121 if (coex_stat->bt_disabled) in rtw_coex_freerun_check()
124 if (efuse->share_ant || ant_distance <= 5 || !coex_stat->wl_gl_busy) in rtw_coex_freerun_check()
127 if (ant_distance >= 40 || coex_stat->bt_hid_pair_num >= 2) in rtw_coex_freerun_check()
135 if (coex_stat->wl_tput_dir == COEX_WL_TPUT_TX) in rtw_coex_freerun_check()
142 coex_stat->cnt_wl[COEX_CNT_WL_SCANAP] <= 5) in rtw_coex_freerun_check()
151 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_wl_slot_extend() local
160 coex_stat->cnt_wl[COEX_CNT_WL_5MS_NOEXTEND] = 0; in rtw_coex_wl_slot_extend()
162 coex_stat->wl_slot_extend = enable; in rtw_coex_wl_slot_extend()
169 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_wl_ccklock_action() local
175 if (coex_stat->tdma_timer_base == 3 && coex_stat->wl_slot_extend) { in rtw_coex_wl_ccklock_action()
182 if (coex_stat->wl_slot_extend && coex_stat->wl_force_lps_ctrl && in rtw_coex_wl_ccklock_action()
183 !coex_stat->wl_cck_lock_ever) { in rtw_coex_wl_ccklock_action()
184 if (coex_stat->wl_fw_dbg_info[7] <= 5) in rtw_coex_wl_ccklock_action()
185 coex_stat->cnt_wl[COEX_CNT_WL_5MS_NOEXTEND]++; in rtw_coex_wl_ccklock_action()
187 coex_stat->cnt_wl[COEX_CNT_WL_5MS_NOEXTEND] = 0; in rtw_coex_wl_ccklock_action()
191 coex_stat->cnt_wl[COEX_CNT_WL_5MS_NOEXTEND]); in rtw_coex_wl_ccklock_action()
193 if (coex_stat->cnt_wl[COEX_CNT_WL_5MS_NOEXTEND] == 7) { in rtw_coex_wl_ccklock_action()
198 } else if (!coex_stat->wl_slot_extend && coex_stat->wl_cck_lock) { in rtw_coex_wl_ccklock_action()
209 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_wl_ccklock_detect() local
214 if (coex_stat->wl_coex_mode != COEX_WLINK_2G1PORT && in rtw_coex_wl_ccklock_detect()
215 coex_stat->wl_coex_mode != COEX_WLINK_2GFREE) in rtw_coex_wl_ccklock_detect()
219 coex_stat->bt_setup_link) { in rtw_coex_wl_ccklock_detect()
220 coex_stat->wl_cck_lock = false; in rtw_coex_wl_ccklock_detect()
221 coex_stat->wl_cck_lock_pre = false; in rtw_coex_wl_ccklock_detect()
225 if (coex_stat->wl_rx_rate <= COEX_CCK_2 || in rtw_coex_wl_ccklock_detect()
226 coex_stat->wl_rts_rx_rate <= COEX_CCK_2) in rtw_coex_wl_ccklock_detect()
229 if (coex_stat->wl_connected && coex_stat->wl_gl_busy && in rtw_coex_wl_ccklock_detect()
235 coex_stat->wl_cck_lock = true; in rtw_coex_wl_ccklock_detect()
241 coex_stat->wl_cck_lock = false; in rtw_coex_wl_ccklock_detect()
247 coex_stat->wl_cck_lock = false; in rtw_coex_wl_ccklock_detect()
251 if (coex_stat->wl_cck_lock && !coex_stat->wl_cck_lock_pre) in rtw_coex_wl_ccklock_detect()
255 coex_stat->wl_cck_lock_pre = coex_stat->wl_cck_lock; in rtw_coex_wl_ccklock_detect()
261 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_wl_noisy_detect() local
269 if (!coex_stat->wl_gl_busy && !wl_cck_lock) { in rtw_coex_wl_noisy_detect()
271 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY2] < 5) in rtw_coex_wl_noisy_detect()
272 coex_stat->cnt_wl[COEX_CNT_WL_NOISY2]++; in rtw_coex_wl_noisy_detect()
274 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY2] == 5) { in rtw_coex_wl_noisy_detect()
275 coex_stat->cnt_wl[COEX_CNT_WL_NOISY0] = 0; in rtw_coex_wl_noisy_detect()
276 coex_stat->cnt_wl[COEX_CNT_WL_NOISY1] = 0; in rtw_coex_wl_noisy_detect()
279 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY0] < 5) in rtw_coex_wl_noisy_detect()
280 coex_stat->cnt_wl[COEX_CNT_WL_NOISY0]++; in rtw_coex_wl_noisy_detect()
282 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY0] == 5) { in rtw_coex_wl_noisy_detect()
283 coex_stat->cnt_wl[COEX_CNT_WL_NOISY1] = 0; in rtw_coex_wl_noisy_detect()
284 coex_stat->cnt_wl[COEX_CNT_WL_NOISY2] = 0; in rtw_coex_wl_noisy_detect()
287 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY1] < 5) in rtw_coex_wl_noisy_detect()
288 coex_stat->cnt_wl[COEX_CNT_WL_NOISY1]++; in rtw_coex_wl_noisy_detect()
290 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY1] == 5) { in rtw_coex_wl_noisy_detect()
291 coex_stat->cnt_wl[COEX_CNT_WL_NOISY0] = 0; in rtw_coex_wl_noisy_detect()
292 coex_stat->cnt_wl[COEX_CNT_WL_NOISY2] = 0; in rtw_coex_wl_noisy_detect()
296 if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY2] == 5) in rtw_coex_wl_noisy_detect()
297 coex_stat->wl_noisy_level = 2; in rtw_coex_wl_noisy_detect()
298 else if (coex_stat->cnt_wl[COEX_CNT_WL_NOISY1] == 5) in rtw_coex_wl_noisy_detect()
299 coex_stat->wl_noisy_level = 1; in rtw_coex_wl_noisy_detect()
301 coex_stat->wl_noisy_level = 0; in rtw_coex_wl_noisy_detect()
304 coex_stat->wl_noisy_level); in rtw_coex_wl_noisy_detect()
311 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_tdma_timer_base() local
314 u16 tbtt_interval = coex_stat->wl_beacon_interval; in rtw_coex_tdma_timer_base()
316 if (coex_stat->tdma_timer_base == type) in rtw_coex_tdma_timer_base()
319 coex_stat->tdma_timer_base = type; in rtw_coex_tdma_timer_base()
351 if (coex_stat->tdma_timer_base == 3) in rtw_coex_tdma_timer_base()
370 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_write_scbd() local
376 val |= coex_stat->score_board; in rtw_coex_write_scbd()
393 if (val != coex_stat->score_board) { in rtw_coex_write_scbd()
394 coex_stat->score_board = val; in rtw_coex_write_scbd()
415 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_check_rfk() local
422 coex_stat->bt_iqk_state != 0xff) { in rtw_coex_check_rfk()
445 coex_stat->bt_iqk_state = 0xff; in rtw_coex_check_rfk()
452 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_query_bt_info() local
454 if (coex_stat->bt_disabled) in rtw_coex_query_bt_info()
470 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_monitor_bt_ctr() local
474 coex_stat->hi_pri_tx = FIELD_GET(MASKLWORD, tmp); in rtw_coex_monitor_bt_ctr()
475 coex_stat->hi_pri_rx = FIELD_GET(MASKHWORD, tmp); in rtw_coex_monitor_bt_ctr()
478 coex_stat->lo_pri_tx = FIELD_GET(MASKLWORD, tmp); in rtw_coex_monitor_bt_ctr()
479 coex_stat->lo_pri_rx = FIELD_GET(MASKHWORD, tmp); in rtw_coex_monitor_bt_ctr()
486 coex_stat->hi_pri_rx, coex_stat->hi_pri_tx, in rtw_coex_monitor_bt_ctr()
487 coex_stat->lo_pri_rx, coex_stat->lo_pri_tx); in rtw_coex_monitor_bt_ctr()
494 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_monitor_bt_enable() local
504 if (coex_stat->bt_disabled != bt_disabled) { in rtw_coex_monitor_bt_enable()
507 coex_stat->bt_disabled, bt_disabled); in rtw_coex_monitor_bt_enable()
509 coex_stat->bt_disabled = bt_disabled; in rtw_coex_monitor_bt_enable()
510 coex_stat->bt_ble_scan_type = 0; in rtw_coex_monitor_bt_enable()
513 if (!coex_stat->bt_disabled) { in rtw_coex_monitor_bt_enable()
514 coex_stat->bt_reenable = true; in rtw_coex_monitor_bt_enable()
519 coex_stat->bt_mailbox_reply = false; in rtw_coex_monitor_bt_enable()
520 coex_stat->bt_reenable = false; in rtw_coex_monitor_bt_enable()
529 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_update_wl_link_info() local
541 coex_stat->wl_connected = !!rtwdev->sta_cnt; in rtw_coex_update_wl_link_info()
544 if (wl_busy != coex_stat->wl_gl_busy) { in rtw_coex_update_wl_link_info()
546 coex_stat->wl_gl_busy = true; in rtw_coex_update_wl_link_info()
554 coex_stat->wl_tput_dir = COEX_WL_TPUT_TX; in rtw_coex_update_wl_link_info()
556 coex_stat->wl_tput_dir = COEX_WL_TPUT_RX; in rtw_coex_update_wl_link_info()
560 coex_stat->wl_linkscan_proc = true; in rtw_coex_update_wl_link_info()
562 coex_stat->wl_linkscan_proc = false; in rtw_coex_update_wl_link_info()
575 if (coex_stat->wl_linkscan_proc || coex_stat->wl_hi_pri_task1 || in rtw_coex_update_wl_link_info()
576 coex_stat->wl_hi_pri_task2 || coex_stat->wl_gl_busy) in rtw_coex_update_wl_link_info()
710 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_update_bt_link_info() local
721 rssi = coex_stat->bt_rssi; in rtw_coex_update_bt_link_info()
727 if (coex_stat->bt_ble_scan_en && in rtw_coex_update_bt_link_info()
728 coex_stat->cnt_bt[COEX_CNT_BT_INFOUPDATE] % 3 == 0) { in rtw_coex_update_bt_link_info()
732 coex_stat->bt_ble_scan_type = scan_type; in rtw_coex_update_bt_link_info()
733 if ((coex_stat->bt_ble_scan_type & 0x1) == 0x1) in rtw_coex_update_bt_link_info()
734 coex_stat->bt_init_scan = true; in rtw_coex_update_bt_link_info()
736 coex_stat->bt_init_scan = false; in rtw_coex_update_bt_link_info()
740 coex_stat->bt_profile_num = 0; in rtw_coex_update_bt_link_info()
743 if (!(coex_stat->bt_info_lb2 & COEX_INFO_CONNECTION)) { in rtw_coex_update_bt_link_info()
744 coex_stat->bt_link_exist = false; in rtw_coex_update_bt_link_info()
745 coex_stat->bt_pan_exist = false; in rtw_coex_update_bt_link_info()
746 coex_stat->bt_a2dp_exist = false; in rtw_coex_update_bt_link_info()
747 coex_stat->bt_hid_exist = false; in rtw_coex_update_bt_link_info()
748 coex_stat->bt_hfp_exist = false; in rtw_coex_update_bt_link_info()
751 coex_stat->bt_link_exist = true; in rtw_coex_update_bt_link_info()
752 if (coex_stat->bt_info_lb2 & COEX_INFO_FTP) { in rtw_coex_update_bt_link_info()
753 coex_stat->bt_pan_exist = true; in rtw_coex_update_bt_link_info()
754 coex_stat->bt_profile_num++; in rtw_coex_update_bt_link_info()
756 coex_stat->bt_pan_exist = false; in rtw_coex_update_bt_link_info()
759 if (coex_stat->bt_info_lb2 & COEX_INFO_A2DP) { in rtw_coex_update_bt_link_info()
760 coex_stat->bt_a2dp_exist = true; in rtw_coex_update_bt_link_info()
761 coex_stat->bt_profile_num++; in rtw_coex_update_bt_link_info()
763 coex_stat->bt_a2dp_exist = false; in rtw_coex_update_bt_link_info()
766 if (coex_stat->bt_info_lb2 & COEX_INFO_HID) { in rtw_coex_update_bt_link_info()
767 coex_stat->bt_hid_exist = true; in rtw_coex_update_bt_link_info()
768 coex_stat->bt_profile_num++; in rtw_coex_update_bt_link_info()
770 coex_stat->bt_hid_exist = false; in rtw_coex_update_bt_link_info()
773 if (coex_stat->bt_info_lb2 & COEX_INFO_SCO_ESCO) { in rtw_coex_update_bt_link_info()
774 coex_stat->bt_hfp_exist = true; in rtw_coex_update_bt_link_info()
775 coex_stat->bt_profile_num++; in rtw_coex_update_bt_link_info()
777 coex_stat->bt_hfp_exist = false; in rtw_coex_update_bt_link_info()
781 if (coex_stat->bt_info_lb2 & COEX_INFO_INQ_PAGE) { in rtw_coex_update_bt_link_info()
783 } else if (!(coex_stat->bt_info_lb2 & COEX_INFO_CONNECTION)) { in rtw_coex_update_bt_link_info()
785 coex_stat->bt_multi_link_remain = false; in rtw_coex_update_bt_link_info()
786 } else if (coex_stat->bt_info_lb2 == COEX_INFO_CONNECTION) { in rtw_coex_update_bt_link_info()
788 } else if ((coex_stat->bt_info_lb2 & COEX_INFO_SCO_ESCO) || in rtw_coex_update_bt_link_info()
789 (coex_stat->bt_info_lb2 & COEX_INFO_SCO_BUSY)) { in rtw_coex_update_bt_link_info()
790 if (coex_stat->bt_info_lb2 & COEX_INFO_ACL_BUSY) in rtw_coex_update_bt_link_info()
794 } else if (coex_stat->bt_info_lb2 & COEX_INFO_ACL_BUSY) { in rtw_coex_update_bt_link_info()
800 coex_stat->cnt_bt[COEX_CNT_BT_INFOUPDATE]++; in rtw_coex_update_bt_link_info()
811 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_update_wl_ch_info() local
824 coex_stat->wl_coex_mode != COEX_WLINK_2GFREE)) { in rtw_coex_update_wl_ch_info()
894 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_set_rf_para() local
897 if (coex->freerun && coex_stat->cnt_wl[COEX_CNT_WL_SCANAP] <= 5) in rtw_coex_set_rf_para()
965 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_mimo_ps() local
967 if (!force && state == coex_stat->wl_mimo_ps) in rtw_coex_mimo_ps()
970 coex_stat->wl_mimo_ps = state; in rtw_coex_mimo_ps()
974 rtw_coex_update_wl_ch_info(rtwdev, (u8)coex_stat->wl_connected); in rtw_coex_mimo_ps()
1019 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_btc_wltoggle_table_b() local
1030 coex_stat->wl_toggle_interval = interval; in rtw_btc_wltoggle_table_b()
1033 coex_stat->wl_toggle_para[i] = cur_h2c_para[i]; in rtw_btc_wltoggle_table_b()
1071 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_table() local
1089 if (coex_stat->wl_slot_toggle_change) in rtw_coex_table()
1107 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_power_save_state() local
1115 coex_stat->wl_force_lps_ctrl = false; in rtw_coex_power_save_state()
1121 coex_stat->wl_force_lps_ctrl = true; in rtw_coex_power_save_state()
1140 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_set_tdma() local
1157 coex_stat->wl_coex_mode == COEX_WLINK_2GFREE) { in rtw_coex_set_tdma()
1185 coex_stat->wl_slot_toggle = true; in rtw_coex_set_tdma()
1186 coex_stat->wl_slot_toggle_change = false; in rtw_coex_set_tdma()
1188 coex_stat->wl_slot_toggle_change = coex_stat->wl_slot_toggle; in rtw_coex_set_tdma()
1189 coex_stat->wl_slot_toggle = false; in rtw_coex_set_tdma()
1198 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_tdma() local
1224 if ((coex_stat->bt_a2dp_exist && in rtw_coex_tdma()
1225 (coex_stat->bt_inq_remain || coex_stat->bt_multi_link)) || in rtw_coex_tdma()
1262 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_set_ant_path() local
1278 coex_stat->bt_disabled); in rtw_coex_set_ant_path()
1285 if (coex_stat->bt_disabled) in rtw_coex_set_ant_path()
1296 if (coex_stat->bt_disabled) { in rtw_coex_set_ant_path()
1462 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_algorithm() local
1466 if (coex_stat->bt_hfp_exist) in rtw_coex_algorithm()
1468 if (coex_stat->bt_hid_exist) in rtw_coex_algorithm()
1470 if (coex_stat->bt_a2dp_exist) in rtw_coex_algorithm()
1472 if (coex_stat->bt_pan_exist) in rtw_coex_algorithm()
1505 if (coex_stat->bt_multi_link) { in rtw_coex_algorithm()
1506 if (coex_stat->bt_hid_pair_num > 0) in rtw_coex_algorithm()
1553 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_freerun() local
1585 if (coex_stat->wl_tput_dir == COEX_WL_TPUT_TX) in rtw_coex_action_freerun()
1648 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_relink() local
1659 if (coex_stat->wl_gl_busy) { in rtw_coex_action_bt_relink()
1661 if (coex_stat->bt_hid_exist && in rtw_coex_action_bt_relink()
1662 coex_stat->bt_profile_num == 1) { in rtw_coex_action_bt_relink()
1673 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_relink()
1688 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_idle() local
1701 coex_stat->wl_gl_busy) { in rtw_coex_action_bt_idle()
1719 if (!coex_stat->wl_gl_busy) { in rtw_coex_action_bt_idle()
1725 if (coex_stat->lo_pri_rx + coex_stat->lo_pri_tx > 250) in rtw_coex_action_bt_idle()
1735 if (!coex_stat->wl_gl_busy) { in rtw_coex_action_bt_idle()
1738 } else if ((coex_stat->bt_ble_scan_type & 0x2) && in rtw_coex_action_bt_idle()
1757 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_inquiry() local
1767 if (coex_stat->wl_linkscan_proc || coex_stat->wl_hi_pri_task1 || in rtw_coex_action_bt_inquiry()
1768 coex_stat->wl_hi_pri_task2) in rtw_coex_action_bt_inquiry()
1778 if (coex_stat->bt_profile_num > 0) in rtw_coex_action_bt_inquiry()
1780 else if (coex_stat->wl_hi_pri_task1) in rtw_coex_action_bt_inquiry()
1782 else if (!coex_stat->bt_page) in rtw_coex_action_bt_inquiry()
1786 } else if (coex_stat->wl_gl_busy) { in rtw_coex_action_bt_inquiry()
1789 if (coex_stat->bt_profile_num == 0) { in rtw_coex_action_bt_inquiry()
1792 } else if (coex_stat->bt_profile_num == 1 && in rtw_coex_action_bt_inquiry()
1793 !coex_stat->bt_a2dp_exist) { in rtw_coex_action_bt_inquiry()
1802 } else if (coex_stat->wl_connected) { in rtw_coex_action_bt_inquiry()
1820 if (coex_stat->bt_profile_num > 0) in rtw_coex_action_bt_inquiry()
1822 else if (coex_stat->wl_hi_pri_task1) in rtw_coex_action_bt_inquiry()
1824 else if (!coex_stat->bt_page) in rtw_coex_action_bt_inquiry()
1828 } else if (coex_stat->wl_gl_busy) { in rtw_coex_action_bt_inquiry()
1833 } else if (coex_stat->wl_connected) { in rtw_coex_action_bt_inquiry()
1847 wl_hi_pri, coex_stat->bt_page); in rtw_coex_action_bt_inquiry()
1857 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_game_hid() local
1866 coex_stat->wl_coex_mode = COEX_WLINK_2GFREE; in rtw_coex_action_bt_game_hid()
1867 if (coex_stat->bt_whck_test) in rtw_coex_action_bt_game_hid()
1869 else if (coex_stat->wl_linkscan_proc || coex_stat->bt_hid_exist) in rtw_coex_action_bt_game_hid()
1871 else if (coex_stat->bt_setup_link || coex_stat->bt_inq_page) in rtw_coex_action_bt_game_hid()
1873 else if (coex_stat->bt_a2dp_exist) in rtw_coex_action_bt_game_hid()
1888 if (coex_stat->wl_coex_mode == COEX_WLINK_2GFREE) { in rtw_coex_action_bt_game_hid()
1889 if (coex_stat->wl_tput_dir == COEX_WL_TPUT_TX) in rtw_coex_action_bt_game_hid()
1905 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_hfp() local
1919 if (coex_stat->bt_multi_link) { in rtw_coex_action_bt_hfp()
1936 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_hid() local
1948 if (coex_stat->bt_ble_exist) { in rtw_coex_action_bt_hid()
1950 if (coex_stat->cnt_wl[COEX_CNT_WL_SCANAP] > 5) { in rtw_coex_action_bt_hid()
1959 if (coex_stat->bt_profile_num == 1 && in rtw_coex_action_bt_hid()
1960 (coex_stat->bt_multi_link || in rtw_coex_action_bt_hid()
1961 (coex_stat->lo_pri_rx + in rtw_coex_action_bt_hid()
1962 coex_stat->lo_pri_tx > 360) || in rtw_coex_action_bt_hid()
1963 coex_stat->bt_slave || in rtw_coex_action_bt_hid()
1968 } else if (coex_stat->bt_a2dp_active) { in rtw_coex_action_bt_hid()
1971 } else if (coex_stat->bt_418_hid_exist && in rtw_coex_action_bt_hid()
1972 coex_stat->wl_gl_busy) { in rtw_coex_action_bt_hid()
1977 } else if (coex_stat->bt_ble_hid_exist && in rtw_coex_action_bt_hid()
1978 coex_stat->wl_gl_busy) { in rtw_coex_action_bt_hid()
1988 if (coex_stat->bt_ble_exist) { in rtw_coex_action_bt_hid()
1990 if (coex_stat->cnt_wl[COEX_CNT_WL_SCANAP] > 5) { in rtw_coex_action_bt_hid()
1997 } else if (coex_stat->bt_a2dp_active) { in rtw_coex_action_bt_hid()
2019 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_a2dp() local
2034 if (coex_stat->wl_gl_busy && coex_stat->wl_noisy_level == 0) in rtw_coex_action_bt_a2dp()
2039 if (coex_stat->wl_connecting || !coex_stat->wl_gl_busy) in rtw_coex_action_bt_a2dp()
2061 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_a2dpsink() local
2075 } else if (coex_stat->wl_gl_busy) { in rtw_coex_action_bt_a2dpsink()
2100 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_pan() local
2110 if (coex_stat->wl_gl_busy && coex_stat->wl_noisy_level == 0) in rtw_coex_action_bt_pan()
2115 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_pan()
2123 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_pan()
2137 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_a2dp_hid() local
2152 if (coex_stat->bt_ble_exist) { in rtw_coex_action_bt_a2dp_hid()
2154 } else if (coex_stat->bt_418_hid_exist) { in rtw_coex_action_bt_a2dp_hid()
2161 if (coex_stat->wl_connecting || !coex_stat->wl_gl_busy) { in rtw_coex_action_bt_a2dp_hid()
2163 } else if (coex_stat->bt_418_hid_exist) { in rtw_coex_action_bt_a2dp_hid()
2171 if (coex_stat->bt_ble_exist) in rtw_coex_action_bt_a2dp_hid()
2194 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_a2dp_pan() local
2206 if (coex_stat->wl_gl_busy) { in rtw_coex_action_bt_a2dp_pan()
2217 if (coex_stat->wl_gl_busy && in rtw_coex_action_bt_a2dp_pan()
2218 coex_stat->wl_noisy_level == 0) in rtw_coex_action_bt_a2dp_pan()
2223 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_a2dp_pan()
2232 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_a2dp_pan()
2251 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_pan_hid() local
2264 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_pan_hid()
2272 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_pan_hid()
2286 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_bt_a2dp_pan_hid() local
2298 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_a2dp_pan_hid()
2306 if (coex_stat->wl_gl_busy) in rtw_coex_action_bt_a2dp_pan_hid()
2321 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_wl_under5g() local
2331 if (coex_stat->bt_game_hid_exist && coex_stat->wl_linkscan_proc) in rtw_coex_action_wl_under5g()
2332 coex_stat->wl_coex_mode = COEX_WLINK_2GFREE; in rtw_coex_action_wl_under5g()
2377 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_wl_native_lps() local
2397 if (coex_stat->bt_game_hid_exist) { in rtw_coex_action_wl_native_lps()
2398 coex_stat->wl_coex_mode = COEX_WLINK_2GFREE; in rtw_coex_action_wl_native_lps()
2399 if (coex_stat->wl_tput_dir == COEX_WL_TPUT_TX) in rtw_coex_action_wl_native_lps()
2415 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_wl_linkscan() local
2425 if (coex_stat->bt_a2dp_exist) { in rtw_coex_action_wl_linkscan()
2428 if (coex_stat->wl_gl_busy) in rtw_coex_action_wl_linkscan()
2437 if (coex_stat->bt_a2dp_exist) { in rtw_coex_action_wl_linkscan()
2478 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_action_wl_connected() local
2498 else if (coex_stat->bt_a2dp_sink) in rtw_coex_action_wl_connected()
2533 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_run_coex() local
2563 if (coex_stat->wl_under_ips) { in rtw_coex_run_coex()
2570 !coex_stat->bt_setup_link) { in rtw_coex_run_coex()
2576 coex_stat->cnt_wl[COEX_CNT_WL_COEXRUN]++; in rtw_coex_run_coex()
2581 coex_stat->wl_coex_mode = COEX_WLINK_5G; in rtw_coex_run_coex()
2587 coex_stat->wl_coex_mode = COEX_WLINK_2G1PORT; in rtw_coex_run_coex()
2589 if (coex_stat->bt_disabled) { in rtw_coex_run_coex()
2590 if (coex_stat->wl_connected && rf4ce_en) in rtw_coex_run_coex()
2592 else if (!coex_stat->wl_connected) in rtw_coex_run_coex()
2599 if (coex_stat->wl_under_lps && !coex_stat->wl_force_lps_ctrl) { in rtw_coex_run_coex()
2604 if (coex_stat->bt_game_hid_exist && coex_stat->wl_connected) { in rtw_coex_run_coex()
2609 if (coex_stat->bt_whck_test) { in rtw_coex_run_coex()
2614 if (coex_stat->bt_setup_link) { in rtw_coex_run_coex()
2619 if (coex_stat->bt_inq_page) { in rtw_coex_run_coex()
2626 coex_stat->wl_connected) { in rtw_coex_run_coex()
2631 if (coex_stat->wl_linkscan_proc && !coex->freerun) { in rtw_coex_run_coex()
2636 if (coex_stat->wl_connected) { in rtw_coex_run_coex()
2647 if (coex_stat->wl_coex_mode == COEX_WLINK_2GFREE) { in rtw_coex_run_coex()
2657 rtw_coex_gnt_workaround(rtwdev, false, coex_stat->wl_coex_mode); in rtw_coex_run_coex()
2664 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_init_coex_var() local
2669 memset(coex_stat, 0, sizeof(*coex_stat)); in rtw_coex_init_coex_var()
2672 coex_stat->cnt_wl[i] = 0; in rtw_coex_init_coex_var()
2675 coex_stat->cnt_bt[i] = 0; in rtw_coex_init_coex_var()
2683 coex_stat->wl_coex_mode = COEX_WLINK_MAX; in rtw_coex_init_coex_var()
2684 coex_stat->wl_rx_rate = DESC_RATE5_5M; in rtw_coex_init_coex_var()
2685 coex_stat->wl_rts_rx_rate = DESC_RATE5_5M; in rtw_coex_init_coex_var()
2691 struct rtw_coex_stat *coex_stat = &coex->stat; in __rtw_coex_init_hw_config() local
2697 coex_stat->kt_ver = u8_get_bits(rtw_read8(rtwdev, 0xf1), GENMASK(7, 4)); in __rtw_coex_init_hw_config()
2700 rtw_coex_wl_slot_extend(rtwdev, coex_stat->wl_slot_extend); in __rtw_coex_init_hw_config()
2782 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_ips_notify() local
2790 coex_stat->wl_under_ips = true; in rtw_coex_ips_notify()
2804 coex_stat->wl_under_ips = false; in rtw_coex_ips_notify()
2811 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_lps_notify() local
2819 coex_stat->wl_under_lps = true; in rtw_coex_lps_notify()
2821 if (coex_stat->wl_force_lps_ctrl) { in rtw_coex_lps_notify()
2834 coex_stat->wl_under_lps = false; in rtw_coex_lps_notify()
2839 if (!coex_stat->wl_force_lps_ctrl) in rtw_coex_lps_notify()
2849 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_scan_notify() local
2867 coex_stat->wl_hi_pri_task2 = true; in rtw_coex_scan_notify()
2873 coex_stat->cnt_wl[COEX_CNT_WL_SCANAP] = 30; /* To do */ in rtw_coex_scan_notify()
2877 coex_stat->cnt_wl[COEX_CNT_WL_SCANAP]); in rtw_coex_scan_notify()
2879 coex_stat->wl_hi_pri_task2 = false; in rtw_coex_scan_notify()
2913 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_connect_notify() local
2933 coex_stat->wl_hi_pri_task1 = true; in rtw_coex_connect_notify()
2934 coex_stat->wl_connecting = true; in rtw_coex_connect_notify()
2935 coex_stat->cnt_wl[COEX_CNT_WL_CONNPKT] = 2; in rtw_coex_connect_notify()
2936 coex_stat->wl_connecting = true; in rtw_coex_connect_notify()
2954 coex_stat->wl_hi_pri_task1 = false; in rtw_coex_connect_notify()
2956 coex_stat->wl_connecting = false; in rtw_coex_connect_notify()
2967 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_media_status_notify() local
2982 coex_stat->wl_connecting = false; in rtw_coex_media_status_notify()
3006 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_bt_info_notify() local
3015 coex_stat->cnt_bt_info_c2h[rsp_source]++; in rtw_coex_bt_info_notify()
3018 coex_stat->bt_iqk_state = buf[1]; in rtw_coex_bt_info_notify()
3019 if (coex_stat->bt_iqk_state == 0) in rtw_coex_bt_info_notify()
3020 coex_stat->cnt_bt[COEX_CNT_BT_IQK]++; in rtw_coex_bt_info_notify()
3021 else if (coex_stat->bt_iqk_state == 2) in rtw_coex_bt_info_notify()
3022 coex_stat->cnt_bt[COEX_CNT_BT_IQKFAIL]++; in rtw_coex_bt_info_notify()
3037 if (coex_stat->bt_disabled != coex_stat->bt_disabled_pre) { in rtw_coex_bt_info_notify()
3038 coex_stat->bt_disabled_pre = coex_stat->bt_disabled; in rtw_coex_bt_info_notify()
3064 if (coex_stat->bt_disabled) { in rtw_coex_bt_info_notify()
3065 coex_stat->bt_disabled = false; in rtw_coex_bt_info_notify()
3066 coex_stat->bt_reenable = true; in rtw_coex_bt_info_notify()
3087 coex_stat->bt_info_c2h[rsp_source][i] = buf[i]; in rtw_coex_bt_info_notify()
3090 if (coex_stat->bt_info_c2h[rsp_source][1] == coex_stat->bt_info_lb2 && in rtw_coex_bt_info_notify()
3091 coex_stat->bt_info_c2h[rsp_source][2] == coex_stat->bt_info_lb3 && in rtw_coex_bt_info_notify()
3092 coex_stat->bt_info_c2h[rsp_source][3] == coex_stat->bt_info_hb0 && in rtw_coex_bt_info_notify()
3093 coex_stat->bt_info_c2h[rsp_source][4] == coex_stat->bt_info_hb1 && in rtw_coex_bt_info_notify()
3094 coex_stat->bt_info_c2h[rsp_source][5] == coex_stat->bt_info_hb2 && in rtw_coex_bt_info_notify()
3095 coex_stat->bt_info_c2h[rsp_source][6] == coex_stat->bt_info_hb3) { in rtw_coex_bt_info_notify()
3101 coex_stat->bt_info_lb2 = coex_stat->bt_info_c2h[rsp_source][1]; in rtw_coex_bt_info_notify()
3102 coex_stat->bt_info_lb3 = coex_stat->bt_info_c2h[rsp_source][2]; in rtw_coex_bt_info_notify()
3103 coex_stat->bt_info_hb0 = coex_stat->bt_info_c2h[rsp_source][3]; in rtw_coex_bt_info_notify()
3104 coex_stat->bt_info_hb1 = coex_stat->bt_info_c2h[rsp_source][4]; in rtw_coex_bt_info_notify()
3105 coex_stat->bt_info_hb2 = coex_stat->bt_info_c2h[rsp_source][5]; in rtw_coex_bt_info_notify()
3106 coex_stat->bt_info_hb3 = coex_stat->bt_info_c2h[rsp_source][6]; in rtw_coex_bt_info_notify()
3109 coex_stat->bt_whck_test = (coex_stat->bt_info_lb2 == 0xff); in rtw_coex_bt_info_notify()
3111 inq_page = ((coex_stat->bt_info_lb2 & BIT(2)) == BIT(2)); in rtw_coex_bt_info_notify()
3113 if (inq_page != coex_stat->bt_inq_page) { in rtw_coex_bt_info_notify()
3115 coex_stat->bt_inq_page = inq_page; in rtw_coex_bt_info_notify()
3118 coex_stat->bt_inq_remain = true; in rtw_coex_bt_info_notify()
3124 coex_stat->bt_acl_busy = ((coex_stat->bt_info_lb2 & BIT(3)) == BIT(3)); in rtw_coex_bt_info_notify()
3126 if (coex_stat->bt_info_lb2 & BIT(5)) { in rtw_coex_bt_info_notify()
3127 if (coex_stat->bt_info_hb1 & BIT(0)) { in rtw_coex_bt_info_notify()
3129 coex_stat->bt_ble_hid_exist = true; in rtw_coex_bt_info_notify()
3131 coex_stat->bt_ble_hid_exist = false; in rtw_coex_bt_info_notify()
3133 coex_stat->bt_ble_exist = false; in rtw_coex_bt_info_notify()
3134 } else if (coex_stat->bt_info_hb1 & BIT(0)) { in rtw_coex_bt_info_notify()
3136 coex_stat->bt_ble_hid_exist = false; in rtw_coex_bt_info_notify()
3137 coex_stat->bt_ble_exist = true; in rtw_coex_bt_info_notify()
3139 coex_stat->bt_ble_hid_exist = false; in rtw_coex_bt_info_notify()
3140 coex_stat->bt_ble_exist = false; in rtw_coex_bt_info_notify()
3143 if (coex_stat->bt_info_hb1 & BIT(0)) { in rtw_coex_bt_info_notify()
3144 if (coex_stat->bt_hid_slot == 1 && in rtw_coex_bt_info_notify()
3145 coex_stat->hi_pri_rx + 100 < coex_stat->hi_pri_tx && in rtw_coex_bt_info_notify()
3146 coex_stat->hi_pri_rx < 100) { in rtw_coex_bt_info_notify()
3147 coex_stat->bt_ble_hid_exist = true; in rtw_coex_bt_info_notify()
3148 coex_stat->bt_ble_exist = false; in rtw_coex_bt_info_notify()
3150 coex_stat->bt_ble_hid_exist = false; in rtw_coex_bt_info_notify()
3151 coex_stat->bt_ble_exist = true; in rtw_coex_bt_info_notify()
3154 coex_stat->bt_ble_hid_exist = false; in rtw_coex_bt_info_notify()
3155 coex_stat->bt_ble_exist = false; in rtw_coex_bt_info_notify()
3159 coex_stat->cnt_bt[COEX_CNT_BT_RETRY] = coex_stat->bt_info_lb3 & 0xf; in rtw_coex_bt_info_notify()
3160 if (coex_stat->cnt_bt[COEX_CNT_BT_RETRY] >= 1) in rtw_coex_bt_info_notify()
3161 coex_stat->cnt_bt[COEX_CNT_BT_POPEVENT]++; in rtw_coex_bt_info_notify()
3163 coex_stat->bt_fix_2M = ((coex_stat->bt_info_lb3 & BIT(4)) == BIT(4)); in rtw_coex_bt_info_notify()
3164 coex_stat->bt_inq = ((coex_stat->bt_info_lb3 & BIT(5)) == BIT(5)); in rtw_coex_bt_info_notify()
3165 if (coex_stat->bt_inq) in rtw_coex_bt_info_notify()
3166 coex_stat->cnt_bt[COEX_CNT_BT_INQ]++; in rtw_coex_bt_info_notify()
3168 coex_stat->bt_page = ((coex_stat->bt_info_lb3 & BIT(7)) == BIT(7)); in rtw_coex_bt_info_notify()
3169 if (coex_stat->bt_page) in rtw_coex_bt_info_notify()
3170 coex_stat->cnt_bt[COEX_CNT_BT_PAGE]++; in rtw_coex_bt_info_notify()
3174 coex_stat->bt_rssi = coex_stat->bt_info_hb0 * 2 + 10; in rtw_coex_bt_info_notify()
3176 if (coex_stat->bt_info_hb0 <= 127) in rtw_coex_bt_info_notify()
3177 coex_stat->bt_rssi = 100; in rtw_coex_bt_info_notify()
3178 else if (256 - coex_stat->bt_info_hb0 <= 100) in rtw_coex_bt_info_notify()
3179 coex_stat->bt_rssi = 100 - (256 - coex_stat->bt_info_hb0); in rtw_coex_bt_info_notify()
3181 coex_stat->bt_rssi = 0; in rtw_coex_bt_info_notify()
3184 if (coex_stat->bt_info_hb1 & BIT(1)) in rtw_coex_bt_info_notify()
3185 coex_stat->cnt_bt[COEX_CNT_BT_REINIT]++; in rtw_coex_bt_info_notify()
3187 if (coex_stat->bt_info_hb1 & BIT(2)) { in rtw_coex_bt_info_notify()
3188 coex_stat->cnt_bt[COEX_CNT_BT_SETUPLINK]++; in rtw_coex_bt_info_notify()
3189 coex_stat->bt_setup_link = true; in rtw_coex_bt_info_notify()
3190 if (coex_stat->bt_reenable) in rtw_coex_bt_info_notify()
3203 if (coex_stat->bt_info_hb1 & BIT(3)) in rtw_coex_bt_info_notify()
3204 coex_stat->cnt_bt[COEX_CNT_BT_IGNWLANACT]++; in rtw_coex_bt_info_notify()
3206 coex_stat->bt_ble_voice = ((coex_stat->bt_info_hb1 & BIT(4)) == BIT(4)); in rtw_coex_bt_info_notify()
3207 coex_stat->bt_ble_scan_en = ((coex_stat->bt_info_hb1 & BIT(5)) == BIT(5)); in rtw_coex_bt_info_notify()
3208 if (coex_stat->bt_info_hb1 & BIT(6)) in rtw_coex_bt_info_notify()
3209 coex_stat->cnt_bt[COEX_CNT_BT_ROLESWITCH]++; in rtw_coex_bt_info_notify()
3211 coex_stat->bt_multi_link = ((coex_stat->bt_info_hb1 & BIT(7)) == BIT(7)); in rtw_coex_bt_info_notify()
3214 if (!coex_stat->bt_multi_link && coex_stat->bt_multi_link_pre) { in rtw_coex_bt_info_notify()
3215 coex_stat->bt_multi_link_remain = true; in rtw_coex_bt_info_notify()
3220 coex_stat->bt_multi_link_pre = coex_stat->bt_multi_link; in rtw_coex_bt_info_notify()
3223 if (coex_stat->bt_info_hb1 & BIT(1)) { in rtw_coex_bt_info_notify()
3227 if (coex_stat->wl_connected) in rtw_coex_bt_info_notify()
3235 if ((coex_stat->bt_info_hb1 & BIT(3)) && in rtw_coex_bt_info_notify()
3236 (!(coex_stat->bt_info_hb1 & BIT(2)))) { in rtw_coex_bt_info_notify()
3242 coex_stat->bt_opp_exist = ((coex_stat->bt_info_hb2 & BIT(0)) == BIT(0)); in rtw_coex_bt_info_notify()
3243 if (coex_stat->bt_info_hb2 & BIT(1)) in rtw_coex_bt_info_notify()
3244 coex_stat->cnt_bt[COEX_CNT_BT_AFHUPDATE]++; in rtw_coex_bt_info_notify()
3246 coex_stat->bt_a2dp_active = (coex_stat->bt_info_hb2 & BIT(2)) == BIT(2); in rtw_coex_bt_info_notify()
3247 coex_stat->bt_slave = ((coex_stat->bt_info_hb2 & BIT(3)) == BIT(3)); in rtw_coex_bt_info_notify()
3248 coex_stat->bt_hid_slot = (coex_stat->bt_info_hb2 & 0x30) >> 4; in rtw_coex_bt_info_notify()
3249 coex_stat->bt_hid_pair_num = (coex_stat->bt_info_hb2 & 0xc0) >> 6; in rtw_coex_bt_info_notify()
3250 if (coex_stat->bt_hid_pair_num > 0 && coex_stat->bt_hid_slot >= 2) in rtw_coex_bt_info_notify()
3251 coex_stat->bt_418_hid_exist = true; in rtw_coex_bt_info_notify()
3252 else if (coex_stat->bt_hid_pair_num == 0 || coex_stat->bt_hid_slot == 1) in rtw_coex_bt_info_notify()
3253 coex_stat->bt_418_hid_exist = false; in rtw_coex_bt_info_notify()
3255 if ((coex_stat->bt_info_lb2 & 0x49) == 0x49) in rtw_coex_bt_info_notify()
3256 coex_stat->bt_a2dp_bitpool = (coex_stat->bt_info_hb3 & 0x7f); in rtw_coex_bt_info_notify()
3258 coex_stat->bt_a2dp_bitpool = 0; in rtw_coex_bt_info_notify()
3260 coex_stat->bt_a2dp_sink = ((coex_stat->bt_info_hb3 & BIT(7)) == BIT(7)); in rtw_coex_bt_info_notify()
3274 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_bt_hid_info_notify() local
3290 hl = &coex_stat->hid_handle_list; in rtw_coex_bt_hid_info_notify()
3294 coex_stat->hid_handle_list = *bhl; in rtw_coex_bt_hid_info_notify()
3295 memset(&coex_stat->hid_info, 0, sizeof(coex_stat->hid_info)); in rtw_coex_bt_hid_info_notify()
3297 hidinfo = &coex_stat->hid_info[i]; in rtw_coex_bt_hid_info_notify()
3307 hidinfo = &coex_stat->hid_info[i]; in rtw_coex_bt_hid_info_notify()
3319 hidinfo = &coex_stat->hid_info[i]; in rtw_coex_bt_hid_info_notify()
3351 if (cur_game_hid_exist != coex_stat->bt_game_hid_exist) { in rtw_coex_bt_hid_info_notify()
3352 coex_stat->bt_game_hid_exist = cur_game_hid_exist; in rtw_coex_bt_hid_info_notify()
3355 coex_stat->bt_game_hid_exist); in rtw_coex_bt_hid_info_notify()
3364 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_query_bt_hid_list() local
3369 if (!chip->wl_mimo_ps_support || coex_stat->wl_under_ips || in rtw_coex_query_bt_hid_list()
3370 (coex_stat->wl_under_lps && !coex_stat->wl_force_lps_ctrl)) in rtw_coex_query_bt_hid_list()
3373 if (!coex_stat->bt_hid_exist && in rtw_coex_query_bt_hid_list()
3374 !((coex_stat->bt_info_lb2 & COEX_INFO_CONNECTION) && in rtw_coex_query_bt_hid_list()
3375 (coex_stat->hi_pri_tx + coex_stat->hi_pri_rx > in rtw_coex_query_bt_hid_list()
3382 hidinfo = &coex_stat->hid_info[i]; in rtw_coex_query_bt_hid_list()
3398 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_wl_fwdbginfo_notify() local
3412 val = coex_stat->wl_fw_dbg_info_pre[i]; in rtw_coex_wl_fwdbginfo_notify()
3414 coex_stat->wl_fw_dbg_info[i] = buf[i] - val; in rtw_coex_wl_fwdbginfo_notify()
3416 coex_stat->wl_fw_dbg_info[i] = 255 - val + buf[i]; in rtw_coex_wl_fwdbginfo_notify()
3418 coex_stat->wl_fw_dbg_info_pre[i] = buf[i]; in rtw_coex_wl_fwdbginfo_notify()
3421 coex_stat->cnt_wl[COEX_CNT_WL_FW_NOTIFY]++; in rtw_coex_wl_fwdbginfo_notify()
3433 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_wl_status_check() local
3435 if ((coex_stat->wl_under_lps && !coex_stat->wl_force_lps_ctrl) || in rtw_coex_wl_status_check()
3436 coex_stat->wl_under_ips) in rtw_coex_wl_status_check()
3446 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_bt_relink_work() local
3449 coex_stat->bt_setup_link = false; in rtw_coex_bt_relink_work()
3458 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_bt_reenable_work() local
3461 coex_stat->bt_reenable = false; in rtw_coex_bt_reenable_work()
3470 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_defreeze_work() local
3474 coex_stat->wl_hi_pri_task1 = false; in rtw_coex_defreeze_work()
3483 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_wl_remain_work() local
3486 coex_stat->wl_gl_busy = test_bit(RTW_FLAG_BUSY_TRAFFIC, rtwdev->flags); in rtw_coex_wl_remain_work()
3495 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_bt_remain_work() local
3498 coex_stat->bt_inq_remain = coex_stat->bt_inq_page; in rtw_coex_bt_remain_work()
3507 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_wl_connecting_work() local
3510 coex_stat->wl_connecting = false; in rtw_coex_wl_connecting_work()
3520 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_bt_multi_link_remain_work() local
3523 coex_stat->bt_multi_link_remain = false; in rtw_coex_bt_multi_link_remain_work()
3531 struct rtw_coex_stat *coex_stat = &rtwdev->coex.stat; in rtw_coex_wl_ccklock_work() local
3534 coex_stat->wl_cck_lock = false; in rtw_coex_wl_ccklock_work()
3915 struct rtw_coex_stat *coex_stat = &coex->stat; in rtw_coex_display_coex_info() local
3929 score_board_WB = coex_stat->score_board; in rtw_coex_display_coex_info()
3940 if (!coex_stat->bt_disabled && !coex_stat->bt_mailbox_reply) { in rtw_coex_display_coex_info()
3942 &coex_stat->bt_supported_version); in rtw_coex_display_coex_info()
3943 rtw_coex_get_bt_patch_version(rtwdev, &coex_stat->patch_ver); in rtw_coex_display_coex_info()
3945 &coex_stat->bt_supported_feature); in rtw_coex_display_coex_info()
3946 rtw_coex_get_bt_reg(rtwdev, 3, 0xae, &coex_stat->bt_reg_vendor_ae); in rtw_coex_display_coex_info()
3947 rtw_coex_get_bt_reg(rtwdev, 3, 0xac, &coex_stat->bt_reg_vendor_ac); in rtw_coex_display_coex_info()
3949 if (coex_stat->patch_ver != 0) in rtw_coex_display_coex_info()
3950 coex_stat->bt_mailbox_reply = true; in rtw_coex_display_coex_info()
3978 coex_stat->bt_supported_version, in rtw_coex_display_coex_info()
3979 coex_stat->bt_disabled ? "(BT disabled)" : in rtw_coex_display_coex_info()
3980 coex_stat->bt_supported_version >= chip->bt_desired_ver ? in rtw_coex_display_coex_info()
3984 coex_stat->bt_slave ? "Slave" : "Master", in rtw_coex_display_coex_info()
3985 coex_stat->cnt_bt[COEX_CNT_BT_ROLESWITCH], in rtw_coex_display_coex_info()
3990 coex_stat->patch_ver, in rtw_coex_display_coex_info()
3991 chip->wl_fw_desired_ver, coex_stat->kt_ver + 65); in rtw_coex_display_coex_info()
4005 coex_stat->bt_rssi - 100, in rtw_coex_display_coex_info()
4006 coex_stat->cnt_bt[COEX_CNT_BT_RETRY], in rtw_coex_display_coex_info()
4007 coex_stat->cnt_bt[COEX_CNT_BT_POPEVENT]); in rtw_coex_display_coex_info()
4010 coex_stat->bt_a2dp_exist ? (coex_stat->bt_a2dp_sink ? in rtw_coex_display_coex_info()
4012 coex_stat->bt_hfp_exist ? "HFP," : "", in rtw_coex_display_coex_info()
4013 coex_stat->bt_hid_exist ? in rtw_coex_display_coex_info()
4014 (coex_stat->bt_ble_exist ? "HID(RCU)," : in rtw_coex_display_coex_info()
4015 coex_stat->bt_hid_slot >= 2 ? "HID(4/18)" : in rtw_coex_display_coex_info()
4016 coex_stat->bt_ble_hid_exist ? "HID(BLE)" : in rtw_coex_display_coex_info()
4018 coex_stat->bt_pan_exist ? coex_stat->bt_opp_exist ? in rtw_coex_display_coex_info()
4020 coex_stat->bt_ble_voice ? "Voice," : "", in rtw_coex_display_coex_info()
4021 coex_stat->bt_multi_link); in rtw_coex_display_coex_info()
4024 coex_stat->cnt_bt[COEX_CNT_BT_REINIT], in rtw_coex_display_coex_info()
4025 coex_stat->cnt_bt[COEX_CNT_BT_SETUPLINK], in rtw_coex_display_coex_info()
4026 coex_stat->cnt_bt[COEX_CNT_BT_IGNWLANACT], in rtw_coex_display_coex_info()
4027 coex_stat->bt_supported_feature); in rtw_coex_display_coex_info()
4030 coex_stat->cnt_bt[COEX_CNT_BT_PAGE], in rtw_coex_display_coex_info()
4031 coex_stat->cnt_bt[COEX_CNT_BT_INQ], in rtw_coex_display_coex_info()
4032 coex_stat->cnt_bt[COEX_CNT_BT_IQK], in rtw_coex_display_coex_info()
4033 coex_stat->cnt_bt[COEX_CNT_BT_IQKFAIL]); in rtw_coex_display_coex_info()
4036 coex_stat->bt_reg_vendor_ae, in rtw_coex_display_coex_info()
4037 coex_stat->bt_reg_vendor_ac, in rtw_coex_display_coex_info()
4041 coex_stat->hi_pri_tx, coex_stat->hi_pri_rx, in rtw_coex_display_coex_info()
4042 coex_stat->lo_pri_tx, coex_stat->lo_pri_rx); in rtw_coex_display_coex_info()
4046 coex_stat->bt_info_c2h[i]); in rtw_coex_display_coex_info()
4055 coex_stat->wl_gl_busy, in rtw_coex_display_coex_info()
4086 rtw_coex_get_wl_coex_mode(coex_stat->wl_coex_mode), in rtw_coex_display_coex_info()
4088 coex_stat->tdma_timer_base); in rtw_coex_display_coex_info()
4097 coex_stat->cnt_wl[COEX_CNT_WL_COEXRUN], in rtw_coex_display_coex_info()
4104 coex_stat->wl_force_lps_ctrl ? "On" : "Off", in rtw_coex_display_coex_info()
4105 coex_stat->wl_gl_busy); in rtw_coex_display_coex_info()
4108 coex_stat->wl_fw_dbg_info[1], coex_stat->wl_fw_dbg_info[2], in rtw_coex_display_coex_info()
4109 coex_stat->wl_fw_dbg_info[3], coex_stat->wl_fw_dbg_info[4], in rtw_coex_display_coex_info()
4110 coex_stat->wl_fw_dbg_info[5]); in rtw_coex_display_coex_info()
4113 coex_stat->wl_fw_dbg_info[6], in rtw_coex_display_coex_info()
4114 coex_stat->wl_fw_dbg_info[7], in rtw_coex_display_coex_info()
4115 coex_stat->wl_slot_extend ? "Yes" : "No", in rtw_coex_display_coex_info()
4116 coex_stat->cnt_wl[COEX_CNT_WL_FW_NOTIFY]); in rtw_coex_display_coex_info()
4151 coex_stat->wl_hi_pri_task1 ? "Y" : "N", in rtw_coex_display_coex_info()
4152 coex_stat->wl_cck_lock ? "Y" : "N", in rtw_coex_display_coex_info()
4153 coex_stat->wl_cck_lock_ever ? "Y" : "N", in rtw_coex_display_coex_info()
4154 coex_stat->wl_noisy_level); in rtw_coex_display_coex_info()