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()
1090 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_iq_calibrate() local
1094 if (rtldm->linked_interval < 3) in rtl8821ae_dm_iq_calibrate()
1095 rtldm->linked_interval++; in rtl8821ae_dm_iq_calibrate()
1097 if (rtldm->linked_interval == 2) { in rtl8821ae_dm_iq_calibrate()
1104 rtldm->linked_interval = 0; in rtl8821ae_dm_iq_calibrate()
1114 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8812ae_get_delta_swing_table() local
1116 u8 rate = rtldm->tx_rate; in rtl8812ae_get_delta_swing_table()
1156 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_update_init_rate() local
1163 rtldm->tx_rate = rate; in rtl8821ae_dm_update_init_rate()
1355 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8812ae_dm_txpwr_track_set_pwr() local
1362 if (rtldm->tx_rate != 0xFF) in rtl8812ae_dm_txpwr_track_set_pwr()
1364 rtl8821ae_hw_rate_to_mrate(hw, rtldm->tx_rate); in rtl8812ae_dm_txpwr_track_set_pwr()
1450 (rtldm->ofdm_index[RF90_PATH_A] > in rtl8812ae_dm_txpwr_track_set_pwr()
1453 rtldm->ofdm_index[RF90_PATH_A]; in rtl8812ae_dm_txpwr_track_set_pwr()
1457 rtldm->ofdm_index[RF90_PATH_A], in rtl8812ae_dm_txpwr_track_set_pwr()
1466 rtldm->ofdm_index[RF90_PATH_B] > in rtl8812ae_dm_txpwr_track_set_pwr()
1469 rtldm->ofdm_index[RF90_PATH_B]; in rtl8812ae_dm_txpwr_track_set_pwr()
1473 rtldm->ofdm_index[RF90_PATH_B], in rtl8812ae_dm_txpwr_track_set_pwr()
1482 rtldm->default_ofdm_index, in rtl8812ae_dm_txpwr_track_set_pwr()
1483 rtldm->absolute_ofdm_swing_idx[rf_path], in rtl8812ae_dm_txpwr_track_set_pwr()
1486 final_ofdm_swing_index = rtldm->default_ofdm_index + in rtl8812ae_dm_txpwr_track_set_pwr()
1487 rtldm->absolute_ofdm_swing_idx[rf_path]; in rtl8812ae_dm_txpwr_track_set_pwr()
1492 rtldm->remnant_cck_idx = in rtl8812ae_dm_txpwr_track_set_pwr()
1498 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1505 rtldm->modify_txagc_flag_path_a = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1515 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1517 rtldm->remnant_cck_idx = final_ofdm_swing_index; in rtl8812ae_dm_txpwr_track_set_pwr()
1519 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1525 rtldm->modify_txagc_flag_path_a = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1533 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1542 if (rtldm->modify_txagc_flag_path_a) { in rtl8812ae_dm_txpwr_track_set_pwr()
1543 rtldm->remnant_cck_idx = 0; in rtl8812ae_dm_txpwr_track_set_pwr()
1544 rtldm->remnant_ofdm_swing_idx[rf_path] = 0; in rtl8812ae_dm_txpwr_track_set_pwr()
1549 rtldm->modify_txagc_flag_path_a = false; in rtl8812ae_dm_txpwr_track_set_pwr()
1560 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1568 rtldm->modify_txagc_flag_path_b = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1577 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1579 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8812ae_dm_txpwr_track_set_pwr()
1585 rtldm->modify_txagc_flag_path_b = true; in rtl8812ae_dm_txpwr_track_set_pwr()
1593 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8812ae_dm_txpwr_track_set_pwr()
1602 if (rtldm->modify_txagc_flag_path_b) { in rtl8812ae_dm_txpwr_track_set_pwr()
1603 rtldm->remnant_ofdm_swing_idx[rf_path] = 0; in rtl8812ae_dm_txpwr_track_set_pwr()
1609 rtldm->modify_txagc_flag_path_b = in rtl8812ae_dm_txpwr_track_set_pwr()
1627 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter() local
1651 rtldm->txpower_trackinginit = true; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1655 rtldm->swing_idx_cck_base, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1656 rtldm->swing_idx_ofdm_base[RF90_PATH_A], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1657 rtldm->default_ofdm_index); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1665 if (!rtldm->txpower_track_control || in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1677 rtldm->thermalvalue_avg[rtldm->thermalvalue_avg_index] = thermal_value; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1678 rtldm->thermalvalue_avg_index++; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1679 if (rtldm->thermalvalue_avg_index == AVG_THERMAL_NUM_8812A) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1681 rtldm->thermalvalue_avg_index = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1684 if (rtldm->thermalvalue_avg[i]) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1685 thermal_value_avg += rtldm->thermalvalue_avg[i]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1702 delta = (thermal_value > rtldm->thermalvalue) ? in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1703 (thermal_value - rtldm->thermalvalue) : in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1704 (rtldm->thermalvalue - thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1705 delta_lck = (thermal_value > rtldm->thermalvalue_lck) ? in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1706 (thermal_value - rtldm->thermalvalue_lck) : in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1707 (rtldm->thermalvalue_lck - thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1708 delta_iqk = (thermal_value > rtldm->thermalvalue_iqk) ? in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1709 (thermal_value - rtldm->thermalvalue_iqk) : in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1710 (rtldm->thermalvalue_iqk - thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1723 rtldm->thermalvalue_lck = thermal_value; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1729 if (delta > 0 && rtldm->txpower_track_control) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1746 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1747 rtldm->delta_power_index[RF90_PATH_A]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1748 rtldm->delta_power_index[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1751 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1757 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1762 rtldm->delta_power_index_last[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1763 rtldm->delta_power_index[RF90_PATH_B]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1764 rtldm->delta_power_index[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1767 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1773 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1779 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1780 rtldm->delta_power_index[RF90_PATH_A]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1781 rtldm->delta_power_index[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1784 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1789 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1795 rtldm->delta_power_index_last[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1796 rtldm->delta_power_index[RF90_PATH_B]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1797 rtldm->delta_power_index[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1800 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1806 rtldm->absolute_ofdm_swing_idx[RF90_PATH_B]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1814 if (rtldm->delta_power_index[p] == in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1815 rtldm->delta_power_index_last[p]) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1818 rtldm->power_index_offset[p] = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1820 rtldm->power_index_offset[p] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1821 rtldm->delta_power_index[p] - in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1822 rtldm->delta_power_index_last[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1829 rtldm->power_index_offset[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1830 rtldm->delta_power_index[p] , in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1831 rtldm->delta_power_index_last[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1833 rtldm->ofdm_index[p] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1834 rtldm->swing_idx_ofdm_base[p] + in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1835 rtldm->power_index_offset[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1836 rtldm->cck_index = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1837 rtldm->swing_idx_cck_base + in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1838 rtldm->power_index_offset[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1840 rtldm->swing_idx_cck = rtldm->cck_index; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1841 rtldm->swing_idx_ofdm[p] = rtldm->ofdm_index[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1847 rtldm->swing_idx_cck, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1848 rtldm->swing_idx_cck_base, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1849 rtldm->power_index_offset[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1852 rtldm->swing_idx_ofdm[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1854 rtldm->swing_idx_ofdm_base[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1855 rtldm->power_index_offset[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1859 if (rtldm->ofdm_index[p] > TXSCALE_TABLE_SIZE - 1) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1860 rtldm->ofdm_index[p] = TXSCALE_TABLE_SIZE - 1; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1861 else if (rtldm->ofdm_index[p] < ofdm_min_index) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1862 rtldm->ofdm_index[p] = ofdm_min_index; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1866 if (rtldm->cck_index > TXSCALE_TABLE_SIZE - 1) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1867 rtldm->cck_index = TXSCALE_TABLE_SIZE - 1; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1868 else if (rtldm->cck_index < 0) in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1869 rtldm->cck_index = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1873 rtldm->txpower_track_control, in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1875 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1878 rtldm->power_index_offset[p] = 0; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1883 rtldm->cck_index, rtldm->swing_idx_cck_base); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1887 rtldm->ofdm_index[p], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1889 rtldm->swing_idx_ofdm_base[p]); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1892 if ((rtldm->power_index_offset[RF90_PATH_A] != 0 || in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1893 rtldm->power_index_offset[RF90_PATH_B] != 0) && in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1894 rtldm->txpower_track_control) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1905 if (thermal_value > rtldm->thermalvalue) { in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1908 rtldm->power_index_offset[RF90_PATH_A], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1911 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1915 rtldm->power_index_offset[RF90_PATH_B], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1918 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1919 } else if (thermal_value < rtldm->thermalvalue) { /*Low temperature*/ in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1922 rtldm->power_index_offset[RF90_PATH_A], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1925 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1929 rtldm->power_index_offset[RF90_PATH_B], in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1932 rtldm->thermalvalue); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1957 rtldm->swing_idx_cck_base = rtldm->swing_idx_cck; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1959 rtldm->swing_idx_ofdm_base[p] = in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1960 rtldm->swing_idx_ofdm[p]; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1964 rtldm->thermalvalue, thermal_value); in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1966 rtldm->thermalvalue = thermal_value; in rtl8812ae_dm_txpower_tracking_callback_thermalmeter()
1982 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_get_delta_swing_table() local
1984 u8 rate = rtldm->tx_rate; in rtl8821ae_get_delta_swing_table()
2045 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_txpwr_track_set_pwr() local
2052 if (rtldm->tx_rate != 0xFF) in rtl8821ae_dm_txpwr_track_set_pwr()
2053 tx_rate = rtl8821ae_hw_rate_to_mrate(hw, rtldm->tx_rate); 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()
2113 rtldm->ofdm_index[RF90_PATH_A], in rtl8821ae_dm_txpwr_track_set_pwr()
2122 rtldm->default_ofdm_index, in rtl8821ae_dm_txpwr_track_set_pwr()
2123 rtldm->absolute_ofdm_swing_idx[rf_path], in rtl8821ae_dm_txpwr_track_set_pwr()
2127 rtldm->default_ofdm_index + in rtl8821ae_dm_txpwr_track_set_pwr()
2128 rtldm->absolute_ofdm_swing_idx[rf_path]; in rtl8821ae_dm_txpwr_track_set_pwr()
2132 rtldm->remnant_cck_idx = in rtl8821ae_dm_txpwr_track_set_pwr()
2136 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8821ae_dm_txpwr_track_set_pwr()
2144 rtldm->modify_txagc_flag_path_a = true; in rtl8821ae_dm_txpwr_track_set_pwr()
2154 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8821ae_dm_txpwr_track_set_pwr()
2156 rtldm->remnant_cck_idx = final_ofdm_swing_index; in rtl8821ae_dm_txpwr_track_set_pwr()
2158 rtldm->remnant_ofdm_swing_idx[rf_path] = in rtl8821ae_dm_txpwr_track_set_pwr()
2164 rtldm->modify_txagc_flag_path_a = true; in rtl8821ae_dm_txpwr_track_set_pwr()
2172 rtldm->remnant_ofdm_swing_idx[rf_path]); in rtl8821ae_dm_txpwr_track_set_pwr()
2181 if (rtldm->modify_txagc_flag_path_a) { in rtl8821ae_dm_txpwr_track_set_pwr()
2182 rtldm->remnant_cck_idx = 0; in rtl8821ae_dm_txpwr_track_set_pwr()
2183 rtldm->remnant_ofdm_swing_idx[rf_path] = 0; in rtl8821ae_dm_txpwr_track_set_pwr()
2189 rtldm->modify_txagc_flag_path_a = false; in rtl8821ae_dm_txpwr_track_set_pwr()
2207 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter() local
2233 rtldm->txpower_trackinginit = true; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2238 rtldm->swing_idx_cck_base, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2239 rtldm->swing_idx_ofdm_base[RF90_PATH_A], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2240 rtldm->default_ofdm_index); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2244 if (!rtldm->txpower_track_control || in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2257 rtldm->thermalvalue_avg[rtldm->thermalvalue_avg_index] = thermal_value; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2258 rtldm->thermalvalue_avg_index++; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2259 if (rtldm->thermalvalue_avg_index == AVG_THERMAL_NUM_8812A) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2261 rtldm->thermalvalue_avg_index = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2264 if (rtldm->thermalvalue_avg[i]) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2265 thermal_value_avg += rtldm->thermalvalue_avg[i]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2282 delta = (thermal_value > rtldm->thermalvalue) ? in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2283 (thermal_value - rtldm->thermalvalue) : in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2284 (rtldm->thermalvalue - thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2285 delta_lck = (thermal_value > rtldm->thermalvalue_lck) ? in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2286 (thermal_value - rtldm->thermalvalue_lck) : in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2287 (rtldm->thermalvalue_lck - thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2288 delta_iqk = (thermal_value > rtldm->thermalvalue_iqk) ? in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2289 (thermal_value - rtldm->thermalvalue_iqk) : in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2290 (rtldm->thermalvalue_iqk - thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2302 rtldm->thermalvalue_lck = thermal_value; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2308 if (delta > 0 && rtldm->txpower_track_control) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2325 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2326 rtldm->delta_power_index[RF90_PATH_A]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2327 rtldm->delta_power_index[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2330 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2336 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2342 rtldm->delta_power_index_last[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2343 rtldm->delta_power_index[RF90_PATH_A]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2344 rtldm->delta_power_index[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2347 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2352 rtldm->absolute_ofdm_swing_idx[RF90_PATH_A]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2362 if (rtldm->delta_power_index[p] == in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2363 rtldm->delta_power_index_last[p]) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2365 rtldm->power_index_offset[p] = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2367 rtldm->power_index_offset[p] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2368 rtldm->delta_power_index[p] - in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2369 rtldm->delta_power_index_last[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2375 rtldm->power_index_offset[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2376 rtldm->delta_power_index[p] , in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2377 rtldm->delta_power_index_last[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2379 rtldm->ofdm_index[p] = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2380 rtldm->swing_idx_ofdm_base[p] + in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2381 rtldm->power_index_offset[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2382 rtldm->cck_index = in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2383 rtldm->swing_idx_cck_base + in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2384 rtldm->power_index_offset[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2386 rtldm->swing_idx_cck = rtldm->cck_index; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2387 rtldm->swing_idx_ofdm[p] = rtldm->ofdm_index[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2393 rtldm->swing_idx_cck, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2394 rtldm->swing_idx_cck_base, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2395 rtldm->power_index_offset[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2398 rtldm->swing_idx_ofdm[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2400 rtldm->swing_idx_ofdm_base[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2401 rtldm->power_index_offset[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2405 if (rtldm->ofdm_index[p] > TXSCALE_TABLE_SIZE - 1) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2406 rtldm->ofdm_index[p] = TXSCALE_TABLE_SIZE - 1; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2407 else if (rtldm->ofdm_index[p] < ofdm_min_index) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2408 rtldm->ofdm_index[p] = ofdm_min_index; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2412 if (rtldm->cck_index > TXSCALE_TABLE_SIZE - 1) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2413 rtldm->cck_index = TXSCALE_TABLE_SIZE - 1; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2414 else if (rtldm->cck_index < 0) in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2415 rtldm->cck_index = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2419 rtldm->txpower_track_control, in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2421 rtldm->thermalvalue); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2424 rtldm->power_index_offset[p] = 0; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2429 rtldm->cck_index, rtldm->swing_idx_cck_base); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2433 rtldm->ofdm_index[p], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2435 rtldm->swing_idx_ofdm_base[p]); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2438 if ((rtldm->power_index_offset[RF90_PATH_A] != 0 || in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2439 rtldm->power_index_offset[RF90_PATH_B] != 0) && in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2440 rtldm->txpower_track_control) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2451 if (thermal_value > rtldm->thermalvalue) { in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2454 rtldm->power_index_offset[RF90_PATH_A], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2457 rtldm->thermalvalue); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2458 } else if (thermal_value < rtldm->thermalvalue) { /*Low temperature*/ in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2461 rtldm->power_index_offset[RF90_PATH_A], in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2464 rtldm->thermalvalue); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2489 rtldm->swing_idx_cck_base = rtldm->swing_idx_cck; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2491 rtldm->swing_idx_ofdm_base[p] = rtldm->swing_idx_ofdm[p]; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2495 rtldm->thermalvalue, thermal_value); in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2497 rtldm->thermalvalue = thermal_value; in rtl8821ae_dm_txpower_tracking_callback_thermalmeter()
2674 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_check_edca_turbo() local
2705 cur_tx_ok_cnt = rtlpriv->stats.txbytesunicast - rtldm->last_tx_ok_cnt; in rtl8821ae_dm_check_edca_turbo()
2706 cur_rx_ok_cnt = rtlpriv->stats.rxbytesunicast - rtldm->last_rx_ok_cnt; in rtl8821ae_dm_check_edca_turbo()
2708 rtldm->last_tx_ok_cnt = rtlpriv->stats.txbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2709 rtldm->last_rx_ok_cnt = rtlpriv->stats.rxbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2768 rtldm->last_tx_ok_cnt = rtlpriv->stats.txbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2769 rtldm->last_rx_ok_cnt = rtlpriv->stats.rxbytesunicast; in rtl8821ae_dm_check_edca_turbo()
2810 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_dynamic_atc_switch() local
2818 if (rtldm->atc_status == ATC_STATUS_OFF) { in rtl8821ae_dm_dynamic_atc_switch()
2820 rtldm->atc_status = ATC_STATUS_ON; in rtl8821ae_dm_dynamic_atc_switch()
2825 "atc_status = %d\n", rtldm->atc_status); in rtl8821ae_dm_dynamic_atc_switch()
2827 if (rtldm->crystal_cap != rtlpriv->efuse.crystalcap) { in rtl8821ae_dm_dynamic_atc_switch()
2828 rtldm->crystal_cap = rtlpriv->efuse.crystalcap; in rtl8821ae_dm_dynamic_atc_switch()
2829 crystal_cap = rtldm->crystal_cap & 0x3f; in rtl8821ae_dm_dynamic_atc_switch()
2841 rtldm->crystal_cap); in rtl8821ae_dm_dynamic_atc_switch()
2844 cfo_khz_a = (int)(rtldm->cfo_tail[0] * 3125) / 1280; in rtl8821ae_dm_dynamic_atc_switch()
2845 cfo_khz_b = (int)(rtldm->cfo_tail[1] * 3125) / 1280; in rtl8821ae_dm_dynamic_atc_switch()
2846 packet_count = rtldm->packet_count; in rtl8821ae_dm_dynamic_atc_switch()
2849 if (packet_count == rtldm->packet_count_pre) { in rtl8821ae_dm_dynamic_atc_switch()
2855 rtldm->packet_count_pre = packet_count; in rtl8821ae_dm_dynamic_atc_switch()
2858 rtldm->packet_count); in rtl8821ae_dm_dynamic_atc_switch()
2871 cfo_ave_diff = (rtldm->cfo_ave_pre >= cfo_ave) ? in rtl8821ae_dm_dynamic_atc_switch()
2872 (rtldm->cfo_ave_pre - cfo_ave) : in rtl8821ae_dm_dynamic_atc_switch()
2873 (cfo_ave - rtldm->cfo_ave_pre); in rtl8821ae_dm_dynamic_atc_switch()
2875 if (cfo_ave_diff > 20 && rtldm->large_cfo_hit == 0) { in rtl8821ae_dm_dynamic_atc_switch()
2878 rtldm->large_cfo_hit = 1; in rtl8821ae_dm_dynamic_atc_switch()
2881 rtldm->large_cfo_hit = 0; in rtl8821ae_dm_dynamic_atc_switch()
2883 rtldm->cfo_ave_pre = cfo_ave; in rtl8821ae_dm_dynamic_atc_switch()
2888 if (cfo_ave >= -rtldm->cfo_threshold && in rtl8821ae_dm_dynamic_atc_switch()
2889 cfo_ave <= rtldm->cfo_threshold && in rtl8821ae_dm_dynamic_atc_switch()
2890 rtldm->is_freeze == 0) { in rtl8821ae_dm_dynamic_atc_switch()
2891 if (rtldm->cfo_threshold == CFO_THRESHOLD_XTAL) { in rtl8821ae_dm_dynamic_atc_switch()
2892 rtldm->cfo_threshold = CFO_THRESHOLD_XTAL + 10; in rtl8821ae_dm_dynamic_atc_switch()
2893 rtldm->is_freeze = 1; in rtl8821ae_dm_dynamic_atc_switch()
2895 rtldm->cfo_threshold = CFO_THRESHOLD_XTAL; in rtl8821ae_dm_dynamic_atc_switch()
2900 rtldm->cfo_threshold); in rtl8821ae_dm_dynamic_atc_switch()
2903 if (cfo_ave > rtldm->cfo_threshold && rtldm->crystal_cap < 0x3f) in rtl8821ae_dm_dynamic_atc_switch()
2910 rtldm->crystal_cap, adjust_xtal); in rtl8821ae_dm_dynamic_atc_switch()
2914 rtldm->is_freeze = 0; in rtl8821ae_dm_dynamic_atc_switch()
2915 rtldm->crystal_cap += adjust_xtal; in rtl8821ae_dm_dynamic_atc_switch()
2917 if (rtldm->crystal_cap > 0x3f) in rtl8821ae_dm_dynamic_atc_switch()
2918 rtldm->crystal_cap = 0x3f; in rtl8821ae_dm_dynamic_atc_switch()
2919 else if (rtldm->crystal_cap < 0) in rtl8821ae_dm_dynamic_atc_switch()
2920 rtldm->crystal_cap = 0; in rtl8821ae_dm_dynamic_atc_switch()
2922 crystal_cap = rtldm->crystal_cap & 0x3f; in rtl8821ae_dm_dynamic_atc_switch()
2934 rtldm->crystal_cap); in rtl8821ae_dm_dynamic_atc_switch()
2984 struct rtl_dm *rtldm = rtl_dm(rtl_priv(hw)); in rtl8821ae_dm_set_tx_ant_by_tx_info() local
2985 struct fast_ant_training *pfat_table = &rtldm->fat_table; in rtl8821ae_dm_set_tx_ant_by_tx_info()