Lines Matching refs:btcoexist

42 static void halbtc8723b1ant_updatera_mask(struct btc_coexist *btcoexist,  in halbtc8723b1ant_updatera_mask()  argument
48 btcoexist->btc_set(btcoexist, BTC_SET_ACT_UPDATE_RAMASK, in halbtc8723b1ant_updatera_mask()
54 static void btc8723b1ant_auto_rate_fb_retry(struct btc_coexist *btcoexist, in btc8723b1ant_auto_rate_fb_retry() argument
64 btcoexist->btc_write_4byte(btcoexist, 0x430, in btc8723b1ant_auto_rate_fb_retry()
66 btcoexist->btc_write_4byte(btcoexist, 0x434, in btc8723b1ant_auto_rate_fb_retry()
70 btcoexist->btc_get(btcoexist, in btc8723b1ant_auto_rate_fb_retry()
74 btcoexist->btc_write_4byte(btcoexist, in btc8723b1ant_auto_rate_fb_retry()
76 btcoexist->btc_write_4byte(btcoexist, in btc8723b1ant_auto_rate_fb_retry()
79 btcoexist->btc_write_4byte(btcoexist, in btc8723b1ant_auto_rate_fb_retry()
81 btcoexist->btc_write_4byte(btcoexist, in btc8723b1ant_auto_rate_fb_retry()
93 static void halbtc8723b1ant_retry_limit(struct btc_coexist *btcoexist, in halbtc8723b1ant_retry_limit() argument
102 btcoexist->btc_write_2byte(btcoexist, 0x42a, in halbtc8723b1ant_retry_limit()
106 btcoexist->btc_write_2byte(btcoexist, 0x42a, 0x0808); in halbtc8723b1ant_retry_limit()
116 static void halbtc8723b1ant_ampdu_maxtime(struct btc_coexist *btcoexist, in halbtc8723b1ant_ampdu_maxtime() argument
125 btcoexist->btc_write_1byte(btcoexist, 0x456, in halbtc8723b1ant_ampdu_maxtime()
129 btcoexist->btc_write_1byte(btcoexist, 0x456, 0x38); in halbtc8723b1ant_ampdu_maxtime()
139 static void halbtc8723b1ant_limited_tx(struct btc_coexist *btcoexist, in halbtc8723b1ant_limited_tx() argument
146 halbtc8723b1ant_updatera_mask(btcoexist, force_exec, 0x0); in halbtc8723b1ant_limited_tx()
149 halbtc8723b1ant_updatera_mask(btcoexist, force_exec, in halbtc8723b1ant_limited_tx()
154 halbtc8723b1ant_updatera_mask(btcoexist, force_exec, in halbtc8723b1ant_limited_tx()
161 btc8723b1ant_auto_rate_fb_retry(btcoexist, force_exec, arfr_type); in halbtc8723b1ant_limited_tx()
162 halbtc8723b1ant_retry_limit(btcoexist, force_exec, retry_limit_type); in halbtc8723b1ant_limited_tx()
163 halbtc8723b1ant_ampdu_maxtime(btcoexist, force_exec, ampdu_time_type); in halbtc8723b1ant_limited_tx()
166 static void halbtc8723b1ant_limited_rx(struct btc_coexist *btcoexist, in halbtc8723b1ant_limited_rx() argument
178 btcoexist->btc_set(btcoexist, BTC_SET_BL_TO_REJ_AP_AGG_PKT, in halbtc8723b1ant_limited_rx()
181 btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_CTRL_AGG_SIZE, in halbtc8723b1ant_limited_rx()
186 btcoexist->btc_set(btcoexist, BTC_SET_U1_AGG_BUF_SIZE, &rxaggsize); in halbtc8723b1ant_limited_rx()
188 btcoexist->btc_set(btcoexist, BTC_SET_ACT_AGGREGATE_CTRL, NULL); in halbtc8723b1ant_limited_rx()
191 static void halbtc8723b1ant_query_bt_info(struct btc_coexist *btcoexist) in halbtc8723b1ant_query_bt_info() argument
200 btcoexist->btc_fill_h2c(btcoexist, 0x61, 1, h2c_parameter); in halbtc8723b1ant_query_bt_info()
203 static void halbtc8723b1ant_monitor_bt_ctr(struct btc_coexist *btcoexist) in halbtc8723b1ant_monitor_bt_ctr() argument
213 u32tmp = btcoexist->btc_read_4byte(btcoexist, reg_hp_txrx); in halbtc8723b1ant_monitor_bt_ctr()
217 u32tmp = btcoexist->btc_read_4byte(btcoexist, reg_lp_txrx); in halbtc8723b1ant_monitor_bt_ctr()
231 btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc); in halbtc8723b1ant_monitor_bt_ctr()
248 halbtc8723b1ant_query_bt_info(btcoexist); in halbtc8723b1ant_monitor_bt_ctr()
254 static void halbtc8723b1ant_monitor_wifi_ctr(struct btc_coexist *btcoexist) in halbtc8723b1ant_monitor_wifi_ctr() argument
261 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in halbtc8723b1ant_monitor_wifi_ctr()
262 btcoexist->btc_get(btcoexist, BTC_GET_S4_WIFI_RSSI, &wifi_rssi); in halbtc8723b1ant_monitor_wifi_ctr()
263 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_UNDER_B_MODE, in halbtc8723b1ant_monitor_wifi_ctr()
278 btcoexist->btc_read_4byte(btcoexist, 0xf88); in halbtc8723b1ant_monitor_wifi_ctr()
280 btcoexist->btc_read_2byte(btcoexist, 0xf94); in halbtc8723b1ant_monitor_wifi_ctr()
282 btcoexist->btc_read_2byte(btcoexist, 0xf90); in halbtc8723b1ant_monitor_wifi_ctr()
284 btcoexist->btc_read_2byte(btcoexist, 0xfb8); in halbtc8723b1ant_monitor_wifi_ctr()
287 btcoexist->btc_read_4byte(btcoexist, 0xf84); in halbtc8723b1ant_monitor_wifi_ctr()
289 btcoexist->btc_read_2byte(btcoexist, 0xf96); in halbtc8723b1ant_monitor_wifi_ctr()
291 btcoexist->btc_read_2byte(btcoexist, 0xf92); in halbtc8723b1ant_monitor_wifi_ctr()
293 btcoexist->btc_read_2byte(btcoexist, 0xfba); in halbtc8723b1ant_monitor_wifi_ctr()
297 btcoexist->btc_write_1byte_bitmask(btcoexist, 0xf16, 0x1, 0x1); in halbtc8723b1ant_monitor_wifi_ctr()
298 btcoexist->btc_write_1byte_bitmask(btcoexist, 0xf16, 0x1, 0x0); in halbtc8723b1ant_monitor_wifi_ctr()
344 static bool btc8723b1ant_is_wifi_status_changed(struct btc_coexist *btcoexist) in btc8723b1ant_is_wifi_status_changed() argument
351 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in btc8723b1ant_is_wifi_status_changed()
353 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in btc8723b1ant_is_wifi_status_changed()
354 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in btc8723b1ant_is_wifi_status_changed()
355 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, in btc8723b1ant_is_wifi_status_changed()
376 static void halbtc8723b1ant_update_bt_link_info(struct btc_coexist *btcoexist) in halbtc8723b1ant_update_bt_link_info() argument
378 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in halbtc8723b1ant_update_bt_link_info()
381 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in halbtc8723b1ant_update_bt_link_info()
425 static void halbtc8723b1ant_set_bt_auto_report(struct btc_coexist *btcoexist, in halbtc8723b1ant_set_bt_auto_report() argument
435 btcoexist->btc_fill_h2c(btcoexist, 0x68, 1, h2c_parameter); in halbtc8723b1ant_set_bt_auto_report()
438 static void halbtc8723b1ant_bt_auto_report(struct btc_coexist *btcoexist, in halbtc8723b1ant_bt_auto_report() argument
448 halbtc8723b1ant_set_bt_auto_report(btcoexist, in halbtc8723b1ant_bt_auto_report()
454 static void btc8723b1ant_set_sw_pen_tx_rate_adapt(struct btc_coexist *btcoexist, in btc8723b1ant_set_sw_pen_tx_rate_adapt() argument
457 struct rtl_priv *rtlpriv = btcoexist->adapter; in btc8723b1ant_set_sw_pen_tx_rate_adapt()
475 btcoexist->btc_fill_h2c(btcoexist, 0x69, 6, h2c_parameter); in btc8723b1ant_set_sw_pen_tx_rate_adapt()
478 static void halbtc8723b1ant_low_penalty_ra(struct btc_coexist *btcoexist, in halbtc8723b1ant_low_penalty_ra() argument
487 btc8723b1ant_set_sw_pen_tx_rate_adapt(btcoexist, in halbtc8723b1ant_low_penalty_ra()
493 static void halbtc8723b1ant_set_coex_table(struct btc_coexist *btcoexist, in halbtc8723b1ant_set_coex_table() argument
497 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_set_coex_table()
501 btcoexist->btc_write_4byte(btcoexist, 0x6c0, val0x6c0); in halbtc8723b1ant_set_coex_table()
505 btcoexist->btc_write_4byte(btcoexist, 0x6c4, val0x6c4); in halbtc8723b1ant_set_coex_table()
509 btcoexist->btc_write_4byte(btcoexist, 0x6c8, val0x6c8); in halbtc8723b1ant_set_coex_table()
513 btcoexist->btc_write_1byte(btcoexist, 0x6cc, val0x6cc); in halbtc8723b1ant_set_coex_table()
516 static void halbtc8723b1ant_coex_table(struct btc_coexist *btcoexist, in halbtc8723b1ant_coex_table() argument
521 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_coex_table()
539 halbtc8723b1ant_set_coex_table(btcoexist, val0x6c0, val0x6c4, in halbtc8723b1ant_coex_table()
548 static void halbtc8723b1ant_coex_table_with_type(struct btc_coexist *btcoexist, in halbtc8723b1ant_coex_table_with_type() argument
555 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55555555, in halbtc8723b1ant_coex_table_with_type()
559 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55555555, in halbtc8723b1ant_coex_table_with_type()
563 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x5a5a5a5a, in halbtc8723b1ant_coex_table_with_type()
567 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55555555, in halbtc8723b1ant_coex_table_with_type()
572 halbtc8723b1ant_coex_table(btcoexist, force_exec, in halbtc8723b1ant_coex_table_with_type()
576 halbtc8723b1ant_coex_table(btcoexist, force_exec, in halbtc8723b1ant_coex_table_with_type()
581 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x5a5a5a5a, in halbtc8723b1ant_coex_table_with_type()
585 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55555555, in halbtc8723b1ant_coex_table_with_type()
589 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0xaaaaaaaa, in halbtc8723b1ant_coex_table_with_type()
593 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55dd55dd, in halbtc8723b1ant_coex_table_with_type()
597 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55dd55dd, in halbtc8723b1ant_coex_table_with_type()
601 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55dd55dd, in halbtc8723b1ant_coex_table_with_type()
605 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55dd55dd, in halbtc8723b1ant_coex_table_with_type()
609 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55dd55dd, in halbtc8723b1ant_coex_table_with_type()
613 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x5fff5fff, in halbtc8723b1ant_coex_table_with_type()
617 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x5fff5fff, in halbtc8723b1ant_coex_table_with_type()
621 halbtc8723b1ant_coex_table(btcoexist, force_exec, 0x55dd55dd, in halbtc8723b1ant_coex_table_with_type()
630 halbtc8723b1ant_set_fw_ignore_wlan_act(struct btc_coexist *btcoexist, in halbtc8723b1ant_set_fw_ignore_wlan_act() argument
633 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_set_fw_ignore_wlan_act()
643 btcoexist->btc_fill_h2c(btcoexist, 0x63, 1, h2c_parameter); in halbtc8723b1ant_set_fw_ignore_wlan_act()
646 static void halbtc8723b1ant_ignore_wlan_act(struct btc_coexist *btcoexist, in halbtc8723b1ant_ignore_wlan_act() argument
649 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_ignore_wlan_act()
666 halbtc8723b1ant_set_fw_ignore_wlan_act(btcoexist, enable); in halbtc8723b1ant_ignore_wlan_act()
671 static void halbtc8723b1ant_set_fw_ps_tdma(struct btc_coexist *btcoexist, in halbtc8723b1ant_set_fw_ps_tdma() argument
675 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_set_fw_ps_tdma()
680 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE, in halbtc8723b1ant_set_fw_ps_tdma()
715 btcoexist->btc_fill_h2c(btcoexist, 0x60, 5, h2c_parameter); in halbtc8723b1ant_set_fw_ps_tdma()
718 static void halbtc8723b1ant_set_lps_rpwm(struct btc_coexist *btcoexist, in halbtc8723b1ant_set_lps_rpwm() argument
724 btcoexist->btc_set(btcoexist, BTC_SET_U1_LPS_VAL, &lps); in halbtc8723b1ant_set_lps_rpwm()
725 btcoexist->btc_set(btcoexist, BTC_SET_U1_RPWM_VAL, &rpwm); in halbtc8723b1ant_set_lps_rpwm()
728 static void halbtc8723b1ant_lps_rpwm(struct btc_coexist *btcoexist, in halbtc8723b1ant_lps_rpwm() argument
732 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_lps_rpwm()
754 halbtc8723b1ant_set_lps_rpwm(btcoexist, lps_val, rpwm_val); in halbtc8723b1ant_lps_rpwm()
760 static void halbtc8723b1ant_sw_mechanism(struct btc_coexist *btcoexist, in halbtc8723b1ant_sw_mechanism() argument
763 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_sw_mechanism()
768 halbtc8723b1ant_low_penalty_ra(btcoexist, NORMAL_EXEC, low_penalty_ra); in halbtc8723b1ant_sw_mechanism()
771 static void halbtc8723b1ant_set_ant_path(struct btc_coexist *btcoexist, in halbtc8723b1ant_set_ant_path() argument
775 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_set_ant_path()
776 struct btc_board_info *board_info = &btcoexist->board_info; in halbtc8723b1ant_set_ant_path()
785 btcoexist->btc_get(btcoexist, BTC_GET_BL_EXT_SWITCH, &pg_ext_switch); in halbtc8723b1ant_set_ant_path()
787 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); in halbtc8723b1ant_set_ant_path()
794 btcoexist->btc_set_rf_reg(btcoexist, BTC_RF_A, 0x1, 0xfffff, in halbtc8723b1ant_set_ant_path()
803 btcoexist->btc_fill_h2c(btcoexist, 0x6E, 1, in halbtc8723b1ant_set_ant_path()
807 btcoexist->btc_write_1byte(btcoexist, 0x765, 0x18); in halbtc8723b1ant_set_ant_path()
810 btcoexist->btc_write_1byte(btcoexist, 0x76e, 0x4); in halbtc8723b1ant_set_ant_path()
813 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x67, 0x20, 0x0); in halbtc8723b1ant_set_ant_path()
814 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x39, 0x8, 0x1); in halbtc8723b1ant_set_ant_path()
815 btcoexist->btc_write_1byte(btcoexist, 0x974, 0xff); in halbtc8723b1ant_set_ant_path()
816 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x944, 0x3, 0x3); in halbtc8723b1ant_set_ant_path()
817 btcoexist->btc_write_1byte(btcoexist, 0x930, 0x77); in halbtc8723b1ant_set_ant_path()
822 btcoexist->btc_fill_h2c(btcoexist, 0x6E, 1, in halbtc8723b1ant_set_ant_path()
826 btcoexist->btc_write_1byte(btcoexist, 0x765, 0x18); in halbtc8723b1ant_set_ant_path()
829 btcoexist->btc_write_1byte(btcoexist, 0x76e, 0x4); in halbtc8723b1ant_set_ant_path()
831 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_IS_IN_MP_MODE, in halbtc8723b1ant_set_ant_path()
835 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x67, in halbtc8723b1ant_set_ant_path()
839 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x67, in halbtc8723b1ant_set_ant_path()
845 u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x4c); in halbtc8723b1ant_set_ant_path()
848 btcoexist->btc_write_4byte(btcoexist, 0x4c, u32tmp); in halbtc8723b1ant_set_ant_path()
852 if (btcoexist->btc_read_1byte(btcoexist, 0x765) != 0) { in halbtc8723b1ant_set_ant_path()
854 btcoexist->btc_fill_h2c(btcoexist, 0x6E, 1, in halbtc8723b1ant_set_ant_path()
860 u8tmp = btcoexist->btc_read_1byte(btcoexist, in halbtc8723b1ant_set_ant_path()
879 btcoexist->btc_write_1byte(btcoexist, 0x765, 0x0); in halbtc8723b1ant_set_ant_path()
882 if (btcoexist->btc_read_1byte(btcoexist, 0x76e) != 0xc) { in halbtc8723b1ant_set_ant_path()
884 btcoexist->btc_write_1byte(btcoexist, 0x76e, 0xc); in halbtc8723b1ant_set_ant_path()
887 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
888 btcoexist, 0x67, 0x20, in halbtc8723b1ant_set_ant_path()
897 u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x4c); in halbtc8723b1ant_set_ant_path()
900 btcoexist->btc_write_4byte(btcoexist, 0x4c, u32tmp); in halbtc8723b1ant_set_ant_path()
903 btcoexist->btc_write_4byte(btcoexist, 0x948, 0x0); in halbtc8723b1ant_set_ant_path()
911 btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, in halbtc8723b1ant_set_ant_path()
918 btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, in halbtc8723b1ant_set_ant_path()
930 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
931 btcoexist, 0x92c, 0x3, 0x1); in halbtc8723b1ant_set_ant_path()
933 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
934 btcoexist, 0x92c, 0x3, 0x2); in halbtc8723b1ant_set_ant_path()
939 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
940 btcoexist, 0x92c, 0x3, 0x2); in halbtc8723b1ant_set_ant_path()
942 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
943 btcoexist, 0x92c, 0x3, 0x1); in halbtc8723b1ant_set_ant_path()
949 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
950 btcoexist, 0x92c, 0x3, 0x1); in halbtc8723b1ant_set_ant_path()
952 btcoexist->btc_write_1byte_bitmask( in halbtc8723b1ant_set_ant_path()
953 btcoexist, 0x92c, 0x3, 0x2); in halbtc8723b1ant_set_ant_path()
962 u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x4c); in halbtc8723b1ant_set_ant_path()
965 btcoexist->btc_write_4byte(btcoexist, 0x4c, u32tmp); in halbtc8723b1ant_set_ant_path()
968 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x64, 0x1, in halbtc8723b1ant_set_ant_path()
977 btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, in halbtc8723b1ant_set_ant_path()
984 btcoexist->btc_fill_h2c(btcoexist, 0x65, 2, in halbtc8723b1ant_set_ant_path()
996 btcoexist->btc_write_4byte(btcoexist, in halbtc8723b1ant_set_ant_path()
999 btcoexist->btc_write_4byte(btcoexist, in halbtc8723b1ant_set_ant_path()
1005 btcoexist->btc_write_4byte(btcoexist, in halbtc8723b1ant_set_ant_path()
1008 btcoexist->btc_write_4byte(btcoexist, in halbtc8723b1ant_set_ant_path()
1015 btcoexist->btc_write_4byte(btcoexist, in halbtc8723b1ant_set_ant_path()
1018 btcoexist->btc_write_4byte(btcoexist, in halbtc8723b1ant_set_ant_path()
1028 static void halbtc8723b1ant_ps_tdma(struct btc_coexist *btcoexist, in halbtc8723b1ant_ps_tdma() argument
1031 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in halbtc8723b1ant_ps_tdma()
1043 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in halbtc8723b1ant_ps_tdma()
1138 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x51, 0x1a, in halbtc8723b1ant_ps_tdma()
1144 btcoexist, ps_tdma_byte0_val, in halbtc8723b1ant_ps_tdma()
1152 btcoexist, ps_tdma_byte0_val, in halbtc8723b1ant_ps_tdma()
1158 btcoexist, ps_tdma_byte0_val, 0x30, 0x03, in halbtc8723b1ant_ps_tdma()
1162 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x93, 0x15, in halbtc8723b1ant_ps_tdma()
1167 btcoexist, ps_tdma_byte0_val, 0x1f, 0x3, in halbtc8723b1ant_ps_tdma()
1172 btcoexist, ps_tdma_byte0_val, 0x20, 0x3, in halbtc8723b1ant_ps_tdma()
1176 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x13, 0xc, in halbtc8723b1ant_ps_tdma()
1180 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x93, 0x25, in halbtc8723b1ant_ps_tdma()
1185 btcoexist, ps_tdma_byte0_val, 0x21, 0x3, in halbtc8723b1ant_ps_tdma()
1189 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x13, 0xa, in halbtc8723b1ant_ps_tdma()
1194 btcoexist, ps_tdma_byte0_val, 0x21, 0x03, in halbtc8723b1ant_ps_tdma()
1198 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x51, 0x0a, in halbtc8723b1ant_ps_tdma()
1204 btcoexist, ps_tdma_byte0_val, 0x40, 0x3, in halbtc8723b1ant_ps_tdma()
1208 btcoexist, ps_tdma_byte0_val, 0x21, 0x3, in halbtc8723b1ant_ps_tdma()
1214 btcoexist, 0x51, 0x30, 0x3, 0x10, 0x50); in halbtc8723b1ant_ps_tdma()
1217 btcoexist, ps_tdma_byte0_val, 0x21, 0x3, in halbtc8723b1ant_ps_tdma()
1221 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x13, 0xa, in halbtc8723b1ant_ps_tdma()
1225 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x93, 0x15, in halbtc8723b1ant_ps_tdma()
1229 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x93, 0x25, in halbtc8723b1ant_ps_tdma()
1234 btcoexist, ps_tdma_byte0_val, 0x3f, 0x03, in halbtc8723b1ant_ps_tdma()
1238 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x61, 0x25, in halbtc8723b1ant_ps_tdma()
1243 btcoexist, ps_tdma_byte0_val, 0x25, 0x03, in halbtc8723b1ant_ps_tdma()
1247 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xe3, 0x25, in halbtc8723b1ant_ps_tdma()
1251 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xe3, 0x15, in halbtc8723b1ant_ps_tdma()
1255 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xe3, 0xa, in halbtc8723b1ant_ps_tdma()
1259 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xe3, 0xa, in halbtc8723b1ant_ps_tdma()
1263 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xe3, 0x25, in halbtc8723b1ant_ps_tdma()
1267 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x69, 0x25, in halbtc8723b1ant_ps_tdma()
1271 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xab, 0x1a, in halbtc8723b1ant_ps_tdma()
1275 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x51, 0x30, in halbtc8723b1ant_ps_tdma()
1279 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xd3, 0x1a, in halbtc8723b1ant_ps_tdma()
1284 btcoexist, ps_tdma_byte0_val, 0x35, 0x3, in halbtc8723b1ant_ps_tdma()
1289 btcoexist, ps_tdma_byte0_val, 0x35, 0x3, in halbtc8723b1ant_ps_tdma()
1293 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x53, 0x1a, in halbtc8723b1ant_ps_tdma()
1297 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x63, 0x1a, in halbtc8723b1ant_ps_tdma()
1301 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0xd3, 0x12, in halbtc8723b1ant_ps_tdma()
1311 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x23, 0x18, in halbtc8723b1ant_ps_tdma()
1318 btcoexist, ps_tdma_byte0_val, in halbtc8723b1ant_ps_tdma()
1324 btcoexist, ps_tdma_byte0_val, in halbtc8723b1ant_ps_tdma()
1330 btcoexist, ps_tdma_byte0_val, 0x3a, 0x03, in halbtc8723b1ant_ps_tdma()
1335 btcoexist, ps_tdma_byte0_val, 0x15, 0x3, in halbtc8723b1ant_ps_tdma()
1340 btcoexist, ps_tdma_byte0_val, 0x20, 0x3, in halbtc8723b1ant_ps_tdma()
1345 btcoexist, ps_tdma_byte0_val, 0x21, 0x3, in halbtc8723b1ant_ps_tdma()
1350 btcoexist, ps_tdma_byte0_val, 0x21, 0x03, in halbtc8723b1ant_ps_tdma()
1355 btcoexist, ps_tdma_byte0_val, 0x21, 0x3, in halbtc8723b1ant_ps_tdma()
1360 btcoexist, ps_tdma_byte0_val, 0x21, 0x3, in halbtc8723b1ant_ps_tdma()
1365 btcoexist, ps_tdma_byte0_val, 0x3f, 0x03, in halbtc8723b1ant_ps_tdma()
1370 btcoexist, ps_tdma_byte0_val, 0x25, 0x03, in halbtc8723b1ant_ps_tdma()
1375 btcoexist, ps_tdma_byte0_val, 0x25, 0x03, in halbtc8723b1ant_ps_tdma()
1380 btcoexist, ps_tdma_byte0_val, 0x25, 0x03, in halbtc8723b1ant_ps_tdma()
1388 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x8, 0x0, in halbtc8723b1ant_ps_tdma()
1390 halbtc8723b1ant_set_ant_path(btcoexist, in halbtc8723b1ant_ps_tdma()
1398 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x0, 0x0, in halbtc8723b1ant_ps_tdma()
1402 halbtc8723b1ant_set_fw_ps_tdma(btcoexist, 0x0, 0x0, 0x0, in halbtc8723b1ant_ps_tdma()
1408 btcoexist->btc_set(btcoexist, in halbtc8723b1ant_ps_tdma()
1418 void btc8723b1ant_tdma_dur_adj_for_acl(struct btc_coexist *btcoexist, in btc8723b1ant_tdma_dur_adj_for_acl() argument
1421 struct rtl_priv *rtlpriv = btcoexist->adapter; in btc8723b1ant_tdma_dur_adj_for_acl()
1438 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1457 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 2); in btc8723b1ant_tdma_dur_adj_for_acl()
1557 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1561 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1565 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1571 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1575 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1579 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_tdma_dur_adj_for_acl()
1588 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, in btc8723b1ant_tdma_dur_adj_for_acl()
1594 static void halbtc8723b1ant_ps_tdma_chk_pwr_save(struct btc_coexist *btcoexist, in halbtc8723b1ant_ps_tdma_chk_pwr_save() argument
1599 btcoexist->btc_get(btcoexist, BTC_GET_U1_LPS_MODE, &lps_mode); in halbtc8723b1ant_ps_tdma_chk_pwr_save()
1607 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in halbtc8723b1ant_ps_tdma_chk_pwr_save()
1614 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in halbtc8723b1ant_ps_tdma_chk_pwr_save()
1622 static void halbtc8723b1ant_power_save_state(struct btc_coexist *btcoexist, in halbtc8723b1ant_power_save_state() argument
1632 btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER, in halbtc8723b1ant_power_save_state()
1634 btcoexist->btc_set(btcoexist, BTC_SET_ACT_NORMAL_LPS, NULL); in halbtc8723b1ant_power_save_state()
1638 halbtc8723b1ant_ps_tdma_chk_pwr_save(btcoexist, true); in halbtc8723b1ant_power_save_state()
1639 halbtc8723b1ant_lps_rpwm(btcoexist, NORMAL_EXEC, lps_val, in halbtc8723b1ant_power_save_state()
1643 btcoexist->btc_set(btcoexist, BTC_SET_ACT_DISABLE_LOW_POWER, in halbtc8723b1ant_power_save_state()
1646 btcoexist->btc_set(btcoexist, BTC_SET_ACT_ENTER_LPS, NULL); in halbtc8723b1ant_power_save_state()
1650 halbtc8723b1ant_ps_tdma_chk_pwr_save(btcoexist, false); in halbtc8723b1ant_power_save_state()
1651 btcoexist->btc_set(btcoexist, BTC_SET_ACT_LEAVE_LPS, NULL); in halbtc8723b1ant_power_save_state()
1659 static void halbtc8723b1ant_action_wifi_only(struct btc_coexist *btcoexist) in halbtc8723b1ant_action_wifi_only() argument
1661 halbtc8723b1ant_coex_table_with_type(btcoexist, FORCE_EXEC, 0); in halbtc8723b1ant_action_wifi_only()
1662 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 8); in halbtc8723b1ant_action_wifi_only()
1663 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in halbtc8723b1ant_action_wifi_only()
1669 *btcoexist) in halbtc8723b1ant_monitor_bt_enable_disable() argument
1671 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_monitor_bt_enable_disable()
1699 btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_DISABLE, in halbtc8723b1ant_monitor_bt_enable_disable()
1702 halbtc8723b1ant_action_wifi_only(btcoexist); in halbtc8723b1ant_monitor_bt_enable_disable()
1703 btcoexist->btc_set(btcoexist, BTC_SET_ACT_LEAVE_LPS, in halbtc8723b1ant_monitor_bt_enable_disable()
1705 btcoexist->btc_set(btcoexist, BTC_SET_ACT_NORMAL_LPS, in halbtc8723b1ant_monitor_bt_enable_disable()
1717 static void halbtc8723b1ant_action_bt_whck_test(struct btc_coexist *btcoexist) in halbtc8723b1ant_action_bt_whck_test() argument
1719 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, 0x0, in halbtc8723b1ant_action_bt_whck_test()
1722 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in halbtc8723b1ant_action_bt_whck_test()
1723 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, NORMAL_EXEC, in halbtc8723b1ant_action_bt_whck_test()
1725 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 0); in halbtc8723b1ant_action_bt_whck_test()
1728 static void halbtc8723b1ant_action_wifi_multiport(struct btc_coexist *btcoexist) in halbtc8723b1ant_action_wifi_multiport() argument
1730 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_wifi_multiport()
1733 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in halbtc8723b1ant_action_wifi_multiport()
1734 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, NORMAL_EXEC, in halbtc8723b1ant_action_wifi_multiport()
1736 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); in halbtc8723b1ant_action_wifi_multiport()
1739 static void halbtc8723b1ant_action_hs(struct btc_coexist *btcoexist) in halbtc8723b1ant_action_hs() argument
1741 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 5); in halbtc8723b1ant_action_hs()
1742 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); in halbtc8723b1ant_action_hs()
1745 static void halbtc8723b1ant_action_bt_inquiry(struct btc_coexist *btcoexist) in halbtc8723b1ant_action_bt_inquiry() argument
1747 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in halbtc8723b1ant_action_bt_inquiry()
1751 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE, in halbtc8723b1ant_action_bt_inquiry()
1753 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in halbtc8723b1ant_action_bt_inquiry()
1755 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in halbtc8723b1ant_action_bt_inquiry()
1756 btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_TRAFFIC_BUSY, &bt_busy); in halbtc8723b1ant_action_bt_inquiry()
1759 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 33); in halbtc8723b1ant_action_bt_inquiry()
1760 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 7); in halbtc8723b1ant_action_bt_inquiry()
1762 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_bt_inquiry()
1764 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in halbtc8723b1ant_action_bt_inquiry()
1765 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in halbtc8723b1ant_action_bt_inquiry()
1767 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 0); in halbtc8723b1ant_action_bt_inquiry()
1771 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_bt_inquiry()
1774 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, in halbtc8723b1ant_action_bt_inquiry()
1777 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, in halbtc8723b1ant_action_bt_inquiry()
1780 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_bt_inquiry()
1782 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_bt_inquiry()
1785 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, in halbtc8723b1ant_action_bt_inquiry()
1788 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, in halbtc8723b1ant_action_bt_inquiry()
1791 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_bt_inquiry()
1793 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_bt_inquiry()
1795 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in halbtc8723b1ant_action_bt_inquiry()
1796 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in halbtc8723b1ant_action_bt_inquiry()
1798 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 7); in halbtc8723b1ant_action_bt_inquiry()
1802 static void btc8723b1ant_act_bt_sco_hid_only_busy(struct btc_coexist *btcoexist, in btc8723b1ant_act_bt_sco_hid_only_busy() argument
1805 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in btc8723b1ant_act_bt_sco_hid_only_busy()
1808 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in btc8723b1ant_act_bt_sco_hid_only_busy()
1813 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 5); in btc8723b1ant_act_bt_sco_hid_only_busy()
1814 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 5); in btc8723b1ant_act_bt_sco_hid_only_busy()
1817 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 6); in btc8723b1ant_act_bt_sco_hid_only_busy()
1818 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 5); in btc8723b1ant_act_bt_sco_hid_only_busy()
1823 struct btc_coexist *btcoexist, in halbtc8723b1ant_action_wifi_connected_bt_acl_busy() argument
1826 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1834 btc8723b1ant_act_bt_sco_hid_only_busy(btcoexist, wifi_status); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1839 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1841 halbtc8723b1ant_coex_table_with_type(btcoexist, in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1845 btc8723b1ant_tdma_dur_adj_for_acl(btcoexist, in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1847 halbtc8723b1ant_coex_table_with_type(btcoexist, in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1855 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 13); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1856 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1860 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 14); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1863 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1867 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 3); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1868 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1872 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 33); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1873 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_wifi_connected_bt_acl_busy()
1878 static void btc8723b1ant_action_wifi_not_conn(struct btc_coexist *btcoexist) in btc8723b1ant_action_wifi_not_conn() argument
1881 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in btc8723b1ant_action_wifi_not_conn()
1885 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 8); in btc8723b1ant_action_wifi_not_conn()
1886 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, NORMAL_EXEC, in btc8723b1ant_action_wifi_not_conn()
1888 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 0); in btc8723b1ant_action_wifi_not_conn()
1892 btc8723b1ant_action_wifi_not_conn_scan(struct btc_coexist *btcoexist) in btc8723b1ant_action_wifi_not_conn_scan() argument
1894 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in btc8723b1ant_action_wifi_not_conn_scan()
1896 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in btc8723b1ant_action_wifi_not_conn_scan()
1902 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_action_wifi_not_conn_scan()
1904 halbtc8723b1ant_coex_table_with_type(btcoexist, in btc8723b1ant_action_wifi_not_conn_scan()
1907 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_action_wifi_not_conn_scan()
1909 halbtc8723b1ant_coex_table_with_type(btcoexist, in btc8723b1ant_action_wifi_not_conn_scan()
1912 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_action_wifi_not_conn_scan()
1914 halbtc8723b1ant_coex_table_with_type(btcoexist, in btc8723b1ant_action_wifi_not_conn_scan()
1919 btc8723b1ant_act_bt_sco_hid_only_busy(btcoexist, in btc8723b1ant_action_wifi_not_conn_scan()
1922 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in btc8723b1ant_action_wifi_not_conn_scan()
1923 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in btc8723b1ant_action_wifi_not_conn_scan()
1925 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); in btc8723b1ant_action_wifi_not_conn_scan()
1930 btc8723b1ant_act_wifi_not_conn_asso_auth(struct btc_coexist *btcoexist) in btc8723b1ant_act_wifi_not_conn_asso_auth() argument
1932 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in btc8723b1ant_act_wifi_not_conn_asso_auth()
1934 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in btc8723b1ant_act_wifi_not_conn_asso_auth()
1940 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 32); in btc8723b1ant_act_wifi_not_conn_asso_auth()
1941 halbtc8723b1ant_coex_table_with_type(btcoexist, FORCE_EXEC, 4); in btc8723b1ant_act_wifi_not_conn_asso_auth()
1943 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 20); in btc8723b1ant_act_wifi_not_conn_asso_auth()
1944 halbtc8723b1ant_coex_table_with_type(btcoexist, FORCE_EXEC, 4); in btc8723b1ant_act_wifi_not_conn_asso_auth()
1946 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in btc8723b1ant_act_wifi_not_conn_asso_auth()
1947 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in btc8723b1ant_act_wifi_not_conn_asso_auth()
1949 halbtc8723b1ant_coex_table_with_type(btcoexist, FORCE_EXEC, 2); in btc8723b1ant_act_wifi_not_conn_asso_auth()
1953 static void btc8723b1ant_action_wifi_conn_scan(struct btc_coexist *btcoexist) in btc8723b1ant_action_wifi_conn_scan() argument
1955 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in btc8723b1ant_action_wifi_conn_scan()
1957 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in btc8723b1ant_action_wifi_conn_scan()
1963 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_action_wifi_conn_scan()
1965 halbtc8723b1ant_coex_table_with_type(btcoexist, in btc8723b1ant_action_wifi_conn_scan()
1969 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_action_wifi_conn_scan()
1971 halbtc8723b1ant_coex_table_with_type(btcoexist, in btc8723b1ant_action_wifi_conn_scan()
1974 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in btc8723b1ant_action_wifi_conn_scan()
1976 halbtc8723b1ant_coex_table_with_type(btcoexist, in btc8723b1ant_action_wifi_conn_scan()
1981 btc8723b1ant_act_bt_sco_hid_only_busy(btcoexist, in btc8723b1ant_action_wifi_conn_scan()
1984 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in btc8723b1ant_action_wifi_conn_scan()
1985 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in btc8723b1ant_action_wifi_conn_scan()
1987 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); in btc8723b1ant_action_wifi_conn_scan()
1992 struct btc_coexist *btcoexist) in halbtc8723b1ant_action_wifi_connected_special_packet() argument
1994 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in halbtc8723b1ant_action_wifi_connected_special_packet()
1997 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in halbtc8723b1ant_action_wifi_connected_special_packet()
2004 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_wifi_connected_special_packet()
2009 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 32); in halbtc8723b1ant_action_wifi_connected_special_packet()
2010 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 5); in halbtc8723b1ant_action_wifi_connected_special_packet()
2012 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 32); in halbtc8723b1ant_action_wifi_connected_special_packet()
2013 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_wifi_connected_special_packet()
2015 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, true, 20); in halbtc8723b1ant_action_wifi_connected_special_packet()
2016 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 4); in halbtc8723b1ant_action_wifi_connected_special_packet()
2018 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 8); in halbtc8723b1ant_action_wifi_connected_special_packet()
2019 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in halbtc8723b1ant_action_wifi_connected_special_packet()
2021 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); in halbtc8723b1ant_action_wifi_connected_special_packet()
2025 static void halbtc8723b1ant_action_wifi_connected(struct btc_coexist *btcoexist) in halbtc8723b1ant_action_wifi_connected() argument
2027 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_action_wifi_connected()
2035 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, in halbtc8723b1ant_action_wifi_connected()
2038 halbtc8723b1ant_action_wifi_connected_special_packet(btcoexist); in halbtc8723b1ant_action_wifi_connected()
2044 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); in halbtc8723b1ant_action_wifi_connected()
2045 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); in halbtc8723b1ant_action_wifi_connected()
2046 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_ROAM, &roam); in halbtc8723b1ant_action_wifi_connected()
2050 btc8723b1ant_action_wifi_conn_scan(btcoexist); in halbtc8723b1ant_action_wifi_connected()
2053 btcoexist); in halbtc8723b1ant_action_wifi_connected()
2059 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_AP_MODE_ENABLE, in halbtc8723b1ant_action_wifi_connected()
2061 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in halbtc8723b1ant_action_wifi_connected()
2065 !btcoexist->bt_link_info.hid_only) { in halbtc8723b1ant_action_wifi_connected()
2066 if (btcoexist->bt_link_info.a2dp_only) { in halbtc8723b1ant_action_wifi_connected()
2068 halbtc8723b1ant_power_save_state(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2078 btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_wifi_connected()
2082 btcoexist, BTC_PS_LPS_ON, 0x50, in halbtc8723b1ant_action_wifi_connected()
2088 btcoexist, BTC_PS_WIFI_NATIVE, 0x0, 0x0); in halbtc8723b1ant_action_wifi_connected()
2090 halbtc8723b1ant_power_save_state(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2094 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in halbtc8723b1ant_action_wifi_connected()
2101 btcoexist, in halbtc8723b1ant_action_wifi_connected()
2107 btc8723b1ant_act_bt_sco_hid_only_busy(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2110 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in halbtc8723b1ant_action_wifi_connected()
2112 halbtc8723b1ant_set_ant_path(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2115 halbtc8723b1ant_coex_table_with_type(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2121 btcoexist, in halbtc8723b1ant_action_wifi_connected()
2127 btc8723b1ant_act_bt_sco_hid_only_busy(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2130 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, in halbtc8723b1ant_action_wifi_connected()
2132 halbtc8723b1ant_set_ant_path(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2135 halbtc8723b1ant_coex_table_with_type(btcoexist, in halbtc8723b1ant_action_wifi_connected()
2141 static void halbtc8723b1ant_run_coexist_mechanism(struct btc_coexist *btcoexist) in halbtc8723b1ant_run_coexist_mechanism() argument
2143 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_run_coexist_mechanism()
2144 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in halbtc8723b1ant_run_coexist_mechanism()
2158 if (btcoexist->manual_control) { in halbtc8723b1ant_run_coexist_mechanism()
2164 if (btcoexist->stop_coex_dm) { in halbtc8723b1ant_run_coexist_mechanism()
2179 halbtc8723b1ant_action_bt_whck_test(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2188 btcoexist->btc_set(btcoexist, BTC_SET_BL_INC_SCAN_DEV_NUM, in halbtc8723b1ant_run_coexist_mechanism()
2190 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in halbtc8723b1ant_run_coexist_mechanism()
2192 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in halbtc8723b1ant_run_coexist_mechanism()
2194 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_LINK_STATUS, in halbtc8723b1ant_run_coexist_mechanism()
2201 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 1, 1, in halbtc8723b1ant_run_coexist_mechanism()
2205 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 0, 0, in halbtc8723b1ant_run_coexist_mechanism()
2209 btcoexist->btc_set(btcoexist, BTC_SET_BL_MIRACAST_PLUS_BT, in halbtc8723b1ant_run_coexist_mechanism()
2211 halbtc8723b1ant_limited_rx(btcoexist, NORMAL_EXEC, false, in halbtc8723b1ant_run_coexist_mechanism()
2216 halbtc8723b1ant_action_bt_inquiry(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2218 halbtc8723b1ant_action_wifi_multiport(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2224 btcoexist->btc_set(btcoexist, BTC_SET_BL_MIRACAST_PLUS_BT, in halbtc8723b1ant_run_coexist_mechanism()
2226 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_BW, &wifi_bw); in halbtc8723b1ant_run_coexist_mechanism()
2229 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 1, 1, 0, 1); in halbtc8723b1ant_run_coexist_mechanism()
2231 btcoexist->btc_get(btcoexist, BTC_GET_U1_IOT_PEER, &iot_peer); in halbtc8723b1ant_run_coexist_mechanism()
2237 halbtc8723b1ant_limited_rx(btcoexist, in halbtc8723b1ant_run_coexist_mechanism()
2242 halbtc8723b1ant_limited_rx(btcoexist, in halbtc8723b1ant_run_coexist_mechanism()
2248 btcoexist, NORMAL_EXEC, false, in halbtc8723b1ant_run_coexist_mechanism()
2252 btcoexist, NORMAL_EXEC, false, in halbtc8723b1ant_run_coexist_mechanism()
2257 halbtc8723b1ant_sw_mechanism(btcoexist, true); in halbtc8723b1ant_run_coexist_mechanism()
2259 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 0, 0, 0, 0); in halbtc8723b1ant_run_coexist_mechanism()
2261 halbtc8723b1ant_limited_rx(btcoexist, NORMAL_EXEC, false, false, in halbtc8723b1ant_run_coexist_mechanism()
2264 halbtc8723b1ant_sw_mechanism(btcoexist, false); in halbtc8723b1ant_run_coexist_mechanism()
2266 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in halbtc8723b1ant_run_coexist_mechanism()
2269 halbtc8723b1ant_action_bt_inquiry(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2272 halbtc8723b1ant_action_hs(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2282 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); in halbtc8723b1ant_run_coexist_mechanism()
2283 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); in halbtc8723b1ant_run_coexist_mechanism()
2284 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_ROAM, &roam); in halbtc8723b1ant_run_coexist_mechanism()
2289 btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2292 btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2294 btc8723b1ant_action_wifi_not_conn(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2297 halbtc8723b1ant_action_wifi_connected(btcoexist); in halbtc8723b1ant_run_coexist_mechanism()
2302 static void halbtc8723b1ant_init_coex_dm(struct btc_coexist *btcoexist) in halbtc8723b1ant_init_coex_dm() argument
2305 halbtc8723b1ant_sw_mechanism(btcoexist, false); in halbtc8723b1ant_init_coex_dm()
2310 static void halbtc8723b1ant_init_hw_config(struct btc_coexist *btcoexist, in halbtc8723b1ant_init_hw_config() argument
2313 struct rtl_priv *rtlpriv = btcoexist->adapter; in halbtc8723b1ant_init_hw_config()
2322 (btcoexist->btc_read_1byte(btcoexist, 0xf1) & 0xf0) >> 4; in halbtc8723b1ant_init_hw_config()
2324 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x550, 0x8, 0x1); in halbtc8723b1ant_init_hw_config()
2327 btcoexist->btc_write_1byte(btcoexist, 0x790, 0x5); in halbtc8723b1ant_init_hw_config()
2330 btcoexist->btc_write_1byte(btcoexist, 0x778, 0x1); in halbtc8723b1ant_init_hw_config()
2331 btcoexist->btc_write_1byte_bitmask(btcoexist, 0x40, 0x20, 0x1); in halbtc8723b1ant_init_hw_config()
2333 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 8); in halbtc8723b1ant_init_hw_config()
2337 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_WIFI, in halbtc8723b1ant_init_hw_config()
2340 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_BT, in halbtc8723b1ant_init_hw_config()
2344 halbtc8723b1ant_coex_table_with_type(btcoexist, FORCE_EXEC, 0); in halbtc8723b1ant_init_hw_config()
2346 u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x948); in halbtc8723b1ant_init_hw_config()
2347 u8tmpa = btcoexist->btc_read_1byte(btcoexist, 0x765); in halbtc8723b1ant_init_hw_config()
2348 u8tmpb = btcoexist->btc_read_1byte(btcoexist, 0x67); in halbtc8723b1ant_init_hw_config()
2358 void ex_btc8723b1ant_power_on_setting(struct btc_coexist *btcoexist) in ex_btc8723b1ant_power_on_setting() argument
2360 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_power_on_setting()
2361 struct btc_board_info *board_info = &btcoexist->board_info; in ex_btc8723b1ant_power_on_setting()
2369 btcoexist->stop_coex_dm = true; in ex_btc8723b1ant_power_on_setting()
2371 btcoexist->btc_write_1byte(btcoexist, 0x67, 0x20); in ex_btc8723b1ant_power_on_setting()
2374 u16tmp = btcoexist->btc_read_2byte(btcoexist, 0x2); in ex_btc8723b1ant_power_on_setting()
2375 btcoexist->btc_write_2byte(btcoexist, 0x2, u16tmp | BIT0 | BIT1); in ex_btc8723b1ant_power_on_setting()
2378 btcoexist->btc_write_1byte(btcoexist, 0x765, 0x18); in ex_btc8723b1ant_power_on_setting()
2380 btcoexist->btc_write_1byte(btcoexist, 0x76e, 0x4); in ex_btc8723b1ant_power_on_setting()
2392 if (btcoexist->chip_interface == BTC_INTF_USB) { in ex_btc8723b1ant_power_on_setting()
2394 btcoexist->btc_write_4byte(btcoexist, 0x948, 0x0); in ex_btc8723b1ant_power_on_setting()
2397 btcoexist->btc_write_local_reg_1byte(btcoexist, 0xfe08, u8tmp); in ex_btc8723b1ant_power_on_setting()
2404 btcoexist->btc_write_4byte(btcoexist, 0x948, 0x280); in ex_btc8723b1ant_power_on_setting()
2409 btcoexist->btc_write_4byte(btcoexist, 0x948, 0x0); in ex_btc8723b1ant_power_on_setting()
2415 btcoexist->btc_set(btcoexist, BTC_SET_ACT_ANTPOSREGRISTRY_CTRL, in ex_btc8723b1ant_power_on_setting()
2418 if (btcoexist->chip_interface == BTC_INTF_PCI) in ex_btc8723b1ant_power_on_setting()
2419 btcoexist->btc_write_local_reg_1byte(btcoexist, 0x384, in ex_btc8723b1ant_power_on_setting()
2421 else if (btcoexist->chip_interface == BTC_INTF_SDIO) in ex_btc8723b1ant_power_on_setting()
2422 btcoexist->btc_write_local_reg_1byte(btcoexist, 0x60, in ex_btc8723b1ant_power_on_setting()
2428 void ex_btc8723b1ant_init_hwconfig(struct btc_coexist *btcoexist, in ex_btc8723b1ant_init_hwconfig() argument
2431 halbtc8723b1ant_init_hw_config(btcoexist, true, wifi_only); in ex_btc8723b1ant_init_hwconfig()
2432 btcoexist->stop_coex_dm = false; in ex_btc8723b1ant_init_hwconfig()
2435 void ex_btc8723b1ant_init_coex_dm(struct btc_coexist *btcoexist) in ex_btc8723b1ant_init_coex_dm() argument
2437 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_init_coex_dm()
2442 btcoexist->stop_coex_dm = false; in ex_btc8723b1ant_init_coex_dm()
2444 halbtc8723b1ant_init_coex_dm(btcoexist); in ex_btc8723b1ant_init_coex_dm()
2446 halbtc8723b1ant_query_bt_info(btcoexist); in ex_btc8723b1ant_init_coex_dm()
2449 void ex_btc8723b1ant_display_coex_info(struct btc_coexist *btcoexist, in ex_btc8723b1ant_display_coex_info() argument
2452 struct btc_board_info *board_info = &btcoexist->board_info; in ex_btc8723b1ant_display_coex_info()
2453 struct btc_stack_info *stack_info = &btcoexist->stack_info; in ex_btc8723b1ant_display_coex_info()
2454 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in ex_btc8723b1ant_display_coex_info()
2468 if (btcoexist->manual_control) { in ex_btc8723b1ant_display_coex_info()
2472 if (btcoexist->stop_coex_dm) { in ex_btc8723b1ant_display_coex_info()
2487 btcoexist->btc_get(btcoexist, BTC_GET_U4_BT_PATCH_VER, &bt_patch_ver); in ex_btc8723b1ant_display_coex_info()
2488 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_FW_VER, &fw_ver); in ex_btc8723b1ant_display_coex_info()
2494 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in ex_btc8723b1ant_display_coex_info()
2495 btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_DOT11_CHNL, in ex_btc8723b1ant_display_coex_info()
2497 btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_HS_CHNL, &wifi_hs_chnl); in ex_btc8723b1ant_display_coex_info()
2506 btcoexist->btc_get(btcoexist, BTC_GET_S4_WIFI_RSSI, &wifi_rssi); in ex_btc8723b1ant_display_coex_info()
2507 btcoexist->btc_get(btcoexist, BTC_GET_S4_HS_RSSI, &bt_hs_rssi); in ex_btc8723b1ant_display_coex_info()
2511 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_SCAN, &scan); in ex_btc8723b1ant_display_coex_info()
2512 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_LINK, &link); in ex_btc8723b1ant_display_coex_info()
2513 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_ROAM, &roam); in ex_btc8723b1ant_display_coex_info()
2517 btcoexist->btc_get(btcoexist , BTC_GET_BL_WIFI_UNDER_5G, in ex_btc8723b1ant_display_coex_info()
2519 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_BW, &wifi_bw); in ex_btc8723b1ant_display_coex_info()
2520 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_BUSY, &wifi_busy); in ex_btc8723b1ant_display_coex_info()
2521 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_TRAFFIC_DIRECTION, in ex_btc8723b1ant_display_coex_info()
2532 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_LINK_STATUS, in ex_btc8723b1ant_display_coex_info()
2558 btcoexist->btc_disp_dbg_msg(btcoexist, BTC_DBG_DISP_BT_LINK_INFO, m); in ex_btc8723b1ant_display_coex_info()
2577 btcoexist->bt_info.lps_val, in ex_btc8723b1ant_display_coex_info()
2578 btcoexist->bt_info.rpwm_val); in ex_btc8723b1ant_display_coex_info()
2579 btcoexist->btc_disp_dbg_msg(btcoexist, BTC_DBG_DISP_FW_PWR_MODE_CMD, m); in ex_btc8723b1ant_display_coex_info()
2581 if (!btcoexist->manual_control) { in ex_btc8723b1ant_display_coex_info()
2591 (btcoexist->bt_info.reject_agg_pkt ? "Yes" : "No"), in ex_btc8723b1ant_display_coex_info()
2592 (btcoexist->bt_info.bt_ctrl_buf_size ? "Yes" : "No"), in ex_btc8723b1ant_display_coex_info()
2593 btcoexist->bt_info.agg_buf_size); in ex_btc8723b1ant_display_coex_info()
2596 "Rate Mask", btcoexist->bt_info.ra_mask); in ex_btc8723b1ant_display_coex_info()
2627 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x430); in ex_btc8723b1ant_display_coex_info()
2628 u32tmp[1] = btcoexist->btc_read_4byte(btcoexist, 0x434); in ex_btc8723b1ant_display_coex_info()
2629 u16tmp[0] = btcoexist->btc_read_2byte(btcoexist, 0x42a); in ex_btc8723b1ant_display_coex_info()
2630 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0x456); in ex_btc8723b1ant_display_coex_info()
2635 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0x778); in ex_btc8723b1ant_display_coex_info()
2636 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x6cc); in ex_btc8723b1ant_display_coex_info()
2637 u32tmp[1] = btcoexist->btc_read_4byte(btcoexist, 0x880); in ex_btc8723b1ant_display_coex_info()
2642 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x948); in ex_btc8723b1ant_display_coex_info()
2643 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0x67); in ex_btc8723b1ant_display_coex_info()
2644 u8tmp[1] = btcoexist->btc_read_1byte(btcoexist, 0x765); in ex_btc8723b1ant_display_coex_info()
2649 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x92c); in ex_btc8723b1ant_display_coex_info()
2650 u32tmp[1] = btcoexist->btc_read_4byte(btcoexist, 0x930); in ex_btc8723b1ant_display_coex_info()
2651 u32tmp[2] = btcoexist->btc_read_4byte(btcoexist, 0x944); in ex_btc8723b1ant_display_coex_info()
2656 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0x39); in ex_btc8723b1ant_display_coex_info()
2657 u8tmp[1] = btcoexist->btc_read_1byte(btcoexist, 0x40); in ex_btc8723b1ant_display_coex_info()
2658 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x4c); in ex_btc8723b1ant_display_coex_info()
2659 u8tmp[2] = btcoexist->btc_read_1byte(btcoexist, 0x64); in ex_btc8723b1ant_display_coex_info()
2665 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x550); in ex_btc8723b1ant_display_coex_info()
2666 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0x522); in ex_btc8723b1ant_display_coex_info()
2670 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0xc50); in ex_btc8723b1ant_display_coex_info()
2671 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0x49c); in ex_btc8723b1ant_display_coex_info()
2675 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0xda0); in ex_btc8723b1ant_display_coex_info()
2676 u32tmp[1] = btcoexist->btc_read_4byte(btcoexist, 0xda4); in ex_btc8723b1ant_display_coex_info()
2677 u32tmp[2] = btcoexist->btc_read_4byte(btcoexist, 0xda8); in ex_btc8723b1ant_display_coex_info()
2678 u32tmp[3] = btcoexist->btc_read_4byte(btcoexist, 0xcf0); in ex_btc8723b1ant_display_coex_info()
2680 u8tmp[0] = btcoexist->btc_read_1byte(btcoexist, 0xa5b); in ex_btc8723b1ant_display_coex_info()
2681 u8tmp[1] = btcoexist->btc_read_1byte(btcoexist, 0xa5c); in ex_btc8723b1ant_display_coex_info()
2695 u32tmp[0] = btcoexist->btc_read_4byte(btcoexist, 0x6c0); in ex_btc8723b1ant_display_coex_info()
2696 u32tmp[1] = btcoexist->btc_read_4byte(btcoexist, 0x6c4); in ex_btc8723b1ant_display_coex_info()
2697 u32tmp[2] = btcoexist->btc_read_4byte(btcoexist, 0x6c8); in ex_btc8723b1ant_display_coex_info()
2708 if (btcoexist->auto_report_1ant) in ex_btc8723b1ant_display_coex_info()
2709 halbtc8723b1ant_monitor_bt_ctr(btcoexist); in ex_btc8723b1ant_display_coex_info()
2710 btcoexist->btc_disp_dbg_msg(btcoexist, BTC_DBG_DISP_COEX_STATISTICS, m); in ex_btc8723b1ant_display_coex_info()
2713 void ex_btc8723b1ant_ips_notify(struct btc_coexist *btcoexist, u8 type) in ex_btc8723b1ant_ips_notify() argument
2715 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_ips_notify()
2717 if (btcoexist->manual_control || btcoexist->stop_coex_dm) in ex_btc8723b1ant_ips_notify()
2725 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_BT, in ex_btc8723b1ant_ips_notify()
2728 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 0); in ex_btc8723b1ant_ips_notify()
2729 halbtc8723b1ant_coex_table_with_type(btcoexist, in ex_btc8723b1ant_ips_notify()
2736 halbtc8723b1ant_init_hw_config(btcoexist, false, false); in ex_btc8723b1ant_ips_notify()
2737 halbtc8723b1ant_init_coex_dm(btcoexist); in ex_btc8723b1ant_ips_notify()
2738 halbtc8723b1ant_query_bt_info(btcoexist); in ex_btc8723b1ant_ips_notify()
2742 void ex_btc8723b1ant_lps_notify(struct btc_coexist *btcoexist, u8 type) in ex_btc8723b1ant_lps_notify() argument
2744 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_lps_notify()
2746 if (btcoexist->manual_control || btcoexist->stop_coex_dm) in ex_btc8723b1ant_lps_notify()
2760 void ex_btc8723b1ant_scan_notify(struct btc_coexist *btcoexist, u8 type) in ex_btc8723b1ant_scan_notify() argument
2762 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_scan_notify()
2771 if (btcoexist->manual_control || btcoexist->stop_coex_dm) in ex_btc8723b1ant_scan_notify()
2779 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 8); in ex_btc8723b1ant_scan_notify()
2780 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in ex_btc8723b1ant_scan_notify()
2782 u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x948); in ex_btc8723b1ant_scan_notify()
2783 u8tmpa = btcoexist->btc_read_1byte(btcoexist, 0x765); in ex_btc8723b1ant_scan_notify()
2784 u8tmpb = btcoexist->btc_read_1byte(btcoexist, 0x67); in ex_btc8723b1ant_scan_notify()
2794 btcoexist->btc_get(btcoexist, BTC_GET_U1_AP_NUM, in ex_btc8723b1ant_scan_notify()
2801 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in ex_btc8723b1ant_scan_notify()
2802 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in ex_btc8723b1ant_scan_notify()
2805 halbtc8723b1ant_query_bt_info(btcoexist); in ex_btc8723b1ant_scan_notify()
2807 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_LINK_STATUS, in ex_btc8723b1ant_scan_notify()
2811 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 0, 0, 0, 0); in ex_btc8723b1ant_scan_notify()
2812 halbtc8723b1ant_limited_rx(btcoexist, NORMAL_EXEC, false, in ex_btc8723b1ant_scan_notify()
2814 halbtc8723b1ant_action_wifi_multiport(btcoexist); in ex_btc8723b1ant_scan_notify()
2819 halbtc8723b1ant_action_bt_inquiry(btcoexist); in ex_btc8723b1ant_scan_notify()
2822 halbtc8723b1ant_action_hs(btcoexist); in ex_btc8723b1ant_scan_notify()
2831 btc8723b1ant_action_wifi_not_conn_scan(btcoexist); in ex_btc8723b1ant_scan_notify()
2834 btc8723b1ant_action_wifi_conn_scan(btcoexist); in ex_btc8723b1ant_scan_notify()
2840 btc8723b1ant_action_wifi_not_conn(btcoexist); in ex_btc8723b1ant_scan_notify()
2842 halbtc8723b1ant_action_wifi_connected(btcoexist); in ex_btc8723b1ant_scan_notify()
2846 void ex_btc8723b1ant_connect_notify(struct btc_coexist *btcoexist, u8 type) in ex_btc8723b1ant_connect_notify() argument
2848 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_connect_notify()
2855 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, in ex_btc8723b1ant_connect_notify()
2858 if (btcoexist->manual_control || btcoexist->stop_coex_dm || in ex_btc8723b1ant_connect_notify()
2866 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 8); in ex_btc8723b1ant_connect_notify()
2867 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in ex_btc8723b1ant_connect_notify()
2878 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_LINK_STATUS, in ex_btc8723b1ant_connect_notify()
2882 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 0, 0, 0, 0); in ex_btc8723b1ant_connect_notify()
2883 halbtc8723b1ant_limited_rx(btcoexist, NORMAL_EXEC, false, in ex_btc8723b1ant_connect_notify()
2885 halbtc8723b1ant_action_wifi_multiport(btcoexist); in ex_btc8723b1ant_connect_notify()
2889 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in ex_btc8723b1ant_connect_notify()
2891 halbtc8723b1ant_action_bt_inquiry(btcoexist); in ex_btc8723b1ant_connect_notify()
2894 halbtc8723b1ant_action_hs(btcoexist); in ex_btc8723b1ant_connect_notify()
2901 btc8723b1ant_act_wifi_not_conn_asso_auth(btcoexist); in ex_btc8723b1ant_connect_notify()
2906 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in ex_btc8723b1ant_connect_notify()
2910 btc8723b1ant_action_wifi_not_conn(btcoexist); in ex_btc8723b1ant_connect_notify()
2912 halbtc8723b1ant_action_wifi_connected(btcoexist); in ex_btc8723b1ant_connect_notify()
2916 void ex_btc8723b1ant_media_status_notify(struct btc_coexist *btcoexist, in ex_btc8723b1ant_media_status_notify() argument
2919 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_media_status_notify()
2925 if (btcoexist->manual_control || btcoexist->stop_coex_dm || in ex_btc8723b1ant_media_status_notify()
2933 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 8); in ex_btc8723b1ant_media_status_notify()
2934 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_PTA, in ex_btc8723b1ant_media_status_notify()
2936 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_UNDER_B_MODE, in ex_btc8723b1ant_media_status_notify()
2941 btcoexist->btc_write_1byte(btcoexist, 0x6cd, in ex_btc8723b1ant_media_status_notify()
2943 btcoexist->btc_write_1byte(btcoexist, 0x6cf, in ex_btc8723b1ant_media_status_notify()
2946 btcoexist->btc_write_1byte(btcoexist, 0x6cd, in ex_btc8723b1ant_media_status_notify()
2948 btcoexist->btc_write_1byte(btcoexist, 0x6cf, in ex_btc8723b1ant_media_status_notify()
2953 btcoexist->btc_read_4byte(btcoexist, 0x430); in ex_btc8723b1ant_media_status_notify()
2955 btcoexist->btc_read_4byte(btcoexist, 0x434); in ex_btc8723b1ant_media_status_notify()
2957 btcoexist->btc_read_2byte(btcoexist, 0x42a); in ex_btc8723b1ant_media_status_notify()
2959 btcoexist->btc_read_1byte(btcoexist, 0x456); in ex_btc8723b1ant_media_status_notify()
2965 btcoexist->btc_write_1byte(btcoexist, 0x6cd, 0x0); /* CCK Tx */ in ex_btc8723b1ant_media_status_notify()
2966 btcoexist->btc_write_1byte(btcoexist, 0x6cf, 0x0); /* CCK Rx */ in ex_btc8723b1ant_media_status_notify()
2972 btcoexist->btc_get(btcoexist, BTC_GET_U1_WIFI_CENTRAL_CHNL, in ex_btc8723b1ant_media_status_notify()
2978 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_BW, &wifi_bw); in ex_btc8723b1ant_media_status_notify()
2994 btcoexist->btc_fill_h2c(btcoexist, 0x66, 3, h2c_parameter); in ex_btc8723b1ant_media_status_notify()
2997 void ex_btc8723b1ant_special_packet_notify(struct btc_coexist *btcoexist, in ex_btc8723b1ant_special_packet_notify() argument
3000 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_special_packet_notify()
3007 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_4_WAY_PROGRESS, in ex_btc8723b1ant_special_packet_notify()
3010 if (btcoexist->manual_control || btcoexist->stop_coex_dm || in ex_btc8723b1ant_special_packet_notify()
3044 btcoexist->btc_get(btcoexist, BTC_GET_U4_WIFI_LINK_STATUS, in ex_btc8723b1ant_special_packet_notify()
3048 halbtc8723b1ant_limited_tx(btcoexist, NORMAL_EXEC, 0, 0, 0, 0); in ex_btc8723b1ant_special_packet_notify()
3049 halbtc8723b1ant_limited_rx(btcoexist, NORMAL_EXEC, false, in ex_btc8723b1ant_special_packet_notify()
3051 halbtc8723b1ant_action_wifi_multiport(btcoexist); in ex_btc8723b1ant_special_packet_notify()
3057 btcoexist->btc_get(btcoexist, BTC_GET_BL_HS_OPERATION, &bt_hs_on); in ex_btc8723b1ant_special_packet_notify()
3059 halbtc8723b1ant_action_bt_inquiry(btcoexist); in ex_btc8723b1ant_special_packet_notify()
3062 halbtc8723b1ant_action_hs(btcoexist); in ex_btc8723b1ant_special_packet_notify()
3070 halbtc8723b1ant_action_wifi_connected_special_packet(btcoexist); in ex_btc8723b1ant_special_packet_notify()
3074 void ex_btc8723b1ant_bt_info_notify(struct btc_coexist *btcoexist, in ex_btc8723b1ant_bt_info_notify() argument
3077 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_bt_info_notify()
3138 btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_TX_RX_MASK, in ex_btc8723b1ant_bt_info_notify()
3147 btcoexist->btc_set_bt_reg(btcoexist, BTC_BT_REG_RF, in ex_btc8723b1ant_bt_info_notify()
3151 btcoexist->btc_set_bt_reg(btcoexist, BTC_BT_REG_RF, in ex_btc8723b1ant_bt_info_notify()
3153 btcoexist->btc_set_bt_reg(btcoexist, BTC_BT_REG_RF, in ex_btc8723b1ant_bt_info_notify()
3163 btcoexist->btc_get(btcoexist, BTC_GET_BL_WIFI_CONNECTED, in ex_btc8723b1ant_bt_info_notify()
3166 ex_btc8723b1ant_media_status_notify(btcoexist, in ex_btc8723b1ant_bt_info_notify()
3169 ex_btc8723b1ant_media_status_notify(btcoexist, in ex_btc8723b1ant_bt_info_notify()
3174 if (!btcoexist->manual_control && in ex_btc8723b1ant_bt_info_notify()
3175 !btcoexist->stop_coex_dm) { in ex_btc8723b1ant_bt_info_notify()
3178 halbtc8723b1ant_ignore_wlan_act(btcoexist, in ex_btc8723b1ant_bt_info_notify()
3185 if (!btcoexist->auto_report_1ant) { in ex_btc8723b1ant_bt_info_notify()
3189 halbtc8723b1ant_bt_auto_report(btcoexist, in ex_btc8723b1ant_bt_info_notify()
3274 halbtc8723b1ant_update_bt_link_info(btcoexist); in ex_btc8723b1ant_bt_info_notify()
3314 btcoexist->btc_set(btcoexist, BTC_SET_BL_BT_TRAFFIC_BUSY, &bt_busy); in ex_btc8723b1ant_bt_info_notify()
3316 halbtc8723b1ant_run_coexist_mechanism(btcoexist); in ex_btc8723b1ant_bt_info_notify()
3319 void ex_btc8723b1ant_rf_status_notify(struct btc_coexist *btcoexist, u8 type) in ex_btc8723b1ant_rf_status_notify() argument
3321 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_rf_status_notify()
3331 btcoexist->stop_coex_dm = false; in ex_btc8723b1ant_rf_status_notify()
3336 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in ex_btc8723b1ant_rf_status_notify()
3338 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 0); in ex_btc8723b1ant_rf_status_notify()
3339 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_BT, in ex_btc8723b1ant_rf_status_notify()
3342 halbtc8723b1ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true); in ex_btc8723b1ant_rf_status_notify()
3343 btcoexist->stop_coex_dm = true; in ex_btc8723b1ant_rf_status_notify()
3345 u32tmp = btcoexist->btc_read_4byte(btcoexist, 0x948); in ex_btc8723b1ant_rf_status_notify()
3346 u8tmpa = btcoexist->btc_read_1byte(btcoexist, 0x765); in ex_btc8723b1ant_rf_status_notify()
3347 u8tmpb = btcoexist->btc_read_1byte(btcoexist, 0x67); in ex_btc8723b1ant_rf_status_notify()
3348 u8tmpc = btcoexist->btc_read_1byte(btcoexist, 0x76e); in ex_btc8723b1ant_rf_status_notify()
3356 void ex_btc8723b1ant_halt_notify(struct btc_coexist *btcoexist) in ex_btc8723b1ant_halt_notify() argument
3358 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_halt_notify()
3362 btcoexist->stop_coex_dm = true; in ex_btc8723b1ant_halt_notify()
3364 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_BT, FORCE_EXEC, in ex_btc8723b1ant_halt_notify()
3367 halbtc8723b1ant_ignore_wlan_act(btcoexist, FORCE_EXEC, true); in ex_btc8723b1ant_halt_notify()
3369 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in ex_btc8723b1ant_halt_notify()
3371 halbtc8723b1ant_ps_tdma(btcoexist, FORCE_EXEC, false, 0); in ex_btc8723b1ant_halt_notify()
3373 ex_btc8723b1ant_media_status_notify(btcoexist, BTC_MEDIA_DISCONNECT); in ex_btc8723b1ant_halt_notify()
3375 btcoexist->stop_coex_dm = true; in ex_btc8723b1ant_halt_notify()
3378 void ex_btc8723b1ant_pnp_notify(struct btc_coexist *btcoexist, u8 pnp_state) in ex_btc8723b1ant_pnp_notify() argument
3380 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_pnp_notify()
3387 halbtc8723b1ant_set_ant_path(btcoexist, BTC_ANT_PATH_BT, in ex_btc8723b1ant_pnp_notify()
3389 halbtc8723b1ant_power_save_state(btcoexist, BTC_PS_WIFI_NATIVE, in ex_btc8723b1ant_pnp_notify()
3391 halbtc8723b1ant_ps_tdma(btcoexist, NORMAL_EXEC, false, 0); in ex_btc8723b1ant_pnp_notify()
3392 halbtc8723b1ant_coex_table_with_type(btcoexist, NORMAL_EXEC, 2); in ex_btc8723b1ant_pnp_notify()
3402 btcoexist->stop_coex_dm = true; in ex_btc8723b1ant_pnp_notify()
3406 btcoexist->stop_coex_dm = false; in ex_btc8723b1ant_pnp_notify()
3407 halbtc8723b1ant_init_hw_config(btcoexist, false, false); in ex_btc8723b1ant_pnp_notify()
3408 halbtc8723b1ant_init_coex_dm(btcoexist); in ex_btc8723b1ant_pnp_notify()
3409 halbtc8723b1ant_query_bt_info(btcoexist); in ex_btc8723b1ant_pnp_notify()
3413 void ex_btc8723b1ant_coex_dm_reset(struct btc_coexist *btcoexist) in ex_btc8723b1ant_coex_dm_reset() argument
3415 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_coex_dm_reset()
3420 halbtc8723b1ant_init_hw_config(btcoexist, false, false); in ex_btc8723b1ant_coex_dm_reset()
3421 halbtc8723b1ant_init_coex_dm(btcoexist); in ex_btc8723b1ant_coex_dm_reset()
3424 void ex_btc8723b1ant_periodical(struct btc_coexist *btcoexist) in ex_btc8723b1ant_periodical() argument
3426 struct rtl_priv *rtlpriv = btcoexist->adapter; in ex_btc8723b1ant_periodical()
3427 struct btc_bt_link_info *bt_link_info = &btcoexist->bt_link_info; in ex_btc8723b1ant_periodical()
3432 if (!btcoexist->auto_report_1ant) { in ex_btc8723b1ant_periodical()
3433 halbtc8723b1ant_query_bt_info(btcoexist); in ex_btc8723b1ant_periodical()
3434 halbtc8723b1ant_monitor_bt_enable_disable(btcoexist); in ex_btc8723b1ant_periodical()
3436 halbtc8723b1ant_monitor_bt_ctr(btcoexist); in ex_btc8723b1ant_periodical()
3437 halbtc8723b1ant_monitor_wifi_ctr(btcoexist); in ex_btc8723b1ant_periodical()
3443 if (btc8723b1ant_is_wifi_status_changed(btcoexist) || in ex_btc8723b1ant_periodical()
3445 halbtc8723b1ant_run_coexist_mechanism(btcoexist); in ex_btc8723b1ant_periodical()