Lines Matching refs:rtlpriv
141 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_restorepowerindex() local
145 rtl_write_byte(rtlpriv, power_index_reg[index], in dm_restorepowerindex()
146 rtlpriv->dm.powerindex_backup[index]); in dm_restorepowerindex()
152 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_writepowerindex() local
156 rtl_write_byte(rtlpriv, power_index_reg[index], value); in dm_writepowerindex()
162 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_savepowerindex() local
167 tmp = rtl_read_byte(rtlpriv, power_index_reg[index]); in dm_savepowerindex()
168 rtlpriv->dm.powerindex_backup[index] = tmp; in dm_savepowerindex()
175 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initial_gain_min_pwdb() local
176 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_initial_gain_min_pwdb()
181 if (rtlpriv->dm.entry_min_undec_sm_pwdb != 0) in rtl92c_dm_initial_gain_min_pwdb()
183 (rtlpriv->dm.entry_min_undec_sm_pwdb > in rtl92c_dm_initial_gain_min_pwdb()
184 rtlpriv->dm.undec_sm_pwdb) ? in rtl92c_dm_initial_gain_min_pwdb()
185 rtlpriv->dm.undec_sm_pwdb : in rtl92c_dm_initial_gain_min_pwdb()
186 rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
188 rssi_val_min = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
191 rssi_val_min = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
193 rssi_val_min = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_initial_gain_min_pwdb()
204 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_false_alarm_counter_statistics() local
205 struct false_alarm_statistics *falsealm_cnt = &(rtlpriv->falsealm_cnt); in rtl92c_dm_false_alarm_counter_statistics()
245 rtl_dbg(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_false_alarm_counter_statistics()
251 rtl_dbg(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_false_alarm_counter_statistics()
259 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_ctrl_initgain_by_fa() local
260 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_ctrl_initgain_by_fa()
263 if (rtlpriv->falsealm_cnt.cnt_all < DM_DIG_FA_TH0) in rtl92c_dm_ctrl_initgain_by_fa()
265 else if (rtlpriv->falsealm_cnt.cnt_all < DM_DIG_FA_TH1) in rtl92c_dm_ctrl_initgain_by_fa()
267 else if (rtlpriv->falsealm_cnt.cnt_all < DM_DIG_FA_TH2) in rtl92c_dm_ctrl_initgain_by_fa()
269 else if (rtlpriv->falsealm_cnt.cnt_all >= DM_DIG_FA_TH2) in rtl92c_dm_ctrl_initgain_by_fa()
277 if (rtlpriv->falsealm_cnt.cnt_all > 10000) in rtl92c_dm_ctrl_initgain_by_fa()
286 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_ctrl_initgain_by_rssi() local
287 struct dig_t *digtable = &rtlpriv->dm_digtable; in rtl92c_dm_ctrl_initgain_by_rssi()
291 if (rtlpriv->falsealm_cnt.cnt_all > 10000) { in rtl92c_dm_ctrl_initgain_by_rssi()
324 if (rtlpriv->falsealm_cnt.cnt_all < 250) { in rtl92c_dm_ctrl_initgain_by_rssi()
325 isbt = rtl_read_byte(rtlpriv, 0x4fd) & 0x01; in rtl92c_dm_ctrl_initgain_by_rssi()
328 if (rtlpriv->falsealm_cnt.cnt_all > in rtl92c_dm_ctrl_initgain_by_rssi()
335 } else if (rtlpriv->falsealm_cnt.cnt_all < in rtl92c_dm_ctrl_initgain_by_rssi()
348 if (rtlpriv->falsealm_cnt.cnt_all > 1000) in rtl92c_dm_ctrl_initgain_by_rssi()
350 else if (rtlpriv->falsealm_cnt.cnt_all > 750) in rtl92c_dm_ctrl_initgain_by_rssi()
352 else if (rtlpriv->falsealm_cnt.cnt_all < 500) in rtl92c_dm_ctrl_initgain_by_rssi()
369 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initial_gain_multi_sta() local
370 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_initial_gain_multi_sta()
372 long rssi_strength = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_initial_gain_multi_sta()
411 rtl_dbg(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_initial_gain_multi_sta()
419 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initial_gain_sta() local
420 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_initial_gain_sta()
422 rtl_dbg(rtlpriv, COMP_DIG, DBG_TRACE, in rtl92c_dm_initial_gain_sta()
447 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_cck_packet_detection_thresh() local
448 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_cck_packet_detection_thresh()
487 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_ctrl_initgain_by_twoport() local
488 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_ctrl_initgain_by_twoport()
510 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dig() local
512 if (!rtlpriv->dm.dm_initialgain_enable) in rtl92c_dm_dig()
514 if (!(rtlpriv->dm.dm_flag & DYNAMIC_FUNC_DIG)) in rtl92c_dm_dig()
522 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_dynamic_txpower() local
524 if (rtlpriv->rtlhal.interface == INTF_USB && in rtl92c_dm_init_dynamic_txpower()
525 rtlpriv->rtlhal.board_type & 0x1) { in rtl92c_dm_init_dynamic_txpower()
527 rtlpriv->dm.dynamic_txpower_enable = true; in rtl92c_dm_init_dynamic_txpower()
529 rtlpriv->dm.dynamic_txpower_enable = false; in rtl92c_dm_init_dynamic_txpower()
531 rtlpriv->dm.last_dtp_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_init_dynamic_txpower()
532 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_init_dynamic_txpower()
537 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_write_dig() local
538 struct dig_t *dm_digtable = &rtlpriv->dm_digtable; in rtl92c_dm_write_dig()
540 rtl_dbg(rtlpriv, COMP_DIG, DBG_LOUD, in rtl92c_dm_write_dig()
545 if (rtlpriv->rtlhal.interface == INTF_USB && in rtl92c_dm_write_dig()
562 rtl_dbg(rtlpriv, COMP_DIG, DBG_WARNING, in rtl92c_dm_write_dig()
573 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_pwdb_monitor() local
586 rtlpriv->dm.entry_max_undec_sm_pwdb = tmpentry_max_pwdb; in rtl92c_dm_pwdb_monitor()
588 rtlpriv->dm.entry_max_undec_sm_pwdb = 0; in rtl92c_dm_pwdb_monitor()
591 rtlpriv->dm.entry_min_undec_sm_pwdb = tmpentry_min_pwdb; in rtl92c_dm_pwdb_monitor()
593 rtlpriv->dm.entry_min_undec_sm_pwdb = 0; in rtl92c_dm_pwdb_monitor()
607 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_edca_turbo() local
609 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_init_edca_turbo()
610 rtlpriv->dm.is_any_nonbepkts = false; in rtl92c_dm_init_edca_turbo()
611 rtlpriv->dm.is_cur_rdlstate = false; in rtl92c_dm_init_edca_turbo()
617 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_check_edca_turbo() local
630 if ((last_bt_edca_ul != rtlpriv->btcoexist.bt_edca_ul) || in rtl92c_dm_check_edca_turbo()
631 (last_bt_edca_dl != rtlpriv->btcoexist.bt_edca_dl)) { in rtl92c_dm_check_edca_turbo()
632 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_check_edca_turbo()
633 last_bt_edca_ul = rtlpriv->btcoexist.bt_edca_ul; in rtl92c_dm_check_edca_turbo()
634 last_bt_edca_dl = rtlpriv->btcoexist.bt_edca_dl; in rtl92c_dm_check_edca_turbo()
637 if (rtlpriv->btcoexist.bt_edca_ul != 0) { in rtl92c_dm_check_edca_turbo()
638 edca_be_ul = rtlpriv->btcoexist.bt_edca_ul; in rtl92c_dm_check_edca_turbo()
642 if (rtlpriv->btcoexist.bt_edca_dl != 0) { in rtl92c_dm_check_edca_turbo()
643 edca_be_ul = rtlpriv->btcoexist.bt_edca_dl; in rtl92c_dm_check_edca_turbo()
648 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_check_edca_turbo()
652 if ((!mac->ht_enable) && (!rtlpriv->btcoexist.bt_coexistence)) { in rtl92c_dm_check_edca_turbo()
660 if ((bt_change_edca) || ((!rtlpriv->dm.is_any_nonbepkts) && in rtl92c_dm_check_edca_turbo()
661 (!rtlpriv->dm.disable_framebursting))) { in rtl92c_dm_check_edca_turbo()
662 cur_txok_cnt = rtlpriv->stats.txbytesunicast - last_txok_cnt; in rtl92c_dm_check_edca_turbo()
663 cur_rxok_cnt = rtlpriv->stats.rxbytesunicast - last_rxok_cnt; in rtl92c_dm_check_edca_turbo()
666 if (!rtlpriv->dm.is_cur_rdlstate || in rtl92c_dm_check_edca_turbo()
667 !rtlpriv->dm.current_turbo_edca) { in rtl92c_dm_check_edca_turbo()
668 rtl_write_dword(rtlpriv, in rtl92c_dm_check_edca_turbo()
671 rtlpriv->dm.is_cur_rdlstate = true; in rtl92c_dm_check_edca_turbo()
674 if (rtlpriv->dm.is_cur_rdlstate || in rtl92c_dm_check_edca_turbo()
675 !rtlpriv->dm.current_turbo_edca) { in rtl92c_dm_check_edca_turbo()
676 rtl_write_dword(rtlpriv, in rtl92c_dm_check_edca_turbo()
679 rtlpriv->dm.is_cur_rdlstate = false; in rtl92c_dm_check_edca_turbo()
682 rtlpriv->dm.current_turbo_edca = true; in rtl92c_dm_check_edca_turbo()
684 if (rtlpriv->dm.current_turbo_edca) { in rtl92c_dm_check_edca_turbo()
687 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, in rtl92c_dm_check_edca_turbo()
689 rtlpriv->dm.current_turbo_edca = false; in rtl92c_dm_check_edca_turbo()
693 rtlpriv->dm.is_any_nonbepkts = false; in rtl92c_dm_check_edca_turbo()
694 last_txok_cnt = rtlpriv->stats.txbytesunicast; in rtl92c_dm_check_edca_turbo()
695 last_rxok_cnt = rtlpriv->stats.rxbytesunicast; in rtl92c_dm_check_edca_turbo()
701 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_txpower_tracking_callback_thermalmeter() local
703 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
715 rtlpriv->dm.txpower_trackinginit = true; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
716 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
721 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
723 thermalvalue, rtlpriv->dm.thermalvalue, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
741 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
757 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
771 if (rtlpriv->dm.cck_inch14) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
777 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
782 rtlpriv->dm.cck_inch14); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
792 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
797 rtlpriv->dm.cck_inch14); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
803 if (!rtlpriv->dm.thermalvalue) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
804 rtlpriv->dm.thermalvalue = in rtl92c_dm_txpower_tracking_callback_thermalmeter()
806 rtlpriv->dm.thermalvalue_lck = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
807 rtlpriv->dm.thermalvalue_iqk = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
809 rtlpriv->dm.ofdm_index[i] = ofdm_index_old[i]; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
810 rtlpriv->dm.cck_index = cck_index_old; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
814 delta = (thermalvalue > rtlpriv->dm.thermalvalue) ? in rtl92c_dm_txpower_tracking_callback_thermalmeter()
815 (thermalvalue - rtlpriv->dm.thermalvalue) : in rtl92c_dm_txpower_tracking_callback_thermalmeter()
816 (rtlpriv->dm.thermalvalue - thermalvalue); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
818 delta_lck = (thermalvalue > rtlpriv->dm.thermalvalue_lck) ? in rtl92c_dm_txpower_tracking_callback_thermalmeter()
819 (thermalvalue - rtlpriv->dm.thermalvalue_lck) : in rtl92c_dm_txpower_tracking_callback_thermalmeter()
820 (rtlpriv->dm.thermalvalue_lck - thermalvalue); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
822 delta_iqk = (thermalvalue > rtlpriv->dm.thermalvalue_iqk) ? in rtl92c_dm_txpower_tracking_callback_thermalmeter()
823 (thermalvalue - rtlpriv->dm.thermalvalue_iqk) : in rtl92c_dm_txpower_tracking_callback_thermalmeter()
824 (rtlpriv->dm.thermalvalue_iqk - thermalvalue); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
826 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
828 thermalvalue, rtlpriv->dm.thermalvalue, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
833 rtlpriv->dm.thermalvalue_lck = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
837 if (delta > 0 && rtlpriv->dm.txpower_track_control) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
838 if (thermalvalue > rtlpriv->dm.thermalvalue) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
840 rtlpriv->dm.ofdm_index[i] -= delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
841 rtlpriv->dm.cck_index -= delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
844 rtlpriv->dm.ofdm_index[i] += delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
845 rtlpriv->dm.cck_index += delta; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
849 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
851 rtlpriv->dm.ofdm_index[0], in rtl92c_dm_txpower_tracking_callback_thermalmeter()
852 rtlpriv->dm.ofdm_index[1], in rtl92c_dm_txpower_tracking_callback_thermalmeter()
853 rtlpriv->dm.cck_index); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
855 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
857 rtlpriv->dm.ofdm_index[0], in rtl92c_dm_txpower_tracking_callback_thermalmeter()
858 rtlpriv->dm.cck_index); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
864 rtlpriv->dm.ofdm_index[i] in rtl92c_dm_txpower_tracking_callback_thermalmeter()
866 cck_index = rtlpriv->dm.cck_index + 1; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
870 rtlpriv->dm.ofdm_index[i]; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
871 cck_index = rtlpriv->dm.cck_index; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
949 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
954 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
960 if (rtlpriv->dm.txpower_track_control && delta != 0) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1003 if (!rtlpriv->dm.cck_inch14) { in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1004 rtl_write_byte(rtlpriv, 0xa22, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1007 rtl_write_byte(rtlpriv, 0xa23, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1010 rtl_write_byte(rtlpriv, 0xa24, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1013 rtl_write_byte(rtlpriv, 0xa25, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1016 rtl_write_byte(rtlpriv, 0xa26, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1019 rtl_write_byte(rtlpriv, 0xa27, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1022 rtl_write_byte(rtlpriv, 0xa28, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1025 rtl_write_byte(rtlpriv, 0xa29, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1029 rtl_write_byte(rtlpriv, 0xa22, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1032 rtl_write_byte(rtlpriv, 0xa23, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1035 rtl_write_byte(rtlpriv, 0xa24, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1038 rtl_write_byte(rtlpriv, 0xa25, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1041 rtl_write_byte(rtlpriv, 0xa26, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1044 rtl_write_byte(rtlpriv, 0xa27, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1047 rtl_write_byte(rtlpriv, 0xa28, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1050 rtl_write_byte(rtlpriv, 0xa29, in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1106 rtlpriv->dm.thermalvalue_iqk = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1110 if (rtlpriv->dm.txpower_track_control) in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1111 rtlpriv->dm.thermalvalue = thermalvalue; in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1114 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, "<===\n"); in rtl92c_dm_txpower_tracking_callback_thermalmeter()
1121 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_initialize_txpower_tracking_thermalmeter() local
1123 rtlpriv->dm.txpower_tracking = true; in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1124 rtlpriv->dm.txpower_trackinginit = false; in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1126 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1128 rtlpriv->dm.txpower_tracking); in rtl92c_dm_initialize_txpower_tracking_thermalmeter()
1144 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_check_txpower_tracking_thermal_meter() local
1146 if (!rtlpriv->dm.txpower_tracking) in rtl92c_dm_check_txpower_tracking_thermal_meter()
1149 if (!rtlpriv->dm.tm_trigger) { in rtl92c_dm_check_txpower_tracking_thermal_meter()
1152 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_check_txpower_tracking_thermal_meter()
1154 rtlpriv->dm.tm_trigger = 1; in rtl92c_dm_check_txpower_tracking_thermal_meter()
1157 rtl_dbg(rtlpriv, COMP_POWER_TRACKING, DBG_LOUD, in rtl92c_dm_check_txpower_tracking_thermal_meter()
1160 rtlpriv->dm.tm_trigger = 0; in rtl92c_dm_check_txpower_tracking_thermal_meter()
1172 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_rate_adaptive_mask() local
1173 struct rate_adaptive *p_ra = &(rtlpriv->ra); in rtl92c_dm_init_rate_adaptive_mask()
1178 if (rtlpriv->dm.dm_type == DM_TYPE_BYDRIVER) in rtl92c_dm_init_rate_adaptive_mask()
1179 rtlpriv->dm.useramask = true; in rtl92c_dm_init_rate_adaptive_mask()
1181 rtlpriv->dm.useramask = false; in rtl92c_dm_init_rate_adaptive_mask()
1188 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_dynamic_bb_powersaving() local
1189 struct ps_t *dm_pstable = &rtlpriv->dm_pstable; in rtl92c_dm_init_dynamic_bb_powersaving()
1200 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_rf_saving() local
1201 struct ps_t *dm_pstable = &rtlpriv->dm_pstable; in rtl92c_dm_rf_saving()
1203 if (!rtlpriv->reg_init) { in rtl92c_dm_rf_saving()
1204 rtlpriv->reg_874 = (rtl_get_bbreg(hw, in rtl92c_dm_rf_saving()
1208 rtlpriv->reg_c70 = (rtl_get_bbreg(hw, ROFDM0_AGCPARAMETER1, in rtl92c_dm_rf_saving()
1211 rtlpriv->reg_85c = (rtl_get_bbreg(hw, RFPGA0_XCD_SWITCHCONTROL, in rtl92c_dm_rf_saving()
1214 rtlpriv->reg_a74 = (rtl_get_bbreg(hw, 0xa74, MASKDWORD) & in rtl92c_dm_rf_saving()
1217 rtlpriv->reg_init = true; in rtl92c_dm_rf_saving()
1254 0x1CC000, rtlpriv->reg_874); in rtl92c_dm_rf_saving()
1256 rtlpriv->reg_c70); in rtl92c_dm_rf_saving()
1258 rtlpriv->reg_85c); in rtl92c_dm_rf_saving()
1259 rtl_set_bbreg(hw, 0xa74, 0xF000, rtlpriv->reg_a74); in rtl92c_dm_rf_saving()
1270 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dynamic_bb_powersaving() local
1271 struct ps_t *dm_pstable = &rtlpriv->dm_pstable; in rtl92c_dm_dynamic_bb_powersaving()
1277 (rtlpriv->dm.entry_min_undec_sm_pwdb == 0)) { in rtl92c_dm_dynamic_bb_powersaving()
1279 rtl_dbg(rtlpriv, DBG_LOUD, DBG_LOUD, "Not connected to any\n"); in rtl92c_dm_dynamic_bb_powersaving()
1285 rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_bb_powersaving()
1286 rtl_dbg(rtlpriv, DBG_LOUD, DBG_LOUD, in rtl92c_dm_dynamic_bb_powersaving()
1290 dm_pstable->rssi_val_min = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_dynamic_bb_powersaving()
1291 rtl_dbg(rtlpriv, DBG_LOUD, DBG_LOUD, in rtl92c_dm_dynamic_bb_powersaving()
1297 rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_bb_powersaving()
1299 rtl_dbg(rtlpriv, DBG_LOUD, DBG_LOUD, in rtl92c_dm_dynamic_bb_powersaving()
1313 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init() local
1315 rtlpriv->dm.dm_type = DM_TYPE_BYDRIVER; in rtl92c_dm_init()
1316 rtlpriv->dm.dm_flag = DYNAMIC_FUNC_DISABLE | DYNAMIC_FUNC_DIG; in rtl92c_dm_init()
1317 rtlpriv->dm.undec_sm_pwdb = -1; in rtl92c_dm_init()
1318 rtlpriv->dm.undec_sm_cck = -1; in rtl92c_dm_init()
1319 rtlpriv->dm.dm_initialgain_enable = true; in rtl92c_dm_init()
1322 rtlpriv->dm.dm_flag |= HAL_DM_HIPWR_DISABLE; in rtl92c_dm_init()
1327 rtlpriv->dm.dm_flag |= DYNAMIC_FUNC_SS; in rtl92c_dm_init()
1331 rtlpriv->dm.ofdm_pkt_cnt = 0; in rtl92c_dm_init()
1332 rtlpriv->dm.dm_rssi_sel = RSSI_DEFAULT; in rtl92c_dm_init()
1338 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dynamic_txpower() local
1339 struct rtl_phy *rtlphy = &(rtlpriv->phy); in rtl92c_dm_dynamic_txpower()
1343 if (!rtlpriv->dm.dynamic_txpower_enable) in rtl92c_dm_dynamic_txpower()
1346 if (rtlpriv->dm.dm_flag & HAL_DM_HIPWR_DISABLE) { in rtl92c_dm_dynamic_txpower()
1347 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1352 (rtlpriv->dm.entry_min_undec_sm_pwdb == 0)) { in rtl92c_dm_dynamic_txpower()
1353 rtl_dbg(rtlpriv, COMP_POWER, DBG_TRACE, in rtl92c_dm_dynamic_txpower()
1356 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1358 rtlpriv->dm.last_dtp_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1364 undec_sm_pwdb = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_txpower()
1365 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1369 undec_sm_pwdb = rtlpriv->dm.undec_sm_pwdb; in rtl92c_dm_dynamic_txpower()
1370 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1375 undec_sm_pwdb = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_dm_dynamic_txpower()
1377 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1383 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_LEVEL2; in rtl92c_dm_dynamic_txpower()
1384 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1389 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_LEVEL1; in rtl92c_dm_dynamic_txpower()
1390 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1393 rtlpriv->dm.dynamic_txhighpower_lvl = TXHIGHPWRLEVEL_NORMAL; in rtl92c_dm_dynamic_txpower()
1394 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1398 if ((rtlpriv->dm.dynamic_txhighpower_lvl != rtlpriv->dm.last_dtp_lvl)) { in rtl92c_dm_dynamic_txpower()
1399 rtl_dbg(rtlpriv, COMP_POWER, DBG_LOUD, in rtl92c_dm_dynamic_txpower()
1403 if (rtlpriv->dm.dynamic_txhighpower_lvl == in rtl92c_dm_dynamic_txpower()
1406 else if (rtlpriv->dm.dynamic_txhighpower_lvl == in rtl92c_dm_dynamic_txpower()
1409 else if (rtlpriv->dm.dynamic_txhighpower_lvl == in rtl92c_dm_dynamic_txpower()
1413 rtlpriv->dm.last_dtp_lvl = rtlpriv->dm.dynamic_txhighpower_lvl; in rtl92c_dm_dynamic_txpower()
1418 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_watchdog() local
1423 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in rtl92c_dm_watchdog()
1425 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FWLPS_RF_ON, in rtl92c_dm_watchdog()
1449 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_rssi_state_change() local
1453 if (rtlpriv->mac80211.link_state == MAC80211_LINKED) { in rtl92c_bt_rssi_state_change()
1454 undec_sm_pwdb = GET_UNDECORATED_AVERAGE_RSSI(rtlpriv); in rtl92c_bt_rssi_state_change()
1456 if (rtlpriv->dm.entry_min_undec_sm_pwdb == 0) in rtl92c_bt_rssi_state_change()
1459 undec_sm_pwdb = rtlpriv->dm.entry_min_undec_sm_pwdb; in rtl92c_bt_rssi_state_change()
1488 if (curr_bt_rssi_state != rtlpriv->btcoexist.bt_rssi_state) { in rtl92c_bt_rssi_state_change()
1489 rtlpriv->btcoexist.bt_rssi_state = curr_bt_rssi_state; in rtl92c_bt_rssi_state_change()
1499 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_state_change() local
1506 if (rtlpriv->mac80211.link_state < MAC80211_LINKED) in rtl92c_bt_state_change()
1509 bt_state = rtl_read_byte(rtlpriv, 0x4fd); in rtl92c_bt_state_change()
1510 bt_tx = rtl_read_dword(rtlpriv, 0x488) & BT_MASK; in rtl92c_bt_state_change()
1511 bt_pri = rtl_read_dword(rtlpriv, 0x48c) & BT_MASK; in rtl92c_bt_state_change()
1512 polling = rtl_read_dword(rtlpriv, 0x490); in rtl92c_bt_state_change()
1519 if (bt_state != rtlpriv->btcoexist.bt_cur_state) { in rtl92c_bt_state_change()
1520 rtlpriv->btcoexist.bt_cur_state = bt_state; in rtl92c_bt_state_change()
1522 if (rtlpriv->btcoexist.reg_bt_sco == 3) { in rtl92c_bt_state_change()
1523 rtlpriv->btcoexist.bt_service = BT_IDLE; in rtl92c_bt_state_change()
1526 ((rtlpriv->btcoexist.bt_ant_isolation == 1) ? in rtl92c_bt_state_change()
1528 rtl_write_byte(rtlpriv, 0x4fd, bt_state); in rtl92c_bt_state_change()
1535 rtlpriv->btcoexist.ratio_tx = ratio_tx; in rtl92c_bt_state_change()
1536 rtlpriv->btcoexist.ratio_pri = ratio_pri; in rtl92c_bt_state_change()
1538 if (bt_state && rtlpriv->btcoexist.reg_bt_sco == 3) { in rtl92c_bt_state_change()
1553 if (cur_service_type != rtlpriv->btcoexist.bt_service) { in rtl92c_bt_state_change()
1554 rtlpriv->btcoexist.bt_service = cur_service_type; in rtl92c_bt_state_change()
1556 ((rtlpriv->btcoexist.bt_ant_isolation == 1) ? in rtl92c_bt_state_change()
1558 ((rtlpriv->btcoexist.bt_service != BT_IDLE) ? in rtl92c_bt_state_change()
1563 if (rtlpriv->btcoexist.bt_service != BT_IDLE) { in rtl92c_bt_state_change()
1564 rtl_write_word(rtlpriv, 0x504, 0x0ccc); in rtl92c_bt_state_change()
1565 rtl_write_byte(rtlpriv, 0x506, 0x54); in rtl92c_bt_state_change()
1566 rtl_write_byte(rtlpriv, 0x507, 0x54); in rtl92c_bt_state_change()
1568 rtl_write_byte(rtlpriv, 0x506, 0x00); in rtl92c_bt_state_change()
1569 rtl_write_byte(rtlpriv, 0x507, 0x00); in rtl92c_bt_state_change()
1572 rtl_write_byte(rtlpriv, 0x4fd, bt_state); in rtl92c_bt_state_change()
1583 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_wifi_connect_change() local
1586 if (rtlpriv->mac80211.link_state < MAC80211_LINKED) { in rtl92c_bt_wifi_connect_change()
1601 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_set_normal() local
1603 if (rtlpriv->btcoexist.bt_service == BT_OTHERBUSY) { in rtl92c_bt_set_normal()
1604 rtlpriv->btcoexist.bt_edca_ul = 0x5ea72b; in rtl92c_bt_set_normal()
1605 rtlpriv->btcoexist.bt_edca_dl = 0x5ea72b; in rtl92c_bt_set_normal()
1606 } else if (rtlpriv->btcoexist.bt_service == BT_BUSY) { in rtl92c_bt_set_normal()
1607 rtlpriv->btcoexist.bt_edca_ul = 0x5eb82f; in rtl92c_bt_set_normal()
1608 rtlpriv->btcoexist.bt_edca_dl = 0x5eb82f; in rtl92c_bt_set_normal()
1609 } else if (rtlpriv->btcoexist.bt_service == BT_SCO) { in rtl92c_bt_set_normal()
1610 if (rtlpriv->btcoexist.ratio_tx > 160) { in rtl92c_bt_set_normal()
1611 rtlpriv->btcoexist.bt_edca_ul = 0x5ea72f; in rtl92c_bt_set_normal()
1612 rtlpriv->btcoexist.bt_edca_dl = 0x5ea72f; in rtl92c_bt_set_normal()
1614 rtlpriv->btcoexist.bt_edca_ul = 0x5ea32b; in rtl92c_bt_set_normal()
1615 rtlpriv->btcoexist.bt_edca_dl = 0x5ea42b; in rtl92c_bt_set_normal()
1618 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl92c_bt_set_normal()
1619 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl92c_bt_set_normal()
1622 if ((rtlpriv->btcoexist.bt_service != BT_IDLE) && in rtl92c_bt_set_normal()
1623 (rtlpriv->mac80211.mode == WIRELESS_MODE_G || in rtl92c_bt_set_normal()
1624 (rtlpriv->mac80211.mode == (WIRELESS_MODE_G | WIRELESS_MODE_B))) && in rtl92c_bt_set_normal()
1625 (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_set_normal()
1627 rtlpriv->btcoexist.bt_edca_ul = 0x5eb82b; in rtl92c_bt_set_normal()
1628 rtlpriv->btcoexist.bt_edca_dl = 0x5eb82b; in rtl92c_bt_set_normal()
1634 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_bt_ant_isolation() local
1637 if (rtlpriv->mac80211.vendor == PEER_CISCO && in rtl92c_bt_ant_isolation()
1638 rtlpriv->btcoexist.bt_service == BT_OTHER_ACTION) { in rtl92c_bt_ant_isolation()
1639 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl92c_bt_ant_isolation()
1641 if ((rtlpriv->btcoexist.bt_service == BT_BUSY) && in rtl92c_bt_ant_isolation()
1642 (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1644 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl92c_bt_ant_isolation()
1645 } else if ((rtlpriv->btcoexist.bt_service == in rtl92c_bt_ant_isolation()
1646 BT_OTHER_ACTION) && (rtlpriv->mac80211.mode < in rtl92c_bt_ant_isolation()
1648 (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1650 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, 0xa0); in rtl92c_bt_ant_isolation()
1652 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte); in rtl92c_bt_ant_isolation()
1656 if (rtlpriv->btcoexist.bt_service == BT_PAN) in rtl92c_bt_ant_isolation()
1657 rtl_write_dword(rtlpriv, REG_GPIO_PIN_CTRL, 0x10100); in rtl92c_bt_ant_isolation()
1659 rtl_write_dword(rtlpriv, REG_GPIO_PIN_CTRL, 0x0); in rtl92c_bt_ant_isolation()
1661 if (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1665 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl92c_bt_ant_isolation()
1666 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl92c_bt_ant_isolation()
1669 if (rtlpriv->btcoexist.bt_service != BT_IDLE) { in rtl92c_bt_ant_isolation()
1670 rtlpriv->cfg->ops->set_rfreg(hw, in rtl92c_bt_ant_isolation()
1675 rtlpriv->cfg->ops->set_rfreg(hw, in rtl92c_bt_ant_isolation()
1677 rtlpriv->btcoexist.bt_rfreg_origin_1e); in rtl92c_bt_ant_isolation()
1680 if (!rtlpriv->dm.dynamic_txpower_enable) { in rtl92c_bt_ant_isolation()
1681 if (rtlpriv->btcoexist.bt_service != BT_IDLE) { in rtl92c_bt_ant_isolation()
1682 if (rtlpriv->btcoexist.bt_rssi_state & in rtl92c_bt_ant_isolation()
1684 rtlpriv->dm.dynamic_txhighpower_lvl = in rtl92c_bt_ant_isolation()
1687 rtlpriv->dm.dynamic_txhighpower_lvl = in rtl92c_bt_ant_isolation()
1691 rtlpriv->dm.dynamic_txhighpower_lvl = in rtl92c_bt_ant_isolation()
1695 rtlpriv->phy.current_channel); in rtl92c_bt_ant_isolation()
1701 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_check_bt_change() local
1706 rtlpriv->btcoexist.bt_coexistence) in rtl92c_check_bt_change()
1708 if (rtlpriv->btcoexist.bt_cur_state) { in rtl92c_check_bt_change()
1709 if (rtlpriv->btcoexist.bt_ant_isolation) in rtl92c_check_bt_change()
1712 rtl_write_byte(rtlpriv, REG_GPIO_MUXCFG, tmp1byte); in rtl92c_check_bt_change()
1713 rtlpriv->cfg->ops->set_rfreg(hw, RF90_PATH_A, 0x1e, 0xf0, in rtl92c_check_bt_change()
1714 rtlpriv->btcoexist.bt_rfreg_origin_1e); in rtl92c_check_bt_change()
1716 rtlpriv->btcoexist.bt_edca_ul = 0; in rtl92c_check_bt_change()
1717 rtlpriv->btcoexist.bt_edca_dl = 0; in rtl92c_check_bt_change()
1723 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_bt_coexist() local
1728 if ((rtlpriv->btcoexist.bt_coexistence) && in rtl92c_dm_bt_coexist()
1729 (rtlpriv->btcoexist.bt_coexist_type == BT_CSR_BC4)) { in rtl92c_dm_bt_coexist()