Lines Matching refs:hw
168 static void rtl88e_set_iqk_matrix(struct ieee80211_hw *hw, in rtl88e_set_iqk_matrix() argument
188 rtl_set_bbreg(hw, ROFDM0_XATXIQIMBALANCE, in rtl88e_set_iqk_matrix()
191 rtl_set_bbreg(hw, ROFDM0_XCTXAFE, MASKH4BITS, in rtl88e_set_iqk_matrix()
194 rtl_set_bbreg(hw, ROFDM0_ECCATHRESHOLD, BIT(24), in rtl88e_set_iqk_matrix()
199 rtl_set_bbreg(hw, ROFDM0_XBTXIQIMBALANCE, MASKDWORD, in rtl88e_set_iqk_matrix()
202 rtl_set_bbreg(hw, ROFDM0_XDTXAFE, MASKH4BITS, value32); in rtl88e_set_iqk_matrix()
204 rtl_set_bbreg(hw, ROFDM0_ECCATHRESHOLD, BIT(28), in rtl88e_set_iqk_matrix()
213 rtl_set_bbreg(hw, ROFDM0_XATXIQIMBALANCE, in rtl88e_set_iqk_matrix()
215 rtl_set_bbreg(hw, ROFDM0_XCTXAFE, in rtl88e_set_iqk_matrix()
217 rtl_set_bbreg(hw, ROFDM0_ECCATHRESHOLD, in rtl88e_set_iqk_matrix()
221 rtl_set_bbreg(hw, ROFDM0_XBTXIQIMBALANCE, in rtl88e_set_iqk_matrix()
223 rtl_set_bbreg(hw, ROFDM0_XDTXAFE, in rtl88e_set_iqk_matrix()
225 rtl_set_bbreg(hw, ROFDM0_ECCATHRESHOLD, in rtl88e_set_iqk_matrix()
234 void rtl88e_dm_txpower_track_adjust(struct ieee80211_hw *hw, in rtl88e_dm_txpower_track_adjust() argument
237 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_txpower_track_adjust()
238 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_txpower_track_adjust()
270 static void dm_tx_pwr_track_set_pwr(struct ieee80211_hw *hw, in dm_tx_pwr_track_set_pwr() argument
274 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_tx_pwr_track_set_pwr()
276 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in dm_tx_pwr_track_set_pwr()
281 rtl88e_phy_set_txpower_level(hw, in dm_tx_pwr_track_set_pwr()
324 rtl88e_set_iqk_matrix(hw, rtldm->swing_idx_ofdm[rfpath], in dm_tx_pwr_track_set_pwr()
332 rtl88e_set_iqk_matrix(hw, rtldm->swing_idx_ofdm[rfpath], in dm_tx_pwr_track_set_pwr()
345 static u8 rtl88e_dm_initial_gain_min_pwdb(struct ieee80211_hw *hw) in rtl88e_dm_initial_gain_min_pwdb() argument
347 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_initial_gain_min_pwdb()
372 static void rtl88e_dm_false_alarm_counter_statistics(struct ieee80211_hw *hw) in rtl88e_dm_false_alarm_counter_statistics() argument
375 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_false_alarm_counter_statistics()
378 rtl_set_bbreg(hw, ROFDM0_LSTF, BIT(31), 1); in rtl88e_dm_false_alarm_counter_statistics()
379 rtl_set_bbreg(hw, ROFDM1_LSTF, BIT(31), 1); in rtl88e_dm_false_alarm_counter_statistics()
381 ret_value = rtl_get_bbreg(hw, ROFDM0_FRAMESYNC, MASKDWORD); in rtl88e_dm_false_alarm_counter_statistics()
385 ret_value = rtl_get_bbreg(hw, ROFDM_PHYCOUNTER1, MASKDWORD); in rtl88e_dm_false_alarm_counter_statistics()
389 ret_value = rtl_get_bbreg(hw, ROFDM_PHYCOUNTER2, MASKDWORD); in rtl88e_dm_false_alarm_counter_statistics()
393 ret_value = rtl_get_bbreg(hw, ROFDM_PHYCOUNTER3, MASKDWORD); in rtl88e_dm_false_alarm_counter_statistics()
402 ret_value = rtl_get_bbreg(hw, REG_SC_CNT, MASKDWORD); in rtl88e_dm_false_alarm_counter_statistics()
406 rtl_set_bbreg(hw, RCCK0_FALSEALARMREPORT, BIT(12), 1); in rtl88e_dm_false_alarm_counter_statistics()
407 rtl_set_bbreg(hw, RCCK0_FALSEALARMREPORT, BIT(14), 1); in rtl88e_dm_false_alarm_counter_statistics()
409 ret_value = rtl_get_bbreg(hw, RCCK0_FACOUNTERLOWER, MASKBYTE0); in rtl88e_dm_false_alarm_counter_statistics()
412 ret_value = rtl_get_bbreg(hw, RCCK0_FACOUNTERUPPER, MASKBYTE3); in rtl88e_dm_false_alarm_counter_statistics()
415 ret_value = rtl_get_bbreg(hw, RCCK0_CCA_CNT, MASKDWORD); in rtl88e_dm_false_alarm_counter_statistics()
429 rtl_set_bbreg(hw, ROFDM0_TRSWISOLATION, BIT(31), 1); in rtl88e_dm_false_alarm_counter_statistics()
430 rtl_set_bbreg(hw, ROFDM0_TRSWISOLATION, BIT(31), 0); in rtl88e_dm_false_alarm_counter_statistics()
431 rtl_set_bbreg(hw, ROFDM1_LSTF, BIT(27), 1); in rtl88e_dm_false_alarm_counter_statistics()
432 rtl_set_bbreg(hw, ROFDM1_LSTF, BIT(27), 0); in rtl88e_dm_false_alarm_counter_statistics()
433 rtl_set_bbreg(hw, ROFDM0_LSTF, BIT(31), 0); in rtl88e_dm_false_alarm_counter_statistics()
434 rtl_set_bbreg(hw, ROFDM1_LSTF, BIT(31), 0); in rtl88e_dm_false_alarm_counter_statistics()
435 rtl_set_bbreg(hw, RCCK0_FALSEALARMREPORT, BIT(13)|BIT(12), 0); in rtl88e_dm_false_alarm_counter_statistics()
436 rtl_set_bbreg(hw, RCCK0_FALSEALARMREPORT, BIT(13)|BIT(12), 2); in rtl88e_dm_false_alarm_counter_statistics()
437 rtl_set_bbreg(hw, RCCK0_FALSEALARMREPORT, BIT(15)|BIT(14), 0); in rtl88e_dm_false_alarm_counter_statistics()
438 rtl_set_bbreg(hw, RCCK0_FALSEALARMREPORT, BIT(15)|BIT(14), 2); in rtl88e_dm_false_alarm_counter_statistics()
452 static void rtl88e_dm_cck_packet_detection_thresh(struct ieee80211_hw *hw) in rtl88e_dm_cck_packet_detection_thresh() argument
454 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_cck_packet_detection_thresh()
459 dm_dig->rssi_val_min = rtl88e_dm_initial_gain_min_pwdb(hw); in rtl88e_dm_cck_packet_detection_thresh()
480 rtl_set_bbreg(hw, RCCK0_CCA, MASKBYTE2, cur_cck_cca_thresh); in rtl88e_dm_cck_packet_detection_thresh()
488 static void rtl88e_dm_dig(struct ieee80211_hw *hw) in rtl88e_dm_dig() argument
490 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_dig()
491 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl88e_dm_dig()
492 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_dig()
522 rtl88e_dm_initial_gain_min_pwdb(hw); in rtl88e_dm_dig()
614 rtl88e_dm_write_dig(hw); in rtl88e_dm_dig()
619 rtl88e_dm_cck_packet_detection_thresh(hw); in rtl88e_dm_dig()
622 static void rtl88e_dm_init_dynamic_txpower(struct ieee80211_hw *hw) in rtl88e_dm_init_dynamic_txpower() argument
624 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_init_dynamic_txpower()
632 static void rtl92c_dm_dynamic_txpower(struct ieee80211_hw *hw) in rtl92c_dm_dynamic_txpower() argument
634 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_dynamic_txpower()
636 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl92c_dm_dynamic_txpower()
704 rtl88e_phy_set_txpower_level(hw, rtlphy->current_channel); in rtl92c_dm_dynamic_txpower()
710 void rtl88e_dm_write_dig(struct ieee80211_hw *hw) in rtl88e_dm_write_dig() argument
712 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_write_dig()
723 rtl_set_bbreg(hw, ROFDM0_XAAGCCORE1, 0x7f, in rtl88e_dm_write_dig()
730 static void rtl88e_dm_pwdb_monitor(struct ieee80211_hw *hw) in rtl88e_dm_pwdb_monitor() argument
732 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_pwdb_monitor()
733 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl88e_dm_pwdb_monitor()
794 void rtl88e_dm_init_edca_turbo(struct ieee80211_hw *hw) in rtl88e_dm_init_edca_turbo() argument
796 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_init_edca_turbo()
803 static void rtl88e_dm_check_edca_turbo(struct ieee80211_hw *hw) in rtl88e_dm_check_edca_turbo() argument
805 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_check_edca_turbo()
806 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl88e_dm_check_edca_turbo()
867 rtlpriv->cfg->ops->set_hw_reg(hw, in rtl88e_dm_check_edca_turbo()
879 static void dm_txpower_track_cb_therm(struct ieee80211_hw *hw) in dm_txpower_track_cb_therm() argument
881 struct rtl_priv *rtlpriv = rtl_priv(hw); in dm_txpower_track_cb_therm()
882 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in dm_txpower_track_cb_therm()
883 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in dm_txpower_track_cb_therm()
884 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in dm_txpower_track_cb_therm()
915 thermalvalue = (u8)rtl_get_rfreg(hw, RF90_PATH_A, RF_T_METER, in dm_txpower_track_cb_therm()
925 ele_d = rtl_get_bbreg(hw, ROFDM0_XATXIQIMBALANCE, MASKDWORD) & in dm_txpower_track_cb_therm()
940 temp_cck = rtl_get_bbreg(hw, RCCK0_TXFILTER2, MASKDWORD) & MASKCCK; in dm_txpower_track_cb_therm()
1026 rtl88e_phy_lc_calibrate(hw); in dm_txpower_track_cb_therm()
1091 dm_tx_pwr_track_set_pwr(hw, TXAGC, 0, 0); in dm_txpower_track_cb_therm()
1097 rtl88e_phy_iq_calibrate(hw, false); in dm_txpower_track_cb_therm()
1106 static void rtl88e_dm_init_txpower_tracking(struct ieee80211_hw *hw) in rtl88e_dm_init_txpower_tracking() argument
1108 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_init_txpower_tracking()
1123 void rtl88e_dm_check_txpower_tracking(struct ieee80211_hw *hw) in rtl88e_dm_check_txpower_tracking() argument
1125 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_check_txpower_tracking()
1131 rtl_set_rfreg(hw, RF90_PATH_A, RF_T_METER, BIT(17)|BIT(16), in rtl88e_dm_check_txpower_tracking()
1140 dm_txpower_track_cb_therm(hw); in rtl88e_dm_check_txpower_tracking()
1145 void rtl88e_dm_init_rate_adaptive_mask(struct ieee80211_hw *hw) in rtl88e_dm_init_rate_adaptive_mask() argument
1147 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_init_rate_adaptive_mask()
1159 static void rtl88e_dm_refresh_rate_adaptive_mask(struct ieee80211_hw *hw) in rtl88e_dm_refresh_rate_adaptive_mask() argument
1161 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_refresh_rate_adaptive_mask()
1162 struct rtl_hal *rtlhal = rtl_hal(rtl_priv(hw)); in rtl88e_dm_refresh_rate_adaptive_mask()
1163 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl88e_dm_refresh_rate_adaptive_mask()
1221 sta = rtl_find_sta(hw, mac->bssid); in rtl88e_dm_refresh_rate_adaptive_mask()
1223 rtlpriv->cfg->ops->update_rate_tbl(hw, sta, in rtl88e_dm_refresh_rate_adaptive_mask()
1232 static void rtl92c_dm_init_dynamic_bb_powersaving(struct ieee80211_hw *hw) in rtl92c_dm_init_dynamic_bb_powersaving() argument
1234 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl92c_dm_init_dynamic_bb_powersaving()
1244 static void rtl88e_dm_update_rx_idle_ant(struct ieee80211_hw *hw, in rtl88e_dm_update_rx_idle_ant() argument
1247 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_update_rx_idle_ant()
1248 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_update_rx_idle_ant()
1249 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_update_rx_idle_ant()
1273 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_update_rx_idle_ant()
1275 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_update_rx_idle_ant()
1277 rtl_set_bbreg(hw, DM_REG_ANTSEL_CTRL_11N, in rtl88e_dm_update_rx_idle_ant()
1280 rtl_set_bbreg(hw, DM_REG_RESP_TX_11N, in rtl88e_dm_update_rx_idle_ant()
1283 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_update_rx_idle_ant()
1285 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_update_rx_idle_ant()
1294 static void rtl88e_dm_update_tx_ant(struct ieee80211_hw *hw, in rtl88e_dm_update_tx_ant() argument
1297 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_update_tx_ant()
1298 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_update_tx_ant()
1318 static void rtl88e_dm_rx_hw_antena_div_init(struct ieee80211_hw *hw) in rtl88e_dm_rx_hw_antena_div_init() argument
1323 value32 = rtl_get_bbreg(hw, DM_REG_ANTSEL_PIN_11N, MASKDWORD); in rtl88e_dm_rx_hw_antena_div_init()
1324 rtl_set_bbreg(hw, DM_REG_ANTSEL_PIN_11N, in rtl88e_dm_rx_hw_antena_div_init()
1327 rtl_set_bbreg(hw, DM_REG_PIN_CTRL_11N, BIT(9) | BIT(8), 0); in rtl88e_dm_rx_hw_antena_div_init()
1328 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, BIT(10), 0); in rtl88e_dm_rx_hw_antena_div_init()
1329 rtl_set_bbreg(hw, DM_REG_LNA_SWITCH_11N, BIT(22), 1); in rtl88e_dm_rx_hw_antena_div_init()
1330 rtl_set_bbreg(hw, DM_REG_LNA_SWITCH_11N, BIT(31), 1); in rtl88e_dm_rx_hw_antena_div_init()
1332 rtl_set_bbreg(hw, DM_REG_ANTDIV_PARA1_11N, MASKDWORD, 0x000000a0); in rtl88e_dm_rx_hw_antena_div_init()
1334 rtl_set_bbreg(hw, DM_REG_BB_PWR_SAV4_11N, BIT(7), 1); in rtl88e_dm_rx_hw_antena_div_init()
1335 rtl_set_bbreg(hw, DM_REG_CCK_ANTDIV_PARA2_11N, BIT(4), 1); in rtl88e_dm_rx_hw_antena_div_init()
1336 rtl88e_dm_update_rx_idle_ant(hw, MAIN_ANT); in rtl88e_dm_rx_hw_antena_div_init()
1337 rtl_set_bbreg(hw, DM_REG_ANT_MAPPING1_11N, MASKLWORD, 0x0201); in rtl88e_dm_rx_hw_antena_div_init()
1340 static void rtl88e_dm_trx_hw_antenna_div_init(struct ieee80211_hw *hw) in rtl88e_dm_trx_hw_antenna_div_init() argument
1345 value32 = rtl_get_bbreg(hw, DM_REG_ANTSEL_PIN_11N, MASKDWORD); in rtl88e_dm_trx_hw_antenna_div_init()
1346 rtl_set_bbreg(hw, DM_REG_ANTSEL_PIN_11N, MASKDWORD, in rtl88e_dm_trx_hw_antenna_div_init()
1349 rtl_set_bbreg(hw, DM_REG_PIN_CTRL_11N, BIT(9) | BIT(8), 0); in rtl88e_dm_trx_hw_antenna_div_init()
1350 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, BIT(10), 0); in rtl88e_dm_trx_hw_antenna_div_init()
1351 rtl_set_bbreg(hw, DM_REG_LNA_SWITCH_11N, BIT(22), 0); in rtl88e_dm_trx_hw_antenna_div_init()
1352 rtl_set_bbreg(hw, DM_REG_LNA_SWITCH_11N, BIT(31), 1); in rtl88e_dm_trx_hw_antenna_div_init()
1354 rtl_set_bbreg(hw, DM_REG_ANTDIV_PARA1_11N, MASKDWORD, 0x000000a0); in rtl88e_dm_trx_hw_antenna_div_init()
1356 rtl_set_bbreg(hw, DM_REG_BB_PWR_SAV4_11N, BIT(7), 1); in rtl88e_dm_trx_hw_antenna_div_init()
1357 rtl_set_bbreg(hw, DM_REG_CCK_ANTDIV_PARA2_11N, BIT(4), 1); in rtl88e_dm_trx_hw_antenna_div_init()
1359 rtl_set_bbreg(hw, DM_REG_TX_ANT_CTRL_11N, BIT(21), 0); in rtl88e_dm_trx_hw_antenna_div_init()
1360 rtl88e_dm_update_rx_idle_ant(hw, MAIN_ANT); in rtl88e_dm_trx_hw_antenna_div_init()
1361 rtl_set_bbreg(hw, DM_REG_ANT_MAPPING1_11N, MASKLWORD, 0x0201); in rtl88e_dm_trx_hw_antenna_div_init()
1364 static void rtl88e_dm_fast_training_init(struct ieee80211_hw *hw) in rtl88e_dm_fast_training_init() argument
1366 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_fast_training_init()
1381 value32 = rtl_get_bbreg(hw, DM_REG_ANTSEL_PIN_11N, MASKDWORD); in rtl88e_dm_fast_training_init()
1382 rtl_set_bbreg(hw, DM_REG_ANTSEL_PIN_11N, in rtl88e_dm_fast_training_init()
1384 value32 = rtl_get_bbreg(hw, DM_REG_ANT_TRAIN_PARA2_11N, MASKDWORD); in rtl88e_dm_fast_training_init()
1385 rtl_set_bbreg(hw, DM_REG_ANT_TRAIN_PARA2_11N, in rtl88e_dm_fast_training_init()
1387 rtl_set_bbreg(hw, DM_REG_ANT_TRAIN_PARA2_11N, in rtl88e_dm_fast_training_init()
1389 rtl_set_bbreg(hw, DM_REG_ANT_TRAIN_PARA1_11N, in rtl88e_dm_fast_training_init()
1393 rtl_set_bbreg(hw, DM_REG_PIN_CTRL_11N, BIT(9) | BIT(8), 0); in rtl88e_dm_fast_training_init()
1394 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, BIT(10), 0); in rtl88e_dm_fast_training_init()
1395 rtl_set_bbreg(hw, DM_REG_LNA_SWITCH_11N, BIT(22), 0); in rtl88e_dm_fast_training_init()
1396 rtl_set_bbreg(hw, DM_REG_LNA_SWITCH_11N, BIT(31), 1); in rtl88e_dm_fast_training_init()
1399 rtl_set_bbreg(hw, DM_REG_ANTDIV_PARA1_11N, MASKDWORD, 0x000000a0); in rtl88e_dm_fast_training_init()
1401 rtl_set_bbreg(hw, DM_REG_ANT_MAPPING1_11N, MASKBYTE0, 1); in rtl88e_dm_fast_training_init()
1402 rtl_set_bbreg(hw, DM_REG_ANT_MAPPING1_11N, MASKBYTE1, 2); in rtl88e_dm_fast_training_init()
1405 rtl_set_bbreg(hw, DM_REG_TX_ANT_CTRL_11N, BIT(21), 1); in rtl88e_dm_fast_training_init()
1406 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_fast_training_init()
1408 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_fast_training_init()
1410 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, in rtl88e_dm_fast_training_init()
1413 rtl_set_bbreg(hw, DM_REG_IGI_A_11N, BIT(7), 1); in rtl88e_dm_fast_training_init()
1416 static void rtl88e_dm_antenna_div_init(struct ieee80211_hw *hw) in rtl88e_dm_antenna_div_init() argument
1418 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_antenna_div_init()
1421 rtl88e_dm_rx_hw_antena_div_init(hw); in rtl88e_dm_antenna_div_init()
1423 rtl88e_dm_trx_hw_antenna_div_init(hw); in rtl88e_dm_antenna_div_init()
1425 rtl88e_dm_fast_training_init(hw); in rtl88e_dm_antenna_div_init()
1429 void rtl88e_dm_set_tx_ant_by_tx_info(struct ieee80211_hw *hw, in rtl88e_dm_set_tx_ant_by_tx_info() argument
1432 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_set_tx_ant_by_tx_info()
1433 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_set_tx_ant_by_tx_info()
1444 void rtl88e_dm_ant_sel_statistics(struct ieee80211_hw *hw, in rtl88e_dm_ant_sel_statistics() argument
1448 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_ant_sel_statistics()
1449 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_ant_sel_statistics()
1471 static void rtl88e_dm_hw_ant_div(struct ieee80211_hw *hw) in rtl88e_dm_hw_ant_div() argument
1473 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_hw_ant_div()
1474 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_hw_ant_div()
1475 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_hw_ant_div()
1519 rtl88e_dm_update_tx_ant(hw, target_ant, i); in rtl88e_dm_hw_ant_div()
1558 rtl88e_dm_update_tx_ant(hw, target_ant, i); in rtl88e_dm_hw_ant_div()
1570 rtl88e_dm_update_rx_idle_ant(hw, rx_idle_ant); in rtl88e_dm_hw_ant_div()
1576 static void rtl88e_set_next_mac_address_target(struct ieee80211_hw *hw) in rtl88e_set_next_mac_address_target() argument
1578 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_set_next_mac_address_target()
1579 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl88e_set_next_mac_address_target()
1580 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_set_next_mac_address_target()
1595 rtl_set_bbreg(hw, DM_REG_ANT_TRAIN_PARA2_11N, in rtl88e_set_next_mac_address_target()
1602 rtl_set_bbreg(hw, DM_REG_ANT_TRAIN_PARA1_11N, in rtl88e_set_next_mac_address_target()
1618 rtl_set_bbreg(hw, in rtl88e_set_next_mac_address_target()
1626 rtl_set_bbreg(hw, in rtl88e_set_next_mac_address_target()
1640 static void rtl88e_dm_fast_ant_training(struct ieee80211_hw *hw) in rtl88e_dm_fast_ant_training() argument
1642 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_fast_ant_training()
1643 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_fast_ant_training()
1667 rtl_set_bbreg(hw, DM_REG_TXAGC_A_1_MCS32_11N, in rtl88e_dm_fast_ant_training()
1669 rtl_set_bbreg(hw, DM_REG_IGI_A_11N, BIT(7), 0); in rtl88e_dm_fast_ant_training()
1671 rtl_set_bbreg(hw, DM_REG_TXAGC_A_1_MCS32_11N, in rtl88e_dm_fast_ant_training()
1673 rtl_set_bbreg(hw, DM_REG_RX_ANT_CTRL_11N, BIT(8) | in rtl88e_dm_fast_ant_training()
1675 rtl_set_bbreg(hw, DM_REG_TX_ANT_CTRL_11N, in rtl88e_dm_fast_ant_training()
1686 rtl_set_bbreg(hw, DM_REG_IGI_A_11N, BIT(7), 0); in rtl88e_dm_fast_ant_training()
1699 rtl88e_set_next_mac_address_target(hw); in rtl88e_dm_fast_ant_training()
1702 rtl_set_bbreg(hw, DM_REG_TXAGC_A_1_MCS32_11N, BIT(16), 1); in rtl88e_dm_fast_ant_training()
1703 rtl_set_bbreg(hw, DM_REG_IGI_A_11N, BIT(7), 1); in rtl88e_dm_fast_ant_training()
1712 struct ieee80211_hw *hw = (struct ieee80211_hw *)data; in rtl88e_dm_fast_antenna_training_callback() local
1714 rtl88e_dm_fast_ant_training(hw); in rtl88e_dm_fast_antenna_training_callback()
1717 static void rtl88e_dm_antenna_diversity(struct ieee80211_hw *hw) in rtl88e_dm_antenna_diversity() argument
1719 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_antenna_diversity()
1720 struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); in rtl88e_dm_antenna_diversity()
1721 struct rtl_efuse *rtlefuse = rtl_efuse(rtl_priv(hw)); in rtl88e_dm_antenna_diversity()
1722 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl88e_dm_antenna_diversity()
1730 rtl_set_bbreg(hw, DM_REG_IGI_A_11N, BIT(7), 0); in rtl88e_dm_antenna_diversity()
1731 rtl_set_bbreg(hw, DM_REG_CCK_ANTDIV_PARA1_11N, in rtl88e_dm_antenna_diversity()
1734 rtl_set_bbreg(hw, DM_REG_TX_ANT_CTRL_11N, in rtl88e_dm_antenna_diversity()
1745 rtl_set_bbreg(hw, DM_REG_IGI_A_11N, BIT(7), 1); in rtl88e_dm_antenna_diversity()
1746 rtl_set_bbreg(hw, DM_REG_CCK_ANTDIV_PARA1_11N, in rtl88e_dm_antenna_diversity()
1749 rtl_set_bbreg(hw, DM_REG_TX_ANT_CTRL_11N, in rtl88e_dm_antenna_diversity()
1759 rtl88e_dm_hw_ant_div(hw); in rtl88e_dm_antenna_diversity()
1761 rtl88e_dm_fast_ant_training(hw); in rtl88e_dm_antenna_diversity()
1764 void rtl88e_dm_init(struct ieee80211_hw *hw) in rtl88e_dm_init() argument
1766 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_init()
1767 u32 cur_igvalue = rtl_get_bbreg(hw, ROFDM0_XAAGCCORE1, 0x7f); in rtl88e_dm_init()
1770 rtl_dm_diginit(hw, cur_igvalue); in rtl88e_dm_init()
1771 rtl88e_dm_init_dynamic_txpower(hw); in rtl88e_dm_init()
1772 rtl88e_dm_init_edca_turbo(hw); in rtl88e_dm_init()
1773 rtl88e_dm_init_rate_adaptive_mask(hw); in rtl88e_dm_init()
1774 rtl88e_dm_init_txpower_tracking(hw); in rtl88e_dm_init()
1775 rtl92c_dm_init_dynamic_bb_powersaving(hw); in rtl88e_dm_init()
1776 rtl88e_dm_antenna_div_init(hw); in rtl88e_dm_init()
1779 void rtl88e_dm_watchdog(struct ieee80211_hw *hw) in rtl88e_dm_watchdog() argument
1781 struct rtl_priv *rtlpriv = rtl_priv(hw); in rtl88e_dm_watchdog()
1782 struct rtl_ps_ctl *ppsc = rtl_psc(rtl_priv(hw)); in rtl88e_dm_watchdog()
1786 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FW_PSMODE_STATUS, in rtl88e_dm_watchdog()
1788 rtlpriv->cfg->ops->get_hw_reg(hw, HW_VAR_FWLPS_RF_ON, in rtl88e_dm_watchdog()
1796 rtl88e_dm_pwdb_monitor(hw); in rtl88e_dm_watchdog()
1797 rtl88e_dm_dig(hw); in rtl88e_dm_watchdog()
1798 rtl88e_dm_false_alarm_counter_statistics(hw); in rtl88e_dm_watchdog()
1799 rtl92c_dm_dynamic_txpower(hw); in rtl88e_dm_watchdog()
1800 rtl88e_dm_check_txpower_tracking(hw); in rtl88e_dm_watchdog()
1801 rtl88e_dm_refresh_rate_adaptive_mask(hw); in rtl88e_dm_watchdog()
1802 rtl88e_dm_check_edca_turbo(hw); in rtl88e_dm_watchdog()
1803 rtl88e_dm_antenna_diversity(hw); in rtl88e_dm_watchdog()