Lines Matching refs:rtldm

407 	struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw));  in rtl8821ae_dm_txpower_track_adjust()  local
414 pwr_val = rtldm->swing_idx_ofdm_base[RF90_PATH_A] - in rtl8821ae_dm_txpower_track_adjust()
415 rtldm->swing_idx_ofdm[RF90_PATH_A]; in rtl8821ae_dm_txpower_track_adjust()
418 pwr_val = rtldm->swing_idx_ofdm[RF90_PATH_A] - in rtl8821ae_dm_txpower_track_adjust()
419 rtldm->swing_idx_ofdm_base[RF90_PATH_A]; in rtl8821ae_dm_txpower_track_adjust()
422 if (rtldm->swing_idx_cck <= rtldm->swing_idx_cck_base) { in rtl8821ae_dm_txpower_track_adjust()
424 pwr_val = rtldm->swing_idx_cck_base - in rtl8821ae_dm_txpower_track_adjust()
425 rtldm->swing_idx_cck; in rtl8821ae_dm_txpower_track_adjust()
428 pwr_val = rtldm->swing_idx_cck - in rtl8821ae_dm_txpower_track_adjust()
429 rtldm->swing_idx_cck_base; in rtl8821ae_dm_txpower_track_adjust()
444 struct rtl_dm *rtldm = rtl_dm(rtlpriv); in rtl8821ae_dm_clear_txpower_tracking_state() local
448 rtldm->swing_idx_cck_base = rtldm->default_cck_index; in rtl8821ae_dm_clear_txpower_tracking_state()
449 rtldm->swing_idx_cck = rtldm->default_cck_index; in rtl8821ae_dm_clear_txpower_tracking_state()
450 rtldm->cck_index = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
453 rtldm->swing_idx_ofdm_base[p] = rtldm->default_ofdm_index; in rtl8821ae_dm_clear_txpower_tracking_state()
454 rtldm->swing_idx_ofdm[p] = rtldm->default_ofdm_index; in rtl8821ae_dm_clear_txpower_tracking_state()
455 rtldm->ofdm_index[p] = rtldm->default_ofdm_index; in rtl8821ae_dm_clear_txpower_tracking_state()
457 rtldm->power_index_offset[p] = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
458 rtldm->delta_power_index[p] = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
459 rtldm->delta_power_index_last[p] = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
461 rtldm->absolute_ofdm_swing_idx[p] = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
462 rtldm->remnant_ofdm_swing_idx[p] = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
465 rtldm->modify_txagc_flag_path_a = false; in rtl8821ae_dm_clear_txpower_tracking_state()
467 rtldm->modify_txagc_flag_path_b = false; in rtl8821ae_dm_clear_txpower_tracking_state()
468 rtldm->remnant_cck_idx = 0; in rtl8821ae_dm_clear_txpower_tracking_state()
469 rtldm->thermalvalue = rtlefuse->eeprom_thermalmeter; in rtl8821ae_dm_clear_txpower_tracking_state()
470 rtldm->thermalvalue_iqk = rtlefuse->eeprom_thermalmeter; in rtl8821ae_dm_clear_txpower_tracking_state()
471 rtldm->thermalvalue_lck = rtlefuse->eeprom_thermalmeter; in rtl8821ae_dm_clear_txpower_tracking_state()
494 struct rtl_dm *rtldm = rtl_dm(rtlpriv); in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter() local
500 rtldm->thermalvalue = rtlefuse->eeprom_thermalmeter; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
501 rtldm->thermalvalue_iqk = rtlefuse->eeprom_thermalmeter; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
502 rtldm->thermalvalue_lck = rtlefuse->eeprom_thermalmeter; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
505 rtldm->default_ofdm_index = in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
508 rtldm->default_cck_index = 24; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
510 rtldm->swing_idx_cck_base = rtldm->default_cck_index; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
511 rtldm->cck_index = rtldm->default_cck_index; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
514 rtldm->swing_idx_ofdm_base[p] = in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
515 rtldm->default_ofdm_index; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
516 rtldm->ofdm_index[p] = rtldm->default_ofdm_index; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
517 rtldm->delta_power_index[p] = 0; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
518 rtldm->power_index_offset[p] = 0; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
519 rtldm->delta_power_index_last[p] = 0; in rtl8821ae_dm_initialize_txpower_tracking_thermalmeter()
1087 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_iq_calibrate() local
1091 if (rtldm->linked_interval < 3) in rtl8821ae_dm_iq_calibrate()
1092 rtldm->linked_interval++; in rtl8821ae_dm_iq_calibrate()
1094 if (rtldm->linked_interval == 2) { in rtl8821ae_dm_iq_calibrate()
1101 rtldm->linked_interval = 0; in rtl8821ae_dm_iq_calibrate()
1111 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8812ae_get_delta_swing_table() local
1113 u8 rate = rtldm->tx_rate; in rtl8812ae_get_delta_swing_table()
1153 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_update_init_rate() local
1160 rtldm->tx_rate = rate; in rtl8821ae_dm_update_init_rate()
1352 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8812ae_dm_txpwr_track_set_pwr() local
1359 if (rtldm->tx_rate != 0xFF) in rtl8812ae_dm_txpwr_track_set_pwr()
1361 rtl8821ae_hw_rate_to_mrate(hw, rtldm->tx_rate); in rtl8812ae_dm_txpwr_track_set_pwr()
1447 (rtldm->ofdm_index[RF90_PATH_A] > in rtl8812ae_dm_txpwr_track_set_pwr()
1450 rtldm->ofdm_index[RF90_PATH_A]; in rtl8812ae_dm_txpwr_track_set_pwr()
1454 rtldm->ofdm_index[RF90_PATH_A], in rtl8812ae_dm_txpwr_track_set_pwr()
1463 rtldm->ofdm_index[RF90_PATH_B] > in rtl8812ae_dm_txpwr_track_set_pwr()
1466 rtldm->ofdm_index[RF90_PATH_B]; in rtl8812ae_dm_txpwr_track_set_pwr()
1470 rtldm->ofdm_index[RF90_PATH_B], in rtl8812ae_dm_txpwr_track_set_pwr()
1479 rtldm->default_ofdm_index, in rtl8812ae_dm_txpwr_track_set_pwr()
1480 rtldm->absolute_ofdm_swing_idx[rf_path], in rtl8812ae_dm_txpwr_track_set_pwr()
1483 final_ofdm_swing_index = rtldm->default_ofdm_index + in rtl8812ae_dm_txpwr_track_set_pwr()
1484 rtldm->absolute_ofdm_swing_idx[rf_path]; in rtl8812ae_dm_txpwr_track_set_pwr()
1489 rtldm->remnant_cck_idx = in rtl8812ae_dm_txpwr_track_set_pwr()
1495 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1502 rtldm->modify_txagc_flag_path_a = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1512 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1514 rtldm->remnant_cck_idx = final_ofdm_swing_index; in rtl8812ae_dm_txpwr_track_set_pwr()
1516 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1522 rtldm->modify_txagc_flag_path_a = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1530 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1539 if (rtldm->modify_txagc_flag_path_a) { in rtl8812ae_dm_txpwr_track_set_pwr()
1540 rtldm->remnant_cck_idx = 0; in rtl8812ae_dm_txpwr_track_set_pwr()
1541 rtldm->remnant_ofdm_swing_idx[rf_path] = 0; in rtl8812ae_dm_txpwr_track_set_pwr()
1546 rtldm->modify_txagc_flag_path_a = false; in rtl8812ae_dm_txpwr_track_set_pwr()
1557 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1565 rtldm->modify_txagc_flag_path_b = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1574 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1576 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1582 rtldm->modify_txagc_flag_path_b = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1590 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1599 if (rtldm->modify_txagc_flag_path_b) { in rtl8812ae_dm_txpwr_track_set_pwr()
1600 rtldm->remnant_ofdm_swing_idx[rf_path] = 0; in rtl8812ae_dm_txpwr_track_set_pwr()
1606 rtldm->modify_txagc_flag_path_b = in rtl8812ae_dm_txpwr_track_set_pwr()
1624 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter() local
1648 rtldm->txpower_trackinginit = true; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1652 rtldm->swing_idx_cck_base, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1653 rtldm->swing_idx_ofdm_base[RF90_PATH_A], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1654 rtldm->default_ofdm_index); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1662 if (!rtldm->txpower_track_control || in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1674 rtldm->thermalvalue_avg[rtldm->thermalvalue_avg_index] = thermal_value; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1675 rtldm->thermalvalue_avg_index++; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1676 if (rtldm->thermalvalue_avg_index == AVG_THERMAL_NUM_8812A) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1678 rtldm->thermalvalue_avg_index = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1681 if (rtldm->thermalvalue_avg[i]) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1682 thermal_value_avg += rtldm->thermalvalue_avg[i]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1699 delta = (thermal_value > rtldm->thermalvalue) ? in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1700 (thermal_value - rtldm->thermalvalue) : in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1701 (rtldm->thermalvalue - thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1702 delta_lck = (thermal_value > rtldm->thermalvalue_lck) ? in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1703 (thermal_value - rtldm->thermalvalue_lck) : in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1704 (rtldm->thermalvalue_lck - thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1705 delta_iqk = (thermal_value > rtldm->thermalvalue_iqk) ? in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1706 (thermal_value - rtldm->thermalvalue_iqk) : in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1707 (rtldm->thermalvalue_iqk - thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1720 rtldm->thermalvalue_lck = thermal_value; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1726 if (delta > 0 && rtldm->txpower_track_control) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1743 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1744 rtldm->delta_power_index[RF90_PATH_A]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1745 rtldm->delta_power_index[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1748 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1754 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1759 rtldm->delta_power_index_last[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1760 rtldm->delta_power_index[RF90_PATH_B]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1761 rtldm->delta_power_index[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1764 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1770 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1776 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1777 rtldm->delta_power_index[RF90_PATH_A]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1778 rtldm->delta_power_index[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1781 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1786 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1792 rtldm->delta_power_index_last[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1793 rtldm->delta_power_index[RF90_PATH_B]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1794 rtldm->delta_power_index[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1797 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1803 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1811 if (rtldm->delta_power_index[p] == in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1812 rtldm->delta_power_index_last[p]) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1815 rtldm->power_index_offset[p] = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1817 rtldm->power_index_offset[p] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1818 rtldm->delta_power_index[p] - in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1819 rtldm->delta_power_index_last[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1826 rtldm->power_index_offset[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1827 rtldm->delta_power_index[p] , in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1828 rtldm->delta_power_index_last[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1830 rtldm->ofdm_index[p] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1831 rtldm->swing_idx_ofdm_base[p] + in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1832 rtldm->power_index_offset[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1833 rtldm->cck_index = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1834 rtldm->swing_idx_cck_base + in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1835 rtldm->power_index_offset[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1837 rtldm->swing_idx_cck = rtldm->cck_index; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1838 rtldm->swing_idx_ofdm[p] = rtldm->ofdm_index[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1844 rtldm->swing_idx_cck, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1845 rtldm->swing_idx_cck_base, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1846 rtldm->power_index_offset[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1849 rtldm->swing_idx_ofdm[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1851 rtldm->swing_idx_ofdm_base[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1852 rtldm->power_index_offset[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1856 if (rtldm->ofdm_index[p] > TXSCALE_TABLE_SIZE - 1) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1857 rtldm->ofdm_index[p] = TXSCALE_TABLE_SIZE - 1; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1858 else if (rtldm->ofdm_index[p] < ofdm_min_index) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1859 rtldm->ofdm_index[p] = ofdm_min_index; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1863 if (rtldm->cck_index > TXSCALE_TABLE_SIZE - 1) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1864 rtldm->cck_index = TXSCALE_TABLE_SIZE - 1; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1865 else if (rtldm->cck_index < 0) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1866 rtldm->cck_index = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1870 rtldm->txpower_track_control, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1872 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1875 rtldm->power_index_offset[p] = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1880 rtldm->cck_index, rtldm->swing_idx_cck_base); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1884 rtldm->ofdm_index[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1886 rtldm->swing_idx_ofdm_base[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1889 if ((rtldm->power_index_offset[RF90_PATH_A] != 0 || in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1890 rtldm->power_index_offset[RF90_PATH_B] != 0) && in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1891 rtldm->txpower_track_control) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1902 if (thermal_value > rtldm->thermalvalue) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1905 rtldm->power_index_offset[RF90_PATH_A], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1908 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1912 rtldm->power_index_offset[RF90_PATH_B], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1915 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1916 } else if (thermal_value < rtldm->thermalvalue) { /*Low temperature*/ in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1919 rtldm->power_index_offset[RF90_PATH_A], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1922 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1926 rtldm->power_index_offset[RF90_PATH_B], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1929 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1954 rtldm->swing_idx_cck_base = rtldm->swing_idx_cck; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1956 rtldm->swing_idx_ofdm_base[p] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1957 rtldm->swing_idx_ofdm[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1961 rtldm->thermalvalue, thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1963 rtldm->thermalvalue = thermal_value; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1979 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_get_delta_swing_table() local
1981 u8 rate = rtldm->tx_rate; in rtl8821ae_get_delta_swing_table()
2042 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_txpwr_track_set_pwr() local
2049 if (rtldm->tx_rate != 0xFF) in rtl8821ae_dm_txpwr_track_set_pwr()
2050 tx_rate = rtl8821ae_hw_rate_to_mrate(hw, rtldm->tx_rate); in rtl8821ae_dm_txpwr_track_set_pwr()
2104 (rtldm->ofdm_index[RF90_PATH_A] > in rtl8821ae_dm_txpwr_track_set_pwr()
2107 rtldm->ofdm_index[RF90_PATH_A]; in rtl8821ae_dm_txpwr_track_set_pwr()
2110 rtldm->ofdm_index[RF90_PATH_A], in rtl8821ae_dm_txpwr_track_set_pwr()
2119 rtldm->default_ofdm_index, in rtl8821ae_dm_txpwr_track_set_pwr()
2120 rtldm->absolute_ofdm_swing_idx[rf_path], in rtl8821ae_dm_txpwr_track_set_pwr()
2124 rtldm->default_ofdm_index + in rtl8821ae_dm_txpwr_track_set_pwr()
2125 rtldm->absolute_ofdm_swing_idx[rf_path]; in rtl8821ae_dm_txpwr_track_set_pwr()
2129 rtldm->remnant_cck_idx = in rtl8821ae_dm_txpwr_track_set_pwr()
2133 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8821ae_dm_txpwr_track_set_pwr()
2141 rtldm->modify_txagc_flag_path_a = true; in rtl8821ae_dm_txpwr_track_set_pwr()
2151 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8821ae_dm_txpwr_track_set_pwr()
2153 rtldm->remnant_cck_idx = final_ofdm_swing_index; in rtl8821ae_dm_txpwr_track_set_pwr()
2155 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8821ae_dm_txpwr_track_set_pwr()
2161 rtldm->modify_txagc_flag_path_a = true; in rtl8821ae_dm_txpwr_track_set_pwr()
2169 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8821ae_dm_txpwr_track_set_pwr()
2178 if (rtldm->modify_txagc_flag_path_a) { in rtl8821ae_dm_txpwr_track_set_pwr()
2179 rtldm->remnant_cck_idx = 0; in rtl8821ae_dm_txpwr_track_set_pwr()
2180 rtldm->remnant_ofdm_swing_idx[rf_path] = 0; in rtl8821ae_dm_txpwr_track_set_pwr()
2186 rtldm->modify_txagc_flag_path_a = false; in rtl8821ae_dm_txpwr_track_set_pwr()
2204 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter() local
2230 rtldm->txpower_trackinginit = true; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2235 rtldm->swing_idx_cck_base, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2236 rtldm->swing_idx_ofdm_base[RF90_PATH_A], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2237 rtldm->default_ofdm_index); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2241 if (!rtldm->txpower_track_control || in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2254 rtldm->thermalvalue_avg[rtldm->thermalvalue_avg_index] = thermal_value; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2255 rtldm->thermalvalue_avg_index++; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2256 if (rtldm->thermalvalue_avg_index == AVG_THERMAL_NUM_8812A) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2258 rtldm->thermalvalue_avg_index = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2261 if (rtldm->thermalvalue_avg[i]) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2262 thermal_value_avg += rtldm->thermalvalue_avg[i]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2279 delta = (thermal_value > rtldm->thermalvalue) ? in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2280 (thermal_value - rtldm->thermalvalue) : in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2281 (rtldm->thermalvalue - thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2282 delta_lck = (thermal_value > rtldm->thermalvalue_lck) ? in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2283 (thermal_value - rtldm->thermalvalue_lck) : in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2284 (rtldm->thermalvalue_lck - thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2285 delta_iqk = (thermal_value > rtldm->thermalvalue_iqk) ? in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2286 (thermal_value - rtldm->thermalvalue_iqk) : in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2287 (rtldm->thermalvalue_iqk - thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2299 rtldm->thermalvalue_lck = thermal_value; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2305 if (delta > 0 && rtldm->txpower_track_control) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2322 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2323 rtldm->delta_power_index[RF90_PATH_A]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2324 rtldm->delta_power_index[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2327 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2333 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2339 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2340 rtldm->delta_power_index[RF90_PATH_A]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2341 rtldm->delta_power_index[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2344 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2349 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2359 if (rtldm->delta_power_index[p] == in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2360 rtldm->delta_power_index_last[p]) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2362 rtldm->power_index_offset[p] = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2364 rtldm->power_index_offset[p] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2365 rtldm->delta_power_index[p] - in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2366 rtldm->delta_power_index_last[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2372 rtldm->power_index_offset[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2373 rtldm->delta_power_index[p] , in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2374 rtldm->delta_power_index_last[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2376 rtldm->ofdm_index[p] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2377 rtldm->swing_idx_ofdm_base[p] + in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2378 rtldm->power_index_offset[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2379 rtldm->cck_index = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2380 rtldm->swing_idx_cck_base + in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2381 rtldm->power_index_offset[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2383 rtldm->swing_idx_cck = rtldm->cck_index; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2384 rtldm->swing_idx_ofdm[p] = rtldm->ofdm_index[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2390 rtldm->swing_idx_cck, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2391 rtldm->swing_idx_cck_base, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2392 rtldm->power_index_offset[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2395 rtldm->swing_idx_ofdm[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2397 rtldm->swing_idx_ofdm_base[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2398 rtldm->power_index_offset[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2402 if (rtldm->ofdm_index[p] > TXSCALE_TABLE_SIZE - 1) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2403 rtldm->ofdm_index[p] = TXSCALE_TABLE_SIZE - 1; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2404 else if (rtldm->ofdm_index[p] < ofdm_min_index) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2405 rtldm->ofdm_index[p] = ofdm_min_index; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2409 if (rtldm->cck_index > TXSCALE_TABLE_SIZE - 1) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2410 rtldm->cck_index = TXSCALE_TABLE_SIZE - 1; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2411 else if (rtldm->cck_index < 0) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2412 rtldm->cck_index = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2416 rtldm->txpower_track_control, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2418 rtldm->thermalvalue); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2421 rtldm->power_index_offset[p] = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2426 rtldm->cck_index, rtldm->swing_idx_cck_base); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2430 rtldm->ofdm_index[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2432 rtldm->swing_idx_ofdm_base[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2435 if ((rtldm->power_index_offset[RF90_PATH_A] != 0 || in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2436 rtldm->power_index_offset[RF90_PATH_B] != 0) && in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2437 rtldm->txpower_track_control) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2448 if (thermal_value > rtldm->thermalvalue) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2451 rtldm->power_index_offset[RF90_PATH_A], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2454 rtldm->thermalvalue); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2455 } else if (thermal_value < rtldm->thermalvalue) { /*Low temperature*/ in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2458 rtldm->power_index_offset[RF90_PATH_A], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2461 rtldm->thermalvalue); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2486 rtldm->swing_idx_cck_base = rtldm->swing_idx_cck; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2488 rtldm->swing_idx_ofdm_base[p] = rtldm->swing_idx_ofdm[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2492 rtldm->thermalvalue, thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2494 rtldm->thermalvalue = thermal_value; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2669 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_check_edca_turbo() local
2700 cur_tx_ok_cnt = rtlpriv->stats.txbytesunicast - rtldm->last_tx_ok_cnt; in rtl8821ae_dm_check_edca_turbo()
2701 cur_rx_ok_cnt = rtlpriv->stats.rxbytesunicast - rtldm->last_rx_ok_cnt; in rtl8821ae_dm_check_edca_turbo()
2703 rtldm->last_tx_ok_cnt = rtlpriv->stats.txbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2704 rtldm->last_rx_ok_cnt = rtlpriv->stats.rxbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2763 rtldm->last_tx_ok_cnt = rtlpriv->stats.txbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2764 rtldm->last_rx_ok_cnt = rtlpriv->stats.rxbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2805 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_dynamic_atc_switch() local
2813 if (rtldm->atc_status == ATC_STATUS_OFF) { in rtl8821ae_dm_dynamic_atc_switch()
2815 rtldm->atc_status = ATC_STATUS_ON; in rtl8821ae_dm_dynamic_atc_switch()
2820 "atc_status = %d\n", rtldm->atc_status); in rtl8821ae_dm_dynamic_atc_switch()
2822 if (rtldm->crystal_cap != rtlpriv->efuse.crystalcap) { in rtl8821ae_dm_dynamic_atc_switch()
2823 rtldm->crystal_cap = rtlpriv->efuse.crystalcap; in rtl8821ae_dm_dynamic_atc_switch()
2824 crystal_cap = rtldm->crystal_cap & 0x3f; in rtl8821ae_dm_dynamic_atc_switch()
2836 rtldm->crystal_cap); in rtl8821ae_dm_dynamic_atc_switch()
2839 cfo_khz_a = (int)(rtldm->cfo_tail[0] * 3125) / 1280; in rtl8821ae_dm_dynamic_atc_switch()
2840 cfo_khz_b = (int)(rtldm->cfo_tail[1] * 3125) / 1280; in rtl8821ae_dm_dynamic_atc_switch()
2841 packet_count = rtldm->packet_count; in rtl8821ae_dm_dynamic_atc_switch()
2844 if (packet_count == rtldm->packet_count_pre) { in rtl8821ae_dm_dynamic_atc_switch()
2850 rtldm->packet_count_pre = packet_count; in rtl8821ae_dm_dynamic_atc_switch()
2853 rtldm->packet_count); in rtl8821ae_dm_dynamic_atc_switch()
2866 cfo_ave_diff = (rtldm->cfo_ave_pre >= cfo_ave) ? in rtl8821ae_dm_dynamic_atc_switch()
2867 (rtldm->cfo_ave_pre - cfo_ave) : in rtl8821ae_dm_dynamic_atc_switch()
2868 (cfo_ave - rtldm->cfo_ave_pre); in rtl8821ae_dm_dynamic_atc_switch()
2870 if (cfo_ave_diff > 20 && rtldm->large_cfo_hit == 0) { in rtl8821ae_dm_dynamic_atc_switch()
2873 rtldm->large_cfo_hit = 1; in rtl8821ae_dm_dynamic_atc_switch()
2876 rtldm->large_cfo_hit = 0; in rtl8821ae_dm_dynamic_atc_switch()
2878 rtldm->cfo_ave_pre = cfo_ave; in rtl8821ae_dm_dynamic_atc_switch()
2883 if (cfo_ave >= -rtldm->cfo_threshold && in rtl8821ae_dm_dynamic_atc_switch()
2884 cfo_ave <= rtldm->cfo_threshold && in rtl8821ae_dm_dynamic_atc_switch()
2885 rtldm->is_freeze == 0) { in rtl8821ae_dm_dynamic_atc_switch()
2886 if (rtldm->cfo_threshold == CFO_THRESHOLD_XTAL) { in rtl8821ae_dm_dynamic_atc_switch()
2887 rtldm->cfo_threshold = CFO_THRESHOLD_XTAL + 10; in rtl8821ae_dm_dynamic_atc_switch()
2888 rtldm->is_freeze = 1; in rtl8821ae_dm_dynamic_atc_switch()
2890 rtldm->cfo_threshold = CFO_THRESHOLD_XTAL; in rtl8821ae_dm_dynamic_atc_switch()
2895 rtldm->cfo_threshold); in rtl8821ae_dm_dynamic_atc_switch()
2898 if (cfo_ave > rtldm->cfo_threshold && rtldm->crystal_cap < 0x3f) in rtl8821ae_dm_dynamic_atc_switch()
2905 rtldm->crystal_cap, adjust_xtal); in rtl8821ae_dm_dynamic_atc_switch()
2909 rtldm->is_freeze = 0; in rtl8821ae_dm_dynamic_atc_switch()
2910 rtldm->crystal_cap += adjust_xtal; in rtl8821ae_dm_dynamic_atc_switch()
2912 if (rtldm->crystal_cap > 0x3f) in rtl8821ae_dm_dynamic_atc_switch()
2913 rtldm->crystal_cap = 0x3f; in rtl8821ae_dm_dynamic_atc_switch()
2914 else if (rtldm->crystal_cap < 0) in rtl8821ae_dm_dynamic_atc_switch()
2915 rtldm->crystal_cap = 0; in rtl8821ae_dm_dynamic_atc_switch()
2917 crystal_cap = rtldm->crystal_cap & 0x3f; in rtl8821ae_dm_dynamic_atc_switch()
2929 rtldm->crystal_cap); in rtl8821ae_dm_dynamic_atc_switch()
2981 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_set_tx_ant_by_tx_info() local
2982 struct fast_ant_training *pfat_table = &rtldm->fat_table; in rtl8821ae_dm_set_tx_ant_by_tx_info()