Lines Matching refs:hw
179 void rtl8723be_dm_txpower_track_adjust(struct ieee80211_hw *hw, u8 type, in rtl8723be_dm_txpower_track_adjust() argument
182 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_txpower_track_adjust()
183 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8723be_dm_txpower_track_adjust()
215 void rtl8723be_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw) in rtl8723be_dm_init_rate_adaptive_mask() argument
217 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_init_rate_adaptive_mask()
232 static void rtl8723be_dm_init_txpower_tracking(struct ieee80211_hw *hw) in rtl8723be_dm_init_txpower_tracking() argument
234 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_init_txpower_tracking()
255 static void rtl8723be_dm_init_dynamic_atc_switch(struct ieee80211_hw *hw) in rtl8723be_dm_init_dynamic_atc_switch() argument
257 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_init_dynamic_atc_switch()
261 rtlpriv->dm.atc_status = rtl_get_bbreg(hw, ROFDM1_CFOTRACKING, 0x800); in rtl8723be_dm_init_dynamic_atc_switch()
265 void rtl8723be_dm_init(struct ieee80211_hw *hw) in rtl8723be_dm_init() argument
267 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_init()
268 u32 cur_igvalue = rtl_get_bbreg(hw, ROFDM0_XAAGCCORE1, 0x7f); in rtl8723be_dm_init()
271 rtl_dm_diginit(hw, cur_igvalue); in rtl8723be_dm_init()
272 rtl8723be_dm_init_rate_adaptive_mask(hw); in rtl8723be_dm_init()
273 rtl8723_dm_init_edca_turbo(hw); in rtl8723be_dm_init()
274 rtl8723_dm_init_dynamic_bb_powersaving(hw); in rtl8723be_dm_init()
275 rtl8723_dm_init_dynamic_txpower(hw); in rtl8723be_dm_init()
276 rtl8723be_dm_init_txpower_tracking(hw); in rtl8723be_dm_init()
277 rtl8723be_dm_init_dynamic_atc_switch(hw); in rtl8723be_dm_init()
280 static void rtl8723be_dm_find_minimum_rssi(struct ieee80211_hw *hw) in rtl8723be_dm_find_minimum_rssi() argument
282 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_find_minimum_rssi()
319 static void rtl8723be_dm_check_rssi_monitor(struct ieee80211_hw *hw) in rtl8723be_dm_check_rssi_monitor() argument
321 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_check_rssi_monitor()
367 rtl8723be_fill_h2c_cmd(hw, H2C_RSSIBE_REPORT, 3, h2c_parameter); in rtl8723be_dm_check_rssi_monitor()
372 rtl8723be_dm_find_minimum_rssi(hw); in rtl8723be_dm_check_rssi_monitor()
377 void rtl8723be_dm_write_dig(struct ieee80211_hw *hw, u8 current_igi) in rtl8723be_dm_write_dig() argument
379 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_write_dig()
386 rtl_set_bbreg(hw, ROFDM0_XAAGCCORE1, 0x7f, current_igi); in rtl8723be_dm_write_dig()
388 rtl_set_bbreg(hw, ROFDM0_XBAGCCORE1, in rtl8723be_dm_write_dig()
395 static void rtl8723be_dm_dig(struct ieee80211_hw *hw) in rtl8723be_dm_dig() argument
397 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_dig()
399 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl8723be_dm_dig()
525 rtl8723be_dm_write_dig(hw, current_igi); in rtl8723be_dm_dig()
532 struct ieee80211_hw *hw) in rtl8723be_dm_false_alarm_counter_statistics() argument
535 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_false_alarm_counter_statistics()
538 rtl_set_bbreg(hw, DM_REG_OFDM_FA_HOLDC_11N, BIT(31), 1); in rtl8723be_dm_false_alarm_counter_statistics()
539 rtl_set_bbreg(hw, DM_REG_OFDM_FA_RSTD_11N, BIT(31), 1); in rtl8723be_dm_false_alarm_counter_statistics()
541 ret_value = rtl_get_bbreg(hw, DM_REG_OFDM_FA_TYPE1_11N, MASKDWORD); in rtl8723be_dm_false_alarm_counter_statistics()
545 ret_value = rtl_get_bbreg(hw, DM_REG_OFDM_FA_TYPE2_11N, MASKDWORD); in rtl8723be_dm_false_alarm_counter_statistics()
549 ret_value = rtl_get_bbreg(hw, DM_REG_OFDM_FA_TYPE3_11N, MASKDWORD); in rtl8723be_dm_false_alarm_counter_statistics()
553 ret_value = rtl_get_bbreg(hw, DM_REG_OFDM_FA_TYPE4_11N, MASKDWORD); in rtl8723be_dm_false_alarm_counter_statistics()
563 rtl_set_bbreg(hw, DM_REG_CCK_FA_RST_11N, BIT(12), 1); in rtl8723be_dm_false_alarm_counter_statistics()
564 rtl_set_bbreg(hw, DM_REG_CCK_FA_RST_11N, BIT(14), 1); in rtl8723be_dm_false_alarm_counter_statistics()
566 ret_value = rtl_get_bbreg(hw, DM_REG_CCK_FA_RST_11N, MASKBYTE0); in rtl8723be_dm_false_alarm_counter_statistics()
569 ret_value = rtl_get_bbreg(hw, DM_REG_CCK_FA_MSB_11N, MASKBYTE3); in rtl8723be_dm_false_alarm_counter_statistics()
572 ret_value = rtl_get_bbreg(hw, DM_REG_CCK_CCA_CNT_11N, MASKDWORD); in rtl8723be_dm_false_alarm_counter_statistics()
587 rtl_set_bbreg(hw, DM_REG_OFDM_FA_RSTC_11N, BIT(31), 1); in rtl8723be_dm_false_alarm_counter_statistics()
588 rtl_set_bbreg(hw, DM_REG_OFDM_FA_RSTC_11N, BIT(31), 0); in rtl8723be_dm_false_alarm_counter_statistics()
589 rtl_set_bbreg(hw, DM_REG_OFDM_FA_RSTD_11N, BIT(27), 1); in rtl8723be_dm_false_alarm_counter_statistics()
590 rtl_set_bbreg(hw, DM_REG_OFDM_FA_RSTD_11N, BIT(27), 0); in rtl8723be_dm_false_alarm_counter_statistics()
592 rtl_set_bbreg(hw, DM_REG_OFDM_FA_HOLDC_11N, BIT(31), 0); in rtl8723be_dm_false_alarm_counter_statistics()
593 rtl_set_bbreg(hw, DM_REG_OFDM_FA_RSTD_11N, BIT(31), 0); in rtl8723be_dm_false_alarm_counter_statistics()
595 rtl_set_bbreg(hw, DM_REG_CCK_FA_RST_11N, BIT(13) | BIT(12), 0); in rtl8723be_dm_false_alarm_counter_statistics()
596 rtl_set_bbreg(hw, DM_REG_CCK_FA_RST_11N, BIT(13) | BIT(12), 2); in rtl8723be_dm_false_alarm_counter_statistics()
598 rtl_set_bbreg(hw, DM_REG_CCK_FA_RST_11N, BIT(15) | BIT(14), 0); in rtl8723be_dm_false_alarm_counter_statistics()
599 rtl_set_bbreg(hw, DM_REG_CCK_FA_RST_11N, BIT(15) | BIT(14), 2); in rtl8723be_dm_false_alarm_counter_statistics()
615 static void rtl8723be_dm_dynamic_txpower(struct ieee80211_hw *hw) in rtl8723be_dm_dynamic_txpower() argument
621 static void rtl8723be_set_iqk_matrix(struct ieee80211_hw *hw, u8 ofdm_index, in rtl8723be_set_iqk_matrix() argument
645 rtl_set_bbreg(hw, ROFDM0_XATXIQIMBALANCE, MASKDWORD, in rtl8723be_set_iqk_matrix()
648 rtl_set_bbreg(hw, ROFDM0_XCTXAFE, MASKH4BITS, value32); in rtl8723be_set_iqk_matrix()
650 rtl_set_bbreg(hw, ROFDM0_ECCATHRESHOLD, BIT(24), in rtl8723be_set_iqk_matrix()
659 rtl_set_bbreg(hw, ROFDM0_XATXIQIMBALANCE, MASKDWORD, in rtl8723be_set_iqk_matrix()
661 rtl_set_bbreg(hw, ROFDM0_XCTXAFE, MASKH4BITS, 0x00); in rtl8723be_set_iqk_matrix()
662 rtl_set_bbreg(hw, ROFDM0_ECCATHRESHOLD, BIT(24), 0x00); in rtl8723be_set_iqk_matrix()
670 static void rtl8723be_dm_tx_power_track_set_power(struct ieee80211_hw *hw, in rtl8723be_dm_tx_power_track_set_power() argument
674 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_tx_power_track_set_power()
676 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8723be_dm_tx_power_track_set_power()
680 rtl8723be_phy_set_txpower_level(hw, rtlphy->current_channel); in rtl8723be_dm_tx_power_track_set_power()
727 rtl8723be_set_iqk_matrix(hw, in rtl8723be_dm_tx_power_track_set_power()
737 rtl8723be_set_iqk_matrix(hw, in rtl8723be_dm_tx_power_track_set_power()
748 struct ieee80211_hw *hw) in rtl8723be_dm_txpower_tracking_callback_thermalmeter() argument
750 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
751 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
752 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
775 thermalvalue = (u8)rtl_get_rfreg(hw, in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
824 rtl8723be_phy_lc_calibrate(hw); in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
887 rtl8723be_dm_tx_power_track_set_power(hw, BBSWING, 0, in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
890 rtl8723be_dm_tx_power_track_set_power(hw, BBSWING, 0, in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
901 rtl8723be_phy_iq_calibrate(hw, false); in rtl8723be_dm_txpower_tracking_callback_thermalmeter()
909 void rtl8723be_dm_check_txpower_tracking(struct ieee80211_hw *hw) in rtl8723be_dm_check_txpower_tracking() argument
911 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_check_txpower_tracking()
917 rtl_set_rfreg(hw, RF90_PATH_A, RF_T_METER, BIT(17) | BIT(16), in rtl8723be_dm_check_txpower_tracking()
926 rtl8723be_dm_txpower_tracking_callback_thermalmeter(hw); in rtl8723be_dm_check_txpower_tracking()
931 static void rtl8723be_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw) in rtl8723be_dm_refresh_rate_adaptive_mask() argument
933 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_refresh_rate_adaptive_mask()
934 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl8723be_dm_refresh_rate_adaptive_mask()
935 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl8723be_dm_refresh_rate_adaptive_mask()
988 sta = rtl_find_sta(hw, mac->bssid); in rtl8723be_dm_refresh_rate_adaptive_mask()
990 rtlpriv->cfg->ops->update_rate_tbl(hw, sta, in rtl8723be_dm_refresh_rate_adaptive_mask()
999 static bool rtl8723be_dm_is_edca_turbo_disable(struct ieee80211_hw *hw) in rtl8723be_dm_is_edca_turbo_disable() argument
1001 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_is_edca_turbo_disable()
1009 static void rtl8723be_dm_check_edca_turbo(struct ieee80211_hw *hw) in rtl8723be_dm_check_edca_turbo() argument
1011 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_check_edca_turbo()
1012 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl8723be_dm_check_edca_turbo()
1044 if (rtl8723be_dm_is_edca_turbo_disable(hw)) in rtl8723be_dm_check_edca_turbo()
1062 rtlpriv->cfg->ops->set_hw_reg(hw, HW_VAR_AC_PARAM, in rtl8723be_dm_check_edca_turbo()
1074 static void rtl8723be_dm_cck_packet_detection_thresh(struct ieee80211_hw *hw) in rtl8723be_dm_cck_packet_detection_thresh() argument
1076 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_cck_packet_detection_thresh()
1100 rtl_set_bbreg(hw, RCCK0_CCA, MASKBYTE2, cur_cck_cca_thresh); in rtl8723be_dm_cck_packet_detection_thresh()
1108 static void rtl8723be_dm_dynamic_edcca(struct ieee80211_hw *hw) in rtl8723be_dm_dynamic_edcca() argument
1110 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_dynamic_edcca()
1114 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in rtl8723be_dm_dynamic_edcca()
1119 reg_c50 = rtl_get_bbreg(hw, ROFDM0_XAAGCCORE1, MASKBYTE0); in rtl8723be_dm_dynamic_edcca()
1120 reg_c58 = rtl_get_bbreg(hw, ROFDM0_XBAGCCORE1, MASKBYTE0); in rtl8723be_dm_dynamic_edcca()
1135 static void rtl8723be_dm_dynamic_atc_switch(struct ieee80211_hw *hw) in rtl8723be_dm_dynamic_atc_switch() argument
1137 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_dynamic_atc_switch()
1138 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8723be_dm_dynamic_atc_switch()
1146 rtl_set_bbreg(hw, ROFDM1_CFOTRACKING, BIT(11), in rtl8723be_dm_dynamic_atc_switch()
1161 rtl_set_bbreg(hw, REG_MAC_PHY_CTRL, 0xFFF000, in rtl8723be_dm_dynamic_atc_switch()
1217 rtl_set_bbreg(hw, REG_MAC_PHY_CTRL, 0xFFF000, in rtl8723be_dm_dynamic_atc_switch()
1224 rtl_set_bbreg(hw, ROFDM1_CFOTRACKING, BIT(11), in rtl8723be_dm_dynamic_atc_switch()
1230 rtl_set_bbreg(hw, ROFDM1_CFOTRACKING, BIT(11), in rtl8723be_dm_dynamic_atc_switch()
1238 static void rtl8723be_dm_common_info_self_update(struct ieee80211_hw *hw) in rtl8723be_dm_common_info_self_update() argument
1240 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_common_info_self_update()
1266 void rtl8723be_dm_watchdog(struct ieee80211_hw *hw) in rtl8723be_dm_watchdog() argument
1268 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl8723be_dm_watchdog()
1269 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl8723be_dm_watchdog()
1273 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in rtl8723be_dm_watchdog()
1276 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FWLPS_RF_ON, in rtl8723be_dm_watchdog()
1285 rtl8723be_dm_common_info_self_update(hw); in rtl8723be_dm_watchdog()
1286 rtl8723be_dm_false_alarm_counter_statistics(hw); in rtl8723be_dm_watchdog()
1287 rtl8723be_dm_check_rssi_monitor(hw); in rtl8723be_dm_watchdog()
1288 rtl8723be_dm_dig(hw); in rtl8723be_dm_watchdog()
1289 rtl8723be_dm_dynamic_edcca(hw); in rtl8723be_dm_watchdog()
1290 rtl8723be_dm_cck_packet_detection_thresh(hw); in rtl8723be_dm_watchdog()
1291 rtl8723be_dm_refresh_rate_adaptive_mask(hw); in rtl8723be_dm_watchdog()
1292 rtl8723be_dm_check_edca_turbo(hw); in rtl8723be_dm_watchdog()
1293 rtl8723be_dm_dynamic_atc_switch(hw); in rtl8723be_dm_watchdog()
1294 rtl8723be_dm_check_txpower_tracking(hw); in rtl8723be_dm_watchdog()
1295 rtl8723be_dm_dynamic_txpower(hw); in rtl8723be_dm_watchdog()