Lines Matching +full:low +full:- +full:spur +full:- +full:mode +full:- +full:enable
1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
34 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_read_rfe_type()
36 if (!(efuse->rfe_option & BIT(7))) in rtw8814a_read_rfe_type()
40 efuse->rfe_option = 0; in rtw8814a_read_rfe_type()
42 efuse->rfe_option = 1; in rtw8814a_read_rfe_type()
47 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_read_amplifier_type()
49 switch (efuse->rfe_option) { in rtw8814a_read_amplifier_type()
52 efuse->pa_type_2g = 0; in rtw8814a_read_amplifier_type()
53 efuse->lna_type_2g = 0; in rtw8814a_read_amplifier_type()
55 efuse->pa_type_5g = BIT(0); in rtw8814a_read_amplifier_type()
56 efuse->lna_type_5g = BIT(3); in rtw8814a_read_amplifier_type()
60 efuse->pa_type_2g = BIT(4); in rtw8814a_read_amplifier_type()
61 efuse->lna_type_2g = BIT(3); in rtw8814a_read_amplifier_type()
62 efuse->pa_type_5g = BIT(0); in rtw8814a_read_amplifier_type()
63 efuse->lna_type_5g = BIT(3); in rtw8814a_read_amplifier_type()
66 efuse->lna_type_5g = BIT(3); in rtw8814a_read_amplifier_type()
79 struct rtw_hal *hal = &rtwdev->hal; in rtw8814a_read_rf_type()
81 switch (map->trx_antenna_option) { in rtw8814a_read_rf_type()
86 rtwusb->udev->speed != USB_SPEED_SUPER) in rtw8814a_read_rf_type()
87 hal->rf_type = RF_2T2R; in rtw8814a_read_rf_type()
90 hal->rf_type = RF_3T3R; in rtw8814a_read_rf_type()
96 hal->rf_type = RF_2T2R; in rtw8814a_read_rf_type()
100 hal->rf_path_num = 4; in rtw8814a_read_rf_type()
101 hal->rf_phy_num = 4; in rtw8814a_read_rf_type()
103 if (hal->rf_type == RF_3T3R) { in rtw8814a_read_rf_type()
104 hal->antenna_rx = BB_PATH_ABC; in rtw8814a_read_rf_type()
105 hal->antenna_tx = BB_PATH_ABC; in rtw8814a_read_rf_type()
107 hal->antenna_rx = BB_PATH_AB; in rtw8814a_read_rf_type()
108 hal->antenna_tx = BB_PATH_AB; in rtw8814a_read_rf_type()
114 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_init_hwcap()
115 struct rtw_hal *hal = &rtwdev->hal; in rtw8814a_init_hwcap()
117 efuse->hw_cap.bw = BIT(RTW_CHANNEL_WIDTH_20) | in rtw8814a_init_hwcap()
120 efuse->hw_cap.ptcl = EFUSE_HW_CAP_PTCL_VHT; in rtw8814a_init_hwcap()
122 if (hal->rf_type == RF_3T3R) in rtw8814a_init_hwcap()
123 efuse->hw_cap.nss = 3; in rtw8814a_init_hwcap()
125 efuse->hw_cap.nss = 2; in rtw8814a_init_hwcap()
129 efuse->hw_cap.hci, efuse->hw_cap.bw, efuse->hw_cap.ptcl, in rtw8814a_init_hwcap()
130 efuse->hw_cap.ant_num, efuse->hw_cap.nss); in rtw8814a_init_hwcap()
135 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_read_efuse()
141 log_map, rtwdev->chip->log_efuse_size, true); in rtw8814a_read_efuse()
145 efuse->usb_mode_switch = u8_get_bits(map->usb_mode, BIT(4)); in rtw8814a_read_efuse()
146 efuse->rfe_option = map->rfe_option; in rtw8814a_read_efuse()
147 efuse->rf_board_option = map->rf_board_option; in rtw8814a_read_efuse()
148 efuse->crystal_cap = map->xtal_k; in rtw8814a_read_efuse()
149 efuse->channel_plan = map->channel_plan; in rtw8814a_read_efuse()
150 efuse->country_code[0] = map->country_code[0]; in rtw8814a_read_efuse()
151 efuse->country_code[1] = map->country_code[1]; in rtw8814a_read_efuse()
152 efuse->bt_setting = map->rf_bt_setting; in rtw8814a_read_efuse()
153 efuse->regd = map->rf_board_option & 0x7; in rtw8814a_read_efuse()
154 efuse->thermal_meter[RF_PATH_A] = map->thermal_meter; in rtw8814a_read_efuse()
155 efuse->thermal_meter_k = map->thermal_meter; in rtw8814a_read_efuse()
156 efuse->tx_bb_swing_setting_2g = map->tx_bb_swing_setting_2g; in rtw8814a_read_efuse()
157 efuse->tx_bb_swing_setting_5g = map->tx_bb_swing_setting_5g; in rtw8814a_read_efuse()
168 efuse->txpwr_idx_table[i] = map->txpwr_idx_table[i]; in rtw8814a_read_efuse()
172 ether_addr_copy(efuse->addr, map->u.mac_addr); in rtw8814a_read_efuse()
175 ether_addr_copy(efuse->addr, map->e.mac_addr); in rtw8814a_read_efuse()
180 return -EOPNOTSUPP; in rtw8814a_read_efuse()
188 u8 rfe_option = rtwdev->efuse.rfe_option; in rtw8814a_init_rfe_reg()
210 struct rtw_efuse *efuse = &rtwdev->efuse; in rtw8814a_get_bb_swing()
214 tx_bb_swing = efuse->tx_bb_swing_setting_2g; in rtw8814a_get_bb_swing()
216 tx_bb_swing = efuse->tx_bb_swing_setting_5g; in rtw8814a_get_bb_swing()
229 swing = rtw8814a_get_bb_swing(rtwdev, rtwdev->hal.current_band_type, in rtw8814a_get_swing_index()
243 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_pwrtrack_init()
246 dm_info->default_ofdm_index = rtw8814a_get_swing_index(rtwdev); in rtw8814a_pwrtrack_init()
248 for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) { in rtw8814a_pwrtrack_init()
249 ewma_thermal_init(&dm_info->avg_thermal[path]); in rtw8814a_pwrtrack_init()
250 dm_info->delta_power_index[path] = 0; in rtw8814a_pwrtrack_init()
251 dm_info->delta_power_index_last[path] = 0; in rtw8814a_pwrtrack_init()
253 dm_info->pwr_trk_triggered = false; in rtw8814a_pwrtrack_init()
254 dm_info->pwr_trk_init_trigger = true; in rtw8814a_pwrtrack_init()
255 dm_info->thermal_meter_k = rtwdev->efuse.thermal_meter_k; in rtw8814a_pwrtrack_init()
277 /* RX path diversity enable */ in rtw8814a_config_cck_rx_antenna_init()
308 rtw_load_table(rtwdev, rtwdev->chip->bb_tbl); in rtw8814a_phy_set_param()
309 rtw_load_table(rtwdev, rtwdev->chip->agc_tbl); in rtw8814a_phy_set_param()
311 crystal_cap = rtwdev->efuse.crystal_cap & 0x3F; in rtw8814a_phy_set_param()
317 for (rf_path = 0; rf_path < rtwdev->hal.rf_path_num; rf_path++) in rtw8814a_phy_set_param()
318 rtw_load_table(rtwdev, rtwdev->chip->rf_tbl[rf_path]); in rtw8814a_phy_set_param()
348 /* enable Tx report. */ in rtw8814a_phy_set_param()
352 /* Reset USB mode switch setting */ in rtw8814a_phy_set_param()
361 * We should pull GPIO7 high to enable RF 1.2V Switch Power Supply in rtw8814ae_enable_rf_1_2v()
368 * mode=0: data port; in rtw8814ae_enable_rf_1_2v()
369 * mode=1 and BIT_GPIO_IO_SEL=0: interrupt mode; in rtw8814ae_enable_rf_1_2v()
373 /* 3. data mode in rtw8814ae_enable_rf_1_2v()
395 rtw_load_table(rtwdev, rtwdev->chip->mac_tbl); in rtw8814a_mac_init()
400 rtwdev->chip->usb_tx_agg_desc_num << 1); in rtw8814a_mac_init()
450 rtwusb->udev->speed == USB_SPEED_SUPER) { in rtw8814a_mac_init()
451 /* Disable U1/U2 Mode to avoid 2.5G spur in USB3.0. */ in rtw8814a_mac_init()
475 switch (rtwdev->efuse.rfe_option) { in rtw8814a_set_rfe_reg_24g()
512 switch (rtwdev->efuse.rfe_option) { in rtw8814a_set_rfe_reg_5g()
616 /* Enable CCK Tx function, even when CCK is off */ in rtw8814a_switch_band()
637 struct rtw_hal *hal = &rtwdev->hal; in rtw8814a_switch_channel()
661 for (path = 0; path < hal->rf_path_num; path++) { in rtw8814a_switch_channel()
732 for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) { in rtw8814a_set_bw_rf()
762 if (rtwdev->hal.cut_version != RTW_CHIP_VER_CUT_A) in rtw8814a_adc_clk()
798 * 0xc60/0xe60/0x1860/0x1a60[14] always = 0 bcz its error in A-cut in rtw8814a_adc_clk()
801 /* power_off/clk_off @ anapar_state=idle mode */ in rtw8814a_adc_clk()
826 /* power_on/clk_on @ anapar_state=BT mode */ in rtw8814a_adc_clk()
834 /* recover original setting @ anapar_state=BT mode */ in rtw8814a_adc_clk()
866 struct rtw_hal *hal = &rtwdev->hal; in rtw8814a_spur_calibration_ch140()
870 if (hal->ch_param[0] == 0) in rtw8814a_spur_calibration_ch140()
871 hal->ch_param[0] = rtw_read32(rtwdev, REG_CCASEL); in rtw8814a_spur_calibration_ch140()
872 if (hal->ch_param[1] == 0) in rtw8814a_spur_calibration_ch140()
873 hal->ch_param[1] = rtw_read32(rtwdev, REG_PDMFTH); in rtw8814a_spur_calibration_ch140()
879 hal->ch_param[0] != 0) in rtw8814a_spur_calibration_ch140()
880 rtw_write32(rtwdev, REG_CCASEL, hal->ch_param[0]); in rtw8814a_spur_calibration_ch140()
883 hal->ch_param[1] != 0) in rtw8814a_spur_calibration_ch140()
884 rtw_write32(rtwdev, REG_PDMFTH, hal->ch_param[1]); in rtw8814a_spur_calibration_ch140()
886 hal->ch_param[0] = rtw_read32(rtwdev, REG_CCASEL); in rtw8814a_spur_calibration_ch140()
887 hal->ch_param[1] = rtw_read32(rtwdev, REG_PDMFTH); in rtw8814a_spur_calibration_ch140()
918 fc = 2412 + (ch - 1) * 5; in rtw8814a_nbi_setting()
931 u8 primary_channel = rtwdev->hal.primary_channel; in rtw8814a_spur_nbi_setting()
932 u8 rfe_type = rtwdev->efuse.rfe_option; in rtw8814a_spur_nbi_setting()
945 /* A workaround to eliminate the 5280 MHz & 5600 MHz & 5760 MHz spur of 8814A */
948 u8 rfe_type = rtwdev->efuse.rfe_option; in rtw8814a_spur_calibration()
1162 rx_pwr_all = -38 - 2 * vga_idx; in rtw8814a_cck_rx_pwr()
1165 rx_pwr_all = -28 - 2 * vga_idx; in rtw8814a_cck_rx_pwr()
1168 rx_pwr_all = -8 - 2 * vga_idx; in rtw8814a_cck_rx_pwr()
1171 rx_pwr_all = -1 - 2 * vga_idx; in rtw8814a_cck_rx_pwr()
1183 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_query_phy_status()
1195 pkt_stat->bw = RTW_CHANNEL_WIDTH_20; in rtw8814a_query_phy_status()
1197 if (pkt_stat->rate <= DESC_RATE11M) { in rtw8814a_query_phy_status()
1198 lna = le32_get_bits(rpt->w1, RTW_JGRPHY_W1_AGC_RPT_LNA_IDX); in rtw8814a_query_phy_status()
1199 vga = le32_get_bits(rpt->w1, RTW_JGRPHY_W1_AGC_RPT_VGA_IDX); in rtw8814a_query_phy_status()
1203 pkt_stat->rx_power[RF_PATH_A] = rx_pwr_db; in rtw8814a_query_phy_status()
1204 pkt_stat->rssi = rtw_phy_rf_power_2_rssi(pkt_stat->rx_power, 1); in rtw8814a_query_phy_status()
1205 dm_info->rssi[RF_PATH_A] = pkt_stat->rssi; in rtw8814a_query_phy_status()
1206 pkt_stat->signal_power = rx_pwr_db; in rtw8814a_query_phy_status()
1208 gain[RF_PATH_A] = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_GAIN_A); in rtw8814a_query_phy_status()
1209 gain[RF_PATH_B] = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_GAIN_B); in rtw8814a_query_phy_status()
1210 gain[RF_PATH_C] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_GAIN_C); in rtw8814a_query_phy_status()
1211 gain[RF_PATH_D] = le32_get_bits(rpt->w6, RTW_JGRPHY_W6_GAIN_D); in rtw8814a_query_phy_status()
1213 snr[RF_PATH_A] = le32_get_bits(rpt->w3, RTW_JGRPHY_W3_RXSNR_A); in rtw8814a_query_phy_status()
1214 snr[RF_PATH_B] = le32_get_bits(rpt->w4, RTW_JGRPHY_W4_RXSNR_B); in rtw8814a_query_phy_status()
1215 snr[RF_PATH_C] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_RXSNR_C); in rtw8814a_query_phy_status()
1216 snr[RF_PATH_D] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_RXSNR_D); in rtw8814a_query_phy_status()
1218 evm[RF_PATH_A] = le32_get_bits(rpt->w3, RTW_JGRPHY_W3_RXEVM_1); in rtw8814a_query_phy_status()
1219 evm[RF_PATH_B] = le32_get_bits(rpt->w3, RTW_JGRPHY_W3_RXEVM_2); in rtw8814a_query_phy_status()
1220 evm[RF_PATH_C] = le32_get_bits(rpt->w4, RTW_JGRPHY_W4_RXEVM_3); in rtw8814a_query_phy_status()
1221 evm[RF_PATH_D] = le32_get_bits(rpt->w5, RTW_JGRPHY_W5_RXEVM_4); in rtw8814a_query_phy_status()
1223 if (pkt_stat->rate <= DESC_RATE54M) in rtw8814a_query_phy_status()
1224 evm[RF_PATH_A] = le32_get_bits(rpt->w6, in rtw8814a_query_phy_status()
1228 pkt_stat->rx_power[i] = gain[i] - 110; in rtw8814a_query_phy_status()
1230 rssi = rtw_phy_rf_power_2_rssi(&pkt_stat->rx_power[i], 1); in rtw8814a_query_phy_status()
1231 dm_info->rssi[i] = rssi; in rtw8814a_query_phy_status()
1233 pkt_stat->rx_snr[i] = snr[i]; in rtw8814a_query_phy_status()
1234 dm_info->rx_snr[i] = snr[i] >> 1; in rtw8814a_query_phy_status()
1236 pkt_stat->rx_evm[i] = evm[i]; in rtw8814a_query_phy_status()
1237 evm[i] = max_t(s8, -127, evm[i]); in rtw8814a_query_phy_status()
1238 dm_info->rx_evm_dbm[i] = abs(evm[i]) >> 1; in rtw8814a_query_phy_status()
1241 rssi = rtw_phy_rf_power_2_rssi(pkt_stat->rx_power, in rtw8814a_query_phy_status()
1243 pkt_stat->rssi = rssi; in rtw8814a_query_phy_status()
1256 rx_pwr_db -= 110; in rtw8814a_query_phy_status()
1257 pkt_stat->signal_power = rx_pwr_db; in rtw8814a_query_phy_status()
1259 rfmode = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_R_RFMOD); in rtw8814a_query_phy_status()
1260 subchannel = le32_get_bits(rpt->w0, RTW_JGRPHY_W0_SUB_CHNL); in rtw8814a_query_phy_status()
1263 pkt_stat->bw = RTW_CHANNEL_WIDTH_40; in rtw8814a_query_phy_status()
1266 pkt_stat->bw = RTW_CHANNEL_WIDTH_80; in rtw8814a_query_phy_status()
1268 pkt_stat->bw = RTW_CHANNEL_WIDTH_40; in rtw8814a_query_phy_status()
1271 cfo[RF_PATH_A] = le32_get_bits(rpt->w2, RTW_JGRPHY_W2_CFO_TAIL_A); in rtw8814a_query_phy_status()
1272 cfo[RF_PATH_B] = le32_get_bits(rpt->w2, RTW_JGRPHY_W2_CFO_TAIL_B); in rtw8814a_query_phy_status()
1275 pkt_stat->cfo_tail[i] = cfo[i]; in rtw8814a_query_phy_status()
1276 dm_info->cfo_tail[i] = (cfo[i] * 5) >> 1; in rtw8814a_query_phy_status()
1284 struct rtw_hal *hal = &rtwdev->hal; in rtw8814a_set_tx_power_index_by_rate()
1292 pwr_index = hal->tx_pwr_tbl[path][rate] + 2; in rtw8814a_set_tx_power_index_by_rate()
1293 if (pwr_index > rtwdev->chip->max_power_index) in rtw8814a_set_tx_power_index_by_rate()
1294 pwr_index = rtwdev->chip->max_power_index; in rtw8814a_set_tx_power_index_by_rate()
1311 struct rtw_hal *hal = &rtwdev->hal; in rtw8814a_set_tx_power_index()
1314 for (path = 0; path < hal->rf_path_num; path++) { in rtw8814a_set_tx_power_index()
1315 if (hal->current_band_type == RTW_BAND_2G) in rtw8814a_set_tx_power_index()
1322 if (test_bit(RTW_FLAG_SCANNING, rtwdev->flags)) in rtw8814a_set_tx_power_index()
1342 static void rtw8814a_cfg_ldo25(struct rtw_dev *rtwdev, bool enable) in rtw8814a_cfg_ldo25() argument
1347 * can't handle it, resulting in low TX speed. Other chips seem fine.
1353 rtw_write32(rtwdev, REG_AMPDU_MAX_LENGTH, (8192 << factor) - 1); in rtw8814a_set_ampdu_factor()
1358 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_false_alarm_statistics()
1367 dm_info->cck_fa_cnt = cck_fa_cnt; in rtw8814a_false_alarm_statistics()
1368 dm_info->ofdm_fa_cnt = ofdm_fa_cnt; in rtw8814a_false_alarm_statistics()
1369 dm_info->total_fa_cnt = ofdm_fa_cnt; in rtw8814a_false_alarm_statistics()
1371 dm_info->total_fa_cnt += cck_fa_cnt; in rtw8814a_false_alarm_statistics()
1374 dm_info->cck_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD); in rtw8814a_false_alarm_statistics()
1375 dm_info->cck_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD); in rtw8814a_false_alarm_statistics()
1378 dm_info->ofdm_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD); in rtw8814a_false_alarm_statistics()
1379 dm_info->ofdm_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD); in rtw8814a_false_alarm_statistics()
1382 dm_info->ht_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD); in rtw8814a_false_alarm_statistics()
1383 dm_info->ht_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD); in rtw8814a_false_alarm_statistics()
1386 dm_info->vht_ok_cnt = u32_get_bits(crc32_cnt, MASKLWORD); in rtw8814a_false_alarm_statistics()
1387 dm_info->vht_err_cnt = u32_get_bits(crc32_cnt, MASKHWORD); in rtw8814a_false_alarm_statistics()
1390 dm_info->ofdm_cca_cnt = u32_get_bits(cca32_cnt, MASKHWORD); in rtw8814a_false_alarm_statistics()
1391 dm_info->total_cca_cnt = dm_info->ofdm_cca_cnt; in rtw8814a_false_alarm_statistics()
1394 dm_info->cck_cca_cnt = u32_get_bits(cca32_cnt, MASKLWORD); in rtw8814a_false_alarm_statistics()
1395 dm_info->total_cca_cnt += dm_info->cck_cca_cnt; in rtw8814a_false_alarm_statistics()
1446 /* IQK AFE setting RX_WAIT_CCA mode */ in rtw8814a_iqk_afe_setting()
1578 lok_temp1 += (lok_temp1 & BIT(4 - ii)) << (ii * 2); in rtw8814a_lok_one_shot()
1579 lok_temp2 += (lok_temp2 & BIT(4 - ii)) << (ii * 2); in rtw8814a_lok_one_shot()
1593 u8 bw = rtwdev->hal.current_band_width; in rtw8814a_iqk_tx_one_shot()
1646 u8 band = rtwdev->hal.current_band_type; in rtw8814a_iqk_rx_one_shot()
1647 u8 bw = rtwdev->hal.current_band_width; in rtw8814a_iqk_rx_one_shot()
1678 iqk_cmd = 0xf8000001 | ((9 - bw) << 8) | (BIT(path) << 4); in rtw8814a_iqk_rx_one_shot()
1733 u8 band = rtwdev->hal.current_band_type; in rtw8814a_iqk()
1734 u8 bw = rtwdev->hal.current_band_width; in rtw8814a_iqk()
1796 rtw8814a_iqk_reset_nctl(rtwdev); /* for 3-wire to BB use */ in rtw8814a_do_iqk()
1832 struct rtw_coex *coex = &rtwdev->coex; in rtw8814a_coex_cfg_rfe_type()
1833 struct rtw_coex_rfe *coex_rfe = &coex->rfe; in rtw8814a_coex_cfg_rfe_type()
1836 coex_rfe->ant_switch_exist = true; in rtw8814a_coex_cfg_rfe_type()
1851 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_txagc_swing_offset()
1852 u8 swing_upper_bound = dm_info->default_ofdm_index + 10; in rtw8814a_txagc_swing_offset()
1853 s8 delta_pwr_idx = dm_info->delta_power_index[path]; in rtw8814a_txagc_swing_offset()
1854 u8 swing_index = dm_info->default_ofdm_index; in rtw8814a_txagc_swing_offset()
1864 swing_index = dm_info->default_ofdm_index; in rtw8814a_txagc_swing_offset()
1867 swing_index = dm_info->default_ofdm_index + in rtw8814a_txagc_swing_offset()
1868 delta_pwr_idx - tx_pwr_idx_offset; in rtw8814a_txagc_swing_offset()
1872 if (dm_info->default_ofdm_index > abs(delta_pwr_idx)) in rtw8814a_txagc_swing_offset()
1874 dm_info->default_ofdm_index + delta_pwr_idx; in rtw8814a_txagc_swing_offset()
1884 swing_index = RTW_TXSCALE_SIZE - 1; in rtw8814a_txagc_swing_offset()
1912 u8 max_pwr_idx = rtwdev->chip->max_power_index; in rtw8814a_pwrtrack_set()
1913 u8 band_width = rtwdev->hal.current_band_width; in rtw8814a_pwrtrack_set()
1914 u8 channel = rtwdev->hal.current_channel; in rtw8814a_pwrtrack_set()
1915 u8 tx_rate = rtwdev->dm_info.tx_rate; in rtw8814a_pwrtrack_set()
1924 pwr_idx_offset = max_pwr_idx - tx_pwr_idx; in rtw8814a_pwrtrack_set()
1933 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_phy_pwrtrack_path()
1940 power_idx_last = dm_info->delta_power_index[path]; in rtw8814a_phy_pwrtrack_path()
1948 dm_info->delta_power_index[path] = power_idx_cur; in rtw8814a_phy_pwrtrack_path()
1954 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_phy_pwrtrack()
1960 if (rtwdev->efuse.thermal_meter[RF_PATH_A] == 0xff) in rtw8814a_phy_pwrtrack()
1967 if (dm_info->pwr_trk_init_trigger) in rtw8814a_phy_pwrtrack()
1968 dm_info->pwr_trk_init_trigger = false; in rtw8814a_phy_pwrtrack()
1973 for (path = RF_PATH_A; path < rtwdev->hal.rf_path_num; path++) in rtw8814a_phy_pwrtrack()
1983 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_pwr_track()
1985 if (!dm_info->pwr_trk_triggered) { in rtw8814a_pwr_track()
1988 dm_info->pwr_trk_triggered = true; in rtw8814a_pwr_track()
1993 dm_info->pwr_trk_triggered = false; in rtw8814a_pwr_track()
1999 struct rtw_dm_info *dm_info = &rtwdev->dm_info; in rtw8814a_phy_cck_pd_set()
2005 if (dm_info->min_rssi > 60) { in rtw8814a_phy_cck_pd_set()
2007 } else if (dm_info->min_rssi > 35) { in rtw8814a_phy_cck_pd_set()
2009 } else if (dm_info->min_rssi > 20) { in rtw8814a_phy_cck_pd_set()
2010 if (dm_info->cck_fa_avg > 500) in rtw8814a_phy_cck_pd_set()
2012 else if (dm_info->cck_fa_avg < 250) in rtw8814a_phy_cck_pd_set()
2021 rtw_dbg(rtwdev, RTW_DBG_PHY, "lv: (%d) -> (%d)\n", in rtw8814a_phy_cck_pd_set()
2022 dm_info->cck_pd_lv[RTW_CHANNEL_WIDTH_20][RF_PATH_A], new_lvl); in rtw8814a_phy_cck_pd_set()
2024 if (dm_info->cck_pd_lv[RTW_CHANNEL_WIDTH_20][RF_PATH_A] == new_lvl) in rtw8814a_phy_cck_pd_set()
2027 dm_info->cck_fa_avg = CCK_FA_AVG_RESET; in rtw8814a_phy_cck_pd_set()
2028 dm_info->cck_pd_lv[RTW_CHANNEL_WIDTH_20][RF_PATH_A] = new_lvl; in rtw8814a_phy_cck_pd_set()
2166 /* rssi in percentage % (dbm = % - 100) */
2173 {0, 16, false, 7}, /* for WL-CPT */
2182 {0, 16, false, 7}, /* for WL-CPT */
2203 .txff_size = (2048 - 10) * TX_PAGE_SIZE,