Lines Matching refs:rtlpriv

163 	struct rtl_priv *rtlpriv = rtl_priv(hw);  in dm_restorepowerindex()  local
167 rtl_write_byte(rtlpriv, power_index_reg[index], in dm_restorepowerindex()
168 rtlpriv->dm.powerindex_backup[index]); in dm_restorepowerindex()
174 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_writepowerindex() local
178 rtl_write_byte(rtlpriv, power_index_reg[index], value); in dm_writepowerindex()
184 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_savepowerindex() local
189 tmp = rtl_read_byte(rtlpriv, power_index_reg[index]); in dm_savepowerindex()
190 rtlpriv->dm.powerindex_backup[index] = tmp; in dm_savepowerindex()
197 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initial_gain_min_pwdb() local
198 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_initial_gain_min_pwdb()
203 if (rtlpriv->dm.entry_min_undec_sm_pwdb != 0) in rtl92c_dm_initial_gain_min_pwdb()
205 (rtlpriv->dm.entry_min_undec_sm_pwdb > in rtl92c_dm_initial_gain_min_pwdb()
206 rtlpriv->dm.undec_sm_pwdb) ? in rtl92c_dm_initial_gain_min_pwdb()
207 rtlpriv->dm.undec_sm_pwdb : in rtl92c_dm_initial_gain_min_pwdb()
208 rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
210 rssi_val_min = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
213 rssi_val_min = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
215 rssi_val_min = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
226 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_false_alarm_counter_statistics() local
227 struct false_alarm_statistics *falsealm_cnt = &(rtlpriv->falsealm_cnt); in rtl92c_dm_false_alarm_counter_statistics()
267 RT_TRACE(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_false_alarm_counter_statistics()
273 RT_TRACE(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_false_alarm_counter_statistics()
281 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_ctrl_initgain_by_fa() local
282 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_ctrl_initgain_by_fa()
285 if (rtlpriv->falsealm_cnt.cnt_all < DM_DIG_FA_TH0) in rtl92c_dm_ctrl_initgain_by_fa()
287 else if (rtlpriv->falsealm_cnt.cnt_all < DM_DIG_FA_TH1) in rtl92c_dm_ctrl_initgain_by_fa()
289 else if (rtlpriv->falsealm_cnt.cnt_all < DM_DIG_FA_TH2) in rtl92c_dm_ctrl_initgain_by_fa()
291 else if (rtlpriv->falsealm_cnt.cnt_all >= DM_DIG_FA_TH2) in rtl92c_dm_ctrl_initgain_by_fa()
299 if (rtlpriv->falsealm_cnt.cnt_all > 10000) in rtl92c_dm_ctrl_initgain_by_fa()
308 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_ctrl_initgain_by_rssi() local
309 struct dig_t *digtable = &rtlpriv->dm_digtable; in rtl92c_dm_ctrl_initgain_by_rssi()
313 if (rtlpriv->falsealm_cnt.cnt_all > 10000) { in rtl92c_dm_ctrl_initgain_by_rssi()
346 if (rtlpriv->falsealm_cnt.cnt_all < 250) { in rtl92c_dm_ctrl_initgain_by_rssi()
347 isbt = rtl_read_byte(rtlpriv, 0x4fd) & 0x01; in rtl92c_dm_ctrl_initgain_by_rssi()
350 if (rtlpriv->falsealm_cnt.cnt_all > in rtl92c_dm_ctrl_initgain_by_rssi()
357 } else if (rtlpriv->falsealm_cnt.cnt_all < in rtl92c_dm_ctrl_initgain_by_rssi()
370 if (rtlpriv->falsealm_cnt.cnt_all > 1000) in rtl92c_dm_ctrl_initgain_by_rssi()
372 else if (rtlpriv->falsealm_cnt.cnt_all > 750) in rtl92c_dm_ctrl_initgain_by_rssi()
374 else if (rtlpriv->falsealm_cnt.cnt_all < 500) in rtl92c_dm_ctrl_initgain_by_rssi()
391 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initial_gain_multi_sta() local
392 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_initial_gain_multi_sta()
394 long rssi_strength = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_initial_gain_multi_sta()
433 RT_TRACE(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_initial_gain_multi_sta()
441 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initial_gain_sta() local
442 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_initial_gain_sta()
444 RT_TRACE(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_initial_gain_sta()
470 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_cck_packet_detection_thresh() local
471 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_cck_packet_detection_thresh()
510 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_ctrl_initgain_by_twoport() local
511 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_ctrl_initgain_by_twoport()
534 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dig() local
536 if (rtlpriv->dm.dm_initialgain_enable == false) in rtl92c_dm_dig()
538 if (!(rtlpriv->dm.dm_flag & DYNAMIC_FUNC_DIG)) in rtl92c_dm_dig()
546 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_dynamic_txpower() local
548 if (rtlpriv->rtlhal.interface == INTF_USB && in rtl92c_dm_init_dynamic_txpower()
549 rtlpriv->rtlhal.board_type & 0x1) { in rtl92c_dm_init_dynamic_txpower()
551 rtlpriv->dm.dynamic_txpower_enable = true; in rtl92c_dm_init_dynamic_txpower()
553 rtlpriv->dm.dynamic_txpower_enable = false; in rtl92c_dm_init_dynamic_txpower()
555 rtlpriv->dm.last_dtp_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_init_dynamic_txpower()
556 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_init_dynamic_txpower()
561 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_write_dig() local
562 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_write_dig()
564 RT_TRACE(rtlpriv, COMP_DIG, DBG_LOUD, in rtl92c_dm_write_dig()
569 if (rtlpriv->rtlhal.interface == INTF_USB && in rtl92c_dm_write_dig()
586 RT_TRACE(rtlpriv, COMP_DIG, DBG_WARNING, in rtl92c_dm_write_dig()
597 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_pwdb_monitor() local
610 rtlpriv->dm.entry_max_undec_sm_pwdb = tmpentry_max_pwdb; in rtl92c_dm_pwdb_monitor()
612 rtlpriv->dm.entry_max_undec_sm_pwdb = 0; in rtl92c_dm_pwdb_monitor()
615 rtlpriv->dm.entry_min_undec_sm_pwdb = tmpentry_min_pwdb; in rtl92c_dm_pwdb_monitor()
617 rtlpriv->dm.entry_min_undec_sm_pwdb = 0; in rtl92c_dm_pwdb_monitor()
631 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_edca_turbo() local
632 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_init_edca_turbo()
633 rtlpriv->dm.is_any_nonbepkts = false; in rtl92c_dm_init_edca_turbo()
634 rtlpriv->dm.is_cur_rdlstate = false; in rtl92c_dm_init_edca_turbo()
640 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_check_edca_turbo() local
653 if ((last_bt_edca_ul != rtlpriv->btcoexist.bt_edca_ul) || in rtl92c_dm_check_edca_turbo()
654 (last_bt_edca_dl != rtlpriv->btcoexist.bt_edca_dl)) { in rtl92c_dm_check_edca_turbo()
655 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_check_edca_turbo()
656 last_bt_edca_ul = rtlpriv->btcoexist.bt_edca_ul; in rtl92c_dm_check_edca_turbo()
657 last_bt_edca_dl = rtlpriv->btcoexist.bt_edca_dl; in rtl92c_dm_check_edca_turbo()
660 if (rtlpriv->btcoexist.bt_edca_ul != 0) { in rtl92c_dm_check_edca_turbo()
661 edca_be_ul = rtlpriv->btcoexist.bt_edca_ul; in rtl92c_dm_check_edca_turbo()
665 if (rtlpriv->btcoexist.bt_edca_dl != 0) { in rtl92c_dm_check_edca_turbo()
666 edca_be_ul = rtlpriv->btcoexist.bt_edca_dl; in rtl92c_dm_check_edca_turbo()
671 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_check_edca_turbo()
675 if ((!mac->ht_enable) && (!rtlpriv->btcoexist.bt_coexistence)) { in rtl92c_dm_check_edca_turbo()
683 if ((bt_change_edca) || ((!rtlpriv->dm.is_any_nonbepkts) && in rtl92c_dm_check_edca_turbo()
684 (!rtlpriv->dm.disable_framebursting))) { in rtl92c_dm_check_edca_turbo()
686 cur_txok_cnt = rtlpriv->stats.txbytesunicast - last_txok_cnt; in rtl92c_dm_check_edca_turbo()
687 cur_rxok_cnt = rtlpriv->stats.rxbytesunicast - last_rxok_cnt; in rtl92c_dm_check_edca_turbo()
690 if (!rtlpriv->dm.is_cur_rdlstate || in rtl92c_dm_check_edca_turbo()
691 !rtlpriv->dm.current_turbo_edca) { in rtl92c_dm_check_edca_turbo()
692 rtl_write_dword(rtlpriv, in rtl92c_dm_check_edca_turbo()
695 rtlpriv->dm.is_cur_rdlstate = true; in rtl92c_dm_check_edca_turbo()
698 if (rtlpriv->dm.is_cur_rdlstate || in rtl92c_dm_check_edca_turbo()
699 !rtlpriv->dm.current_turbo_edca) { in rtl92c_dm_check_edca_turbo()
700 rtl_write_dword(rtlpriv, in rtl92c_dm_check_edca_turbo()
703 rtlpriv->dm.is_cur_rdlstate = false; in rtl92c_dm_check_edca_turbo()
706 rtlpriv->dm.current_turbo_edca = true; in rtl92c_dm_check_edca_turbo()
708 if (rtlpriv->dm.current_turbo_edca) { in rtl92c_dm_check_edca_turbo()
710 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, in rtl92c_dm_check_edca_turbo()
712 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_check_edca_turbo()
716 rtlpriv->dm.is_any_nonbepkts = false; in rtl92c_dm_check_edca_turbo()
717 last_txok_cnt = rtlpriv->stats.txbytesunicast; in rtl92c_dm_check_edca_turbo()
718 last_rxok_cnt = rtlpriv->stats.rxbytesunicast; in rtl92c_dm_check_edca_turbo()
724 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_txpower_tracking_callback_thermalmeter() local
726 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
738 rtlpriv->dm.txpower_trackinginit = true; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
739 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
744 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
746 thermalvalue, rtlpriv->dm.thermalvalue, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
764 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
780 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
794 if (rtlpriv->dm.cck_inch14) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
800 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
805 rtlpriv->dm.cck_inch14); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
815 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
820 rtlpriv->dm.cck_inch14); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
826 if (!rtlpriv->dm.thermalvalue) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
827 rtlpriv->dm.thermalvalue = in rtl92c_dm_txpower_tracking_callback_thermalmeter()
829 rtlpriv->dm.thermalvalue_lck = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
830 rtlpriv->dm.thermalvalue_iqk = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
832 rtlpriv->dm.ofdm_index[i] = ofdm_index_old[i]; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
833 rtlpriv->dm.cck_index = cck_index_old; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
837 delta = (thermalvalue > rtlpriv->dm.thermalvalue) ? in rtl92c_dm_txpower_tracking_callback_thermalmeter()
838 (thermalvalue - rtlpriv->dm.thermalvalue) : in rtl92c_dm_txpower_tracking_callback_thermalmeter()
839 (rtlpriv->dm.thermalvalue - thermalvalue); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
841 delta_lck = (thermalvalue > rtlpriv->dm.thermalvalue_lck) ? in rtl92c_dm_txpower_tracking_callback_thermalmeter()
842 (thermalvalue - rtlpriv->dm.thermalvalue_lck) : in rtl92c_dm_txpower_tracking_callback_thermalmeter()
843 (rtlpriv->dm.thermalvalue_lck - thermalvalue); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
845 delta_iqk = (thermalvalue > rtlpriv->dm.thermalvalue_iqk) ? in rtl92c_dm_txpower_tracking_callback_thermalmeter()
846 (thermalvalue - rtlpriv->dm.thermalvalue_iqk) : in rtl92c_dm_txpower_tracking_callback_thermalmeter()
847 (rtlpriv->dm.thermalvalue_iqk - thermalvalue); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
849 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
851 thermalvalue, rtlpriv->dm.thermalvalue, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
856 rtlpriv->dm.thermalvalue_lck = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
860 if (delta > 0 && rtlpriv->dm.txpower_track_control) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
861 if (thermalvalue > rtlpriv->dm.thermalvalue) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
863 rtlpriv->dm.ofdm_index[i] -= delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
864 rtlpriv->dm.cck_index -= delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
867 rtlpriv->dm.ofdm_index[i] += delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
868 rtlpriv->dm.cck_index += delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
872 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
874 rtlpriv->dm.ofdm_index[0], in rtl92c_dm_txpower_tracking_callback_thermalmeter()
875 rtlpriv->dm.ofdm_index[1], in rtl92c_dm_txpower_tracking_callback_thermalmeter()
876 rtlpriv->dm.cck_index); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
878 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
880 rtlpriv->dm.ofdm_index[0], in rtl92c_dm_txpower_tracking_callback_thermalmeter()
881 rtlpriv->dm.cck_index); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
887 rtlpriv->dm.ofdm_index[i] in rtl92c_dm_txpower_tracking_callback_thermalmeter()
889 cck_index = rtlpriv->dm.cck_index + 1; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
893 rtlpriv->dm.ofdm_index[i]; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
894 cck_index = rtlpriv->dm.cck_index; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
972 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
977 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
983 if (rtlpriv->dm.txpower_track_control && delta != 0) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1026 if (!rtlpriv->dm.cck_inch14) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1027 rtl_write_byte(rtlpriv, 0xa22, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1030 rtl_write_byte(rtlpriv, 0xa23, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1033 rtl_write_byte(rtlpriv, 0xa24, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1036 rtl_write_byte(rtlpriv, 0xa25, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1039 rtl_write_byte(rtlpriv, 0xa26, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1042 rtl_write_byte(rtlpriv, 0xa27, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1045 rtl_write_byte(rtlpriv, 0xa28, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1048 rtl_write_byte(rtlpriv, 0xa29, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1052 rtl_write_byte(rtlpriv, 0xa22, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1055 rtl_write_byte(rtlpriv, 0xa23, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1058 rtl_write_byte(rtlpriv, 0xa24, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1061 rtl_write_byte(rtlpriv, 0xa25, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1064 rtl_write_byte(rtlpriv, 0xa26, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1067 rtl_write_byte(rtlpriv, 0xa27, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1070 rtl_write_byte(rtlpriv, 0xa28, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1073 rtl_write_byte(rtlpriv, 0xa29, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1129 rtlpriv->dm.thermalvalue_iqk = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1133 if (rtlpriv->dm.txpower_track_control) in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1134 rtlpriv->dm.thermalvalue = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1137 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, "<===\n"); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1144 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initialize_txpower_tracking_thermalmeter() local
1146 rtlpriv->dm.txpower_tracking = true; in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1147 rtlpriv->dm.txpower_trackinginit = false; in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1149 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1151 rtlpriv->dm.txpower_tracking); in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1167 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_check_txpower_tracking_thermal_meter() local
1169 if (!rtlpriv->dm.txpower_tracking) in rtl92c_dm_check_txpower_tracking_thermal_meter()
1172 if (!rtlpriv->dm.tm_trigger) { in rtl92c_dm_check_txpower_tracking_thermal_meter()
1175 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_check_txpower_tracking_thermal_meter()
1177 rtlpriv->dm.tm_trigger = 1; in rtl92c_dm_check_txpower_tracking_thermal_meter()
1180 RT_TRACE(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_check_txpower_tracking_thermal_meter()
1183 rtlpriv->dm.tm_trigger = 0; in rtl92c_dm_check_txpower_tracking_thermal_meter()
1195 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_rate_adaptive_mask() local
1196 struct rate_adaptive *p_ra = &(rtlpriv->ra); in rtl92c_dm_init_rate_adaptive_mask()
1201 if (rtlpriv->dm.dm_type == DM_TYPE_BYDRIVER) in rtl92c_dm_init_rate_adaptive_mask()
1202 rtlpriv->dm.useramask = true; in rtl92c_dm_init_rate_adaptive_mask()
1204 rtlpriv->dm.useramask = false; in rtl92c_dm_init_rate_adaptive_mask()
1211 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_dynamic_bb_powersaving() local
1212 struct ps_t *dm_pstable = &rtlpriv->dm_pstable; in rtl92c_dm_init_dynamic_bb_powersaving()
1223 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_rf_saving() local
1224 struct ps_t *dm_pstable = &rtlpriv->dm_pstable; in rtl92c_dm_rf_saving()
1226 if (!rtlpriv->reg_init) { in rtl92c_dm_rf_saving()
1227 rtlpriv->reg_874 = (rtl_get_bbreg(hw, in rtl92c_dm_rf_saving()
1231 rtlpriv->reg_c70 = (rtl_get_bbreg(hw, ROFDM0_AGCPARAMETER1, in rtl92c_dm_rf_saving()
1234 rtlpriv->reg_85c = (rtl_get_bbreg(hw, RFPGA0_XCD_SWITCHCONTROL, in rtl92c_dm_rf_saving()
1237 rtlpriv->reg_a74 = (rtl_get_bbreg(hw, 0xa74, MASKDWORD) & in rtl92c_dm_rf_saving()
1240 rtlpriv->reg_init = true; in rtl92c_dm_rf_saving()
1277 0x1CC000, rtlpriv->reg_874); in rtl92c_dm_rf_saving()
1279 rtlpriv->reg_c70); in rtl92c_dm_rf_saving()
1281 rtlpriv->reg_85c); in rtl92c_dm_rf_saving()
1282 rtl_set_bbreg(hw, 0xa74, 0xF000, rtlpriv->reg_a74); in rtl92c_dm_rf_saving()
1293 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dynamic_bb_powersaving() local
1294 struct ps_t *dm_pstable = &rtlpriv->dm_pstable; in rtl92c_dm_dynamic_bb_powersaving()
1300 (rtlpriv->dm.entry_min_undec_sm_pwdb == 0)) { in rtl92c_dm_dynamic_bb_powersaving()
1302 RT_TRACE(rtlpriv, DBG_LOUD, DBG_LOUD, "Not connected to any\n"); in rtl92c_dm_dynamic_bb_powersaving()
1308 rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_bb_powersaving()
1309 RT_TRACE(rtlpriv, DBG_LOUD, DBG_LOUD, in rtl92c_dm_dynamic_bb_powersaving()
1313 dm_pstable->rssi_val_min = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_dynamic_bb_powersaving()
1314 RT_TRACE(rtlpriv, DBG_LOUD, DBG_LOUD, in rtl92c_dm_dynamic_bb_powersaving()
1320 rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_bb_powersaving()
1322 RT_TRACE(rtlpriv, DBG_LOUD, DBG_LOUD, in rtl92c_dm_dynamic_bb_powersaving()
1336 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init() local
1338 rtlpriv->dm.dm_type = DM_TYPE_BYDRIVER; in rtl92c_dm_init()
1339 rtlpriv->dm.dm_flag = DYNAMIC_FUNC_DISABLE | DYNAMIC_FUNC_DIG; in rtl92c_dm_init()
1340 rtlpriv->dm.undec_sm_pwdb = -1; in rtl92c_dm_init()
1341 rtlpriv->dm.undec_sm_cck = -1; in rtl92c_dm_init()
1342 rtlpriv->dm.dm_initialgain_enable = true; in rtl92c_dm_init()
1345 rtlpriv->dm.dm_flag |= HAL_DM_HIPWR_DISABLE; in rtl92c_dm_init()
1350 rtlpriv->dm.dm_flag |= DYNAMIC_FUNC_SS; in rtl92c_dm_init()
1354 rtlpriv->dm.ofdm_pkt_cnt = 0; in rtl92c_dm_init()
1355 rtlpriv->dm.dm_rssi_sel = RSSI_DEFAULT; in rtl92c_dm_init()
1361 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dynamic_txpower() local
1362 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl92c_dm_dynamic_txpower()
1366 if (!rtlpriv->dm.dynamic_txpower_enable) in rtl92c_dm_dynamic_txpower()
1369 if (rtlpriv->dm.dm_flag & HAL_DM_HIPWR_DISABLE) { in rtl92c_dm_dynamic_txpower()
1370 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1375 (rtlpriv->dm.entry_min_undec_sm_pwdb == 0)) { in rtl92c_dm_dynamic_txpower()
1376 RT_TRACE(rtlpriv, COMP_POWER, DBG_TRACE, in rtl92c_dm_dynamic_txpower()
1379 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1381 rtlpriv->dm.last_dtp_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1387 undec_sm_pwdb = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_txpower()
1388 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1392 undec_sm_pwdb = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_dynamic_txpower()
1393 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1398 undec_sm_pwdb = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_txpower()
1400 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1406 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_LEVEL2; in rtl92c_dm_dynamic_txpower()
1407 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1412 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_LEVEL1; in rtl92c_dm_dynamic_txpower()
1413 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1416 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1417 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1421 if ((rtlpriv->dm.dynamic_txhighpower_lvl != rtlpriv->dm.last_dtp_lvl)) { in rtl92c_dm_dynamic_txpower()
1422 RT_TRACE(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1426 if (rtlpriv->dm.dynamic_txhighpower_lvl == in rtl92c_dm_dynamic_txpower()
1429 else if (rtlpriv->dm.dynamic_txhighpower_lvl == in rtl92c_dm_dynamic_txpower()
1432 else if (rtlpriv->dm.dynamic_txhighpower_lvl == in rtl92c_dm_dynamic_txpower()
1436 rtlpriv->dm.last_dtp_lvl = rtlpriv->dm.dynamic_txhighpower_lvl; in rtl92c_dm_dynamic_txpower()
1441 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_watchdog() local
1446 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in rtl92c_dm_watchdog()
1448 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FWLPS_RF_ON, in rtl92c_dm_watchdog()
1472 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_rssi_state_change() local
1476 if (rtlpriv->mac80211.link_state == MAC80211_LINKED) { in rtl92c_bt_rssi_state_change()
1477 undec_sm_pwdb = GET_UNDECORATED_AVERAGE_RSSI(rtlpriv); in rtl92c_bt_rssi_state_change()
1479 if (rtlpriv->dm.entry_min_undec_sm_pwdb == 0) in rtl92c_bt_rssi_state_change()
1482 undec_sm_pwdb = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_bt_rssi_state_change()
1511 if (curr_bt_rssi_state != rtlpriv->btcoexist.bt_rssi_state) { in rtl92c_bt_rssi_state_change()
1512 rtlpriv->btcoexist.bt_rssi_state = curr_bt_rssi_state; in rtl92c_bt_rssi_state_change()
1522 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_state_change() local
1529 if (rtlpriv->mac80211.link_state < MAC80211_LINKED) in rtl92c_bt_state_change()
1532 bt_state = rtl_read_byte(rtlpriv, 0x4fd); in rtl92c_bt_state_change()
1533 bt_tx = rtl_read_dword(rtlpriv, 0x488) & BT_MASK; in rtl92c_bt_state_change()
1534 bt_pri = rtl_read_dword(rtlpriv, 0x48c) & BT_MASK; in rtl92c_bt_state_change()
1535 polling = rtl_read_dword(rtlpriv, 0x490); in rtl92c_bt_state_change()
1542 if (bt_state != rtlpriv->btcoexist.bt_cur_state) { in rtl92c_bt_state_change()
1543 rtlpriv->btcoexist.bt_cur_state = bt_state; in rtl92c_bt_state_change()
1545 if (rtlpriv->btcoexist.reg_bt_sco == 3) { in rtl92c_bt_state_change()
1546 rtlpriv->btcoexist.bt_service = BT_IDLE; in rtl92c_bt_state_change()
1549 ((rtlpriv->btcoexist.bt_ant_isolation == 1) ? in rtl92c_bt_state_change()
1552 rtl_write_byte(rtlpriv, 0x4fd, bt_state); in rtl92c_bt_state_change()
1559 rtlpriv->btcoexist.ratio_tx = ratio_tx; in rtl92c_bt_state_change()
1560 rtlpriv->btcoexist.ratio_pri = ratio_pri; in rtl92c_bt_state_change()
1562 if (bt_state && rtlpriv->btcoexist.reg_bt_sco == 3) { in rtl92c_bt_state_change()
1577 if (cur_service_type != rtlpriv->btcoexist.bt_service) { in rtl92c_bt_state_change()
1578 rtlpriv->btcoexist.bt_service = cur_service_type; in rtl92c_bt_state_change()
1580 ((rtlpriv->btcoexist.bt_ant_isolation == 1) ? in rtl92c_bt_state_change()
1582 ((rtlpriv->btcoexist.bt_service != BT_IDLE) ? in rtl92c_bt_state_change()
1587 if (rtlpriv->btcoexist.bt_service != BT_IDLE) { in rtl92c_bt_state_change()
1588 rtl_write_word(rtlpriv, 0x504, 0x0ccc); in rtl92c_bt_state_change()
1589 rtl_write_byte(rtlpriv, 0x506, 0x54); in rtl92c_bt_state_change()
1590 rtl_write_byte(rtlpriv, 0x507, 0x54); in rtl92c_bt_state_change()
1592 rtl_write_byte(rtlpriv, 0x506, 0x00); in rtl92c_bt_state_change()
1593 rtl_write_byte(rtlpriv, 0x507, 0x00); in rtl92c_bt_state_change()
1596 rtl_write_byte(rtlpriv, 0x4fd, bt_state); in rtl92c_bt_state_change()
1607 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_wifi_connect_change() local
1610 if (rtlpriv->mac80211.link_state < MAC80211_LINKED) { in rtl92c_bt_wifi_connect_change()
1625 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_set_normal() local
1627 if (rtlpriv->btcoexist.bt_service == BT_OTHERBUSY) { in rtl92c_bt_set_normal()
1628 rtlpriv->btcoexist.bt_edca_ul = 0x5ea72b; in rtl92c_bt_set_normal()
1629 rtlpriv->btcoexist.bt_edca_dl = 0x5ea72b; in rtl92c_bt_set_normal()
1630 } else if (rtlpriv->btcoexist.bt_service == BT_BUSY) { in rtl92c_bt_set_normal()
1631 rtlpriv->btcoexist.bt_edca_ul = 0x5eb82f; in rtl92c_bt_set_normal()
1632 rtlpriv->btcoexist.bt_edca_dl = 0x5eb82f; in rtl92c_bt_set_normal()
1633 } else if (rtlpriv->btcoexist.bt_service == BT_SCO) { in rtl92c_bt_set_normal()
1634 if (rtlpriv->btcoexist.ratio_tx > 160) { in rtl92c_bt_set_normal()
1635 rtlpriv->btcoexist.bt_edca_ul = 0x5ea72f; in rtl92c_bt_set_normal()
1636 rtlpriv->btcoexist.bt_edca_dl = 0x5ea72f; in rtl92c_bt_set_normal()
1638 rtlpriv->btcoexist.bt_edca_ul = 0x5ea32b; in rtl92c_bt_set_normal()
1639 rtlpriv->btcoexist.bt_edca_dl = 0x5ea42b; in rtl92c_bt_set_normal()
1642 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl92c_bt_set_normal()
1643 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl92c_bt_set_normal()
1646 if ((rtlpriv->btcoexist.bt_service != BT_IDLE) && in rtl92c_bt_set_normal()
1647 (rtlpriv->mac80211.mode == WIRELESS_MODE_G || in rtl92c_bt_set_normal()
1648 (rtlpriv->mac80211.mode == (WIRELESS_MODE_G | WIRELESS_MODE_B))) && in rtl92c_bt_set_normal()
1649 (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_set_normal()
1651 rtlpriv->btcoexist.bt_edca_ul = 0x5eb82b; in rtl92c_bt_set_normal()
1652 rtlpriv->btcoexist.bt_edca_dl = 0x5eb82b; in rtl92c_bt_set_normal()
1658 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_ant_isolation() local
1662 if (rtlpriv->mac80211.vendor == PEER_CISCO && in rtl92c_bt_ant_isolation()
1663 rtlpriv->btcoexist.bt_service == BT_OTHER_ACTION) { in rtl92c_bt_ant_isolation()
1664 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl92c_bt_ant_isolation()
1666 if ((rtlpriv->btcoexist.bt_service == BT_BUSY) && in rtl92c_bt_ant_isolation()
1667 (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1669 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl92c_bt_ant_isolation()
1670 } else if ((rtlpriv->btcoexist.bt_service == in rtl92c_bt_ant_isolation()
1671 BT_OTHER_ACTION) && (rtlpriv->mac80211.mode < in rtl92c_bt_ant_isolation()
1673 (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1675 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl92c_bt_ant_isolation()
1676 } else if (rtlpriv->btcoexist.bt_service == BT_PAN) { in rtl92c_bt_ant_isolation()
1677 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte); in rtl92c_bt_ant_isolation()
1679 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte); in rtl92c_bt_ant_isolation()
1683 if (rtlpriv->btcoexist.bt_service == BT_PAN) in rtl92c_bt_ant_isolation()
1684 rtl_write_dword(rtlpriv, REG_GPIO_PIN_CTRL, 0x10100); in rtl92c_bt_ant_isolation()
1686 rtl_write_dword(rtlpriv, REG_GPIO_PIN_CTRL, 0x0); in rtl92c_bt_ant_isolation()
1688 if (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1692 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl92c_bt_ant_isolation()
1693 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl92c_bt_ant_isolation()
1696 if (rtlpriv->btcoexist.bt_service != BT_IDLE) { in rtl92c_bt_ant_isolation()
1697 rtlpriv->cfg->ops->set_rfreg(hw, in rtl92c_bt_ant_isolation()
1702 rtlpriv->cfg->ops->set_rfreg(hw, in rtl92c_bt_ant_isolation()
1704 rtlpriv->btcoexist.bt_rfreg_origin_1e); in rtl92c_bt_ant_isolation()
1707 if (!rtlpriv->dm.dynamic_txpower_enable) { in rtl92c_bt_ant_isolation()
1708 if (rtlpriv->btcoexist.bt_service != BT_IDLE) { in rtl92c_bt_ant_isolation()
1709 if (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1711 rtlpriv->dm.dynamic_txhighpower_lvl = in rtl92c_bt_ant_isolation()
1714 rtlpriv->dm.dynamic_txhighpower_lvl = in rtl92c_bt_ant_isolation()
1718 rtlpriv->dm.dynamic_txhighpower_lvl = in rtl92c_bt_ant_isolation()
1722 rtlpriv->phy.current_channel); in rtl92c_bt_ant_isolation()
1728 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_check_bt_change() local
1733 rtlpriv->btcoexist.bt_coexistence) in rtl92c_check_bt_change()
1735 if (rtlpriv->btcoexist.bt_cur_state) { in rtl92c_check_bt_change()
1736 if (rtlpriv->btcoexist.bt_ant_isolation) in rtl92c_check_bt_change()
1739 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte); in rtl92c_check_bt_change()
1740 rtlpriv->cfg->ops->set_rfreg(hw, RF90_PATH_A, 0x1e, 0xf0, in rtl92c_check_bt_change()
1741 rtlpriv->btcoexist.bt_rfreg_origin_1e); in rtl92c_check_bt_change()
1743 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl92c_check_bt_change()
1744 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl92c_check_bt_change()
1750 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_bt_coexist() local
1755 if ((rtlpriv->btcoexist.bt_coexistence) && in rtl92c_dm_bt_coexist()
1756 (rtlpriv->btcoexist.bt_coexist_type == BT_CSR_BC4)) { in rtl92c_dm_bt_coexist()