Lines Matching +full:abs +full:- +full:flat

1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
178 struct rtw89_tssi_info *tssi = &rtwdev->tssi; in rtw8852bx_efuse_parsing_tssi()
179 struct rtw8852bx_tssi_offset *ofst[] = {&map->path_a_tssi, &map->path_b_tssi}; in rtw8852bx_efuse_parsing_tssi()
182 tssi->thermal[RF_PATH_A] = map->path_a_therm; in rtw8852bx_efuse_parsing_tssi()
183 tssi->thermal[RF_PATH_B] = map->path_b_therm; in rtw8852bx_efuse_parsing_tssi()
186 memcpy(tssi->tssi_cck[i], ofst[i]->cck_tssi, in rtw8852bx_efuse_parsing_tssi()
187 sizeof(ofst[i]->cck_tssi)); in rtw8852bx_efuse_parsing_tssi()
192 i, j, tssi->tssi_cck[i][j]); in rtw8852bx_efuse_parsing_tssi()
194 memcpy(tssi->tssi_mcs[i], ofst[i]->bw40_tssi, in rtw8852bx_efuse_parsing_tssi()
195 sizeof(ofst[i]->bw40_tssi)); in rtw8852bx_efuse_parsing_tssi()
196 memcpy(tssi->tssi_mcs[i] + TSSI_MCS_2G_CH_GROUP_NUM, in rtw8852bx_efuse_parsing_tssi()
197 ofst[i]->bw40_1s_tssi_5g, sizeof(ofst[i]->bw40_1s_tssi_5g)); in rtw8852bx_efuse_parsing_tssi()
202 i, j, tssi->tssi_mcs[i][j]); in rtw8852bx_efuse_parsing_tssi()
219 struct rtw89_phy_efuse_gain *gain = &rtwdev->efuse_gain; in rtw8852bx_efuse_parsing_gain_offset()
222 valid |= _decode_efuse_gain(map->rx_gain_2g_cck, in rtw8852bx_efuse_parsing_gain_offset()
223 &gain->offset[RF_PATH_A][RTW89_GAIN_OFFSET_2G_CCK], in rtw8852bx_efuse_parsing_gain_offset()
224 &gain->offset[RF_PATH_B][RTW89_GAIN_OFFSET_2G_CCK]); in rtw8852bx_efuse_parsing_gain_offset()
225 valid |= _decode_efuse_gain(map->rx_gain_2g_ofdm, in rtw8852bx_efuse_parsing_gain_offset()
226 &gain->offset[RF_PATH_A][RTW89_GAIN_OFFSET_2G_OFDM], in rtw8852bx_efuse_parsing_gain_offset()
227 &gain->offset[RF_PATH_B][RTW89_GAIN_OFFSET_2G_OFDM]); in rtw8852bx_efuse_parsing_gain_offset()
228 valid |= _decode_efuse_gain(map->rx_gain_5g_low, in rtw8852bx_efuse_parsing_gain_offset()
229 &gain->offset[RF_PATH_A][RTW89_GAIN_OFFSET_5G_LOW], in rtw8852bx_efuse_parsing_gain_offset()
230 &gain->offset[RF_PATH_B][RTW89_GAIN_OFFSET_5G_LOW]); in rtw8852bx_efuse_parsing_gain_offset()
231 valid |= _decode_efuse_gain(map->rx_gain_5g_mid, in rtw8852bx_efuse_parsing_gain_offset()
232 &gain->offset[RF_PATH_A][RTW89_GAIN_OFFSET_5G_MID], in rtw8852bx_efuse_parsing_gain_offset()
233 &gain->offset[RF_PATH_B][RTW89_GAIN_OFFSET_5G_MID]); in rtw8852bx_efuse_parsing_gain_offset()
234 valid |= _decode_efuse_gain(map->rx_gain_5g_high, in rtw8852bx_efuse_parsing_gain_offset()
235 &gain->offset[RF_PATH_A][RTW89_GAIN_OFFSET_5G_HIGH], in rtw8852bx_efuse_parsing_gain_offset()
236 &gain->offset[RF_PATH_B][RTW89_GAIN_OFFSET_5G_HIGH]); in rtw8852bx_efuse_parsing_gain_offset()
238 gain->offset_valid = valid; in rtw8852bx_efuse_parsing_gain_offset()
244 struct rtw89_efuse *efuse = &rtwdev->efuse; in __rtw8852bx_read_efuse()
249 efuse->country_code[0] = map->country_code[0]; in __rtw8852bx_read_efuse()
250 efuse->country_code[1] = map->country_code[1]; in __rtw8852bx_read_efuse()
254 switch (rtwdev->hci.type) { in __rtw8852bx_read_efuse()
256 ether_addr_copy(efuse->addr, map->e.mac_addr); in __rtw8852bx_read_efuse()
259 ether_addr_copy(efuse->addr, map->u.mac_addr); in __rtw8852bx_read_efuse()
262 return -EOPNOTSUPP; in __rtw8852bx_read_efuse()
265 efuse->rfe_type = map->rfe_type; in __rtw8852bx_read_efuse()
266 efuse->xtal_cap = map->xtal_k; in __rtw8852bx_read_efuse()
268 rtw89_info(rtwdev, "chip rfe_type is %d\n", efuse->rfe_type); in __rtw8852bx_read_efuse()
277 u32 offset = PWR_K_CHK_OFFSET - rtwdev->chip->phycap_addr; in rtw8852bx_phycap_parsing_power_cal()
280 rtwdev->efuse.power_k_valid = true; in rtw8852bx_phycap_parsing_power_cal()
285 struct rtw89_tssi_info *tssi = &rtwdev->tssi; in rtw8852bx_phycap_parsing_tssi()
287 u32 addr = rtwdev->chip->phycap_addr; in rtw8852bx_phycap_parsing_tssi()
295 ofst = tssi_trim_addr[i] - addr - j; in rtw8852bx_phycap_parsing_tssi()
296 tssi->tssi_trim[i][j] = phycap_map[ofst]; in rtw8852bx_phycap_parsing_tssi()
304 memset(tssi->tssi_trim, 0, sizeof(tssi->tssi_trim)); in rtw8852bx_phycap_parsing_tssi()
313 i, j, tssi->tssi_trim[i][j], in rtw8852bx_phycap_parsing_tssi()
314 tssi_trim_addr[i] - j); in rtw8852bx_phycap_parsing_tssi()
320 struct rtw89_power_trim_info *info = &rtwdev->pwr_trim; in rtw8852bx_phycap_parsing_thermal_trim()
322 u32 addr = rtwdev->chip->phycap_addr; in rtw8852bx_phycap_parsing_thermal_trim()
326 info->thermal_trim[i] = phycap_map[thm_trim_addr[i] - addr]; in rtw8852bx_phycap_parsing_thermal_trim()
330 i, info->thermal_trim[i]); in rtw8852bx_phycap_parsing_thermal_trim()
332 if (info->thermal_trim[i] != 0xff) in rtw8852bx_phycap_parsing_thermal_trim()
333 info->pg_thermal_trim = true; in rtw8852bx_phycap_parsing_thermal_trim()
344 struct rtw89_power_trim_info *info = &rtwdev->pwr_trim; in rtw8852bx_thermal_trim()
347 if (!info->pg_thermal_trim) { in rtw8852bx_thermal_trim()
355 val = __thm_setting(info->thermal_trim[i]); in rtw8852bx_thermal_trim()
368 struct rtw89_power_trim_info *info = &rtwdev->pwr_trim; in rtw8852bx_phycap_parsing_pa_bias_trim()
370 u32 addr = rtwdev->chip->phycap_addr; in rtw8852bx_phycap_parsing_pa_bias_trim()
374 info->pa_bias_trim[i] = phycap_map[pabias_trim_addr[i] - addr]; in rtw8852bx_phycap_parsing_pa_bias_trim()
378 i, info->pa_bias_trim[i]); in rtw8852bx_phycap_parsing_pa_bias_trim()
380 if (info->pa_bias_trim[i] != 0xff) in rtw8852bx_phycap_parsing_pa_bias_trim()
381 info->pg_pa_bias_trim = true; in rtw8852bx_phycap_parsing_pa_bias_trim()
387 struct rtw89_power_trim_info *info = &rtwdev->pwr_trim; in rtw8852bx_pa_bias_trim()
391 if (!info->pg_pa_bias_trim) { in rtw8852bx_pa_bias_trim()
399 pabias_2g = FIELD_GET(GENMASK(3, 0), info->pa_bias_trim[i]); in rtw8852bx_pa_bias_trim()
400 pabias_5g = FIELD_GET(GENMASK(7, 4), info->pa_bias_trim[i]); in rtw8852bx_pa_bias_trim()
417 struct rtw89_phy_efuse_gain *gain = &rtwdev->efuse_gain; in rtw8852bx_phycap_parsing_gain_comp()
418 u32 phycap_addr = rtwdev->chip->phycap_addr; in rtw8852bx_phycap_parsing_gain_comp()
428 data = phycap_map[comp_addrs[path][i] - phycap_addr]; in rtw8852bx_phycap_parsing_gain_comp()
430 &gain->comp[path][i]); in rtw8852bx_phycap_parsing_gain_comp()
433 gain->comp_valid = valid; in rtw8852bx_phycap_parsing_gain_comp()
462 switch (chan->band_width) { in __rtw8852bx_set_channel_mac()
473 switch (chan->band_width) { in __rtw8852bx_set_channel_mac()
490 if (chan->channel > 14) { in __rtw8852bx_set_channel_mac()
513 u8 ch_element = primary_ch - 1; in rtw8852bx_ctrl_sco_cck()
583 const struct rtw89_phy_bb_gain_info *gain = &rtwdev->bb_gain.ax; in rtw8852bx_set_gain_error()
597 val = gain->lna_gain[gain_band][path][i]; in rtw8852bx_set_gain_error()
608 val = gain->tia_gain[gain_band][path][i]; in rtw8852bx_set_gain_error()
623 linear = rtw89_db_to_linear(abs(ext_loss_a - ext_loss_b)) + 1; in rtw8852bt_ext_loss_avg_update()
641 struct rtw89_hal *hal = &rtwdev->hal; in rtw8852bx_set_gain_offset()
642 struct rtw89_phy_efuse_gain *efuse_gain = &rtwdev->efuse_gain; in rtw8852bx_set_gain_offset()
650 if (!efuse_gain->comp_valid) in rtw8852bx_set_gain_offset()
654 tmp = efuse_gain->comp[path][subband]; in rtw8852bx_set_gain_offset()
660 if (!efuse_gain->offset_valid) in rtw8852bx_set_gain_offset()
665 offset_a = -efuse_gain->offset[RF_PATH_A][gain_ofdm_band]; in rtw8852bx_set_gain_offset()
666 offset_b = -efuse_gain->offset[RF_PATH_B][gain_ofdm_band]; in rtw8852bx_set_gain_offset()
668 tmp = -((offset_a << 2) + (efuse_gain->offset_base[RTW89_PHY_0] >> 2)); in rtw8852bx_set_gain_offset()
672 tmp = -((offset_b << 2) + (efuse_gain->offset_base[RTW89_PHY_0] >> 2)); in rtw8852bx_set_gain_offset()
676 if (hal->antenna_rx == RF_B) { in rtw8852bx_set_gain_offset()
677 offset_ofdm = -efuse_gain->offset[RF_PATH_B][gain_ofdm_band]; in rtw8852bx_set_gain_offset()
678 offset_cck = -efuse_gain->offset[RF_PATH_B][0]; in rtw8852bx_set_gain_offset()
680 offset_ofdm = -efuse_gain->offset[RF_PATH_A][gain_ofdm_band]; in rtw8852bx_set_gain_offset()
681 offset_cck = -efuse_gain->offset[RF_PATH_A][0]; in rtw8852bx_set_gain_offset()
684 tmp = (offset_ofdm << 4) + efuse_gain->offset_base[RTW89_PHY_0]; in rtw8852bx_set_gain_offset()
688 tmp = (offset_ofdm << 4) + efuse_gain->rssi_base[RTW89_PHY_0]; in rtw8852bx_set_gain_offset()
693 tmp = (offset_cck << 3) + (efuse_gain->offset_base[RTW89_PHY_0] >> 1); in rtw8852bx_set_gain_offset()
699 ext_loss_a = (offset_a << 2) + (efuse_gain->offset_base[RTW89_PHY_0] >> 2); in rtw8852bx_set_gain_offset()
700 ext_loss_b = (offset_b << 2) + (efuse_gain->offset_base[RTW89_PHY_0] >> 2); in rtw8852bx_set_gain_offset()
703 if (rtwdev->chip->chip_id == RTL8852BT) in rtw8852bx_set_gain_offset()
710 const struct rtw89_phy_bb_gain_info *gain = &rtwdev->bb_gain.ax; in rtw8852bx_set_rxsc_rpl_comp()
714 val = u32_encode_bits((gain->rpl_ofst_20[band][RF_PATH_A] + in rtw8852bx_set_rxsc_rpl_comp()
715 gain->rpl_ofst_20[band][RF_PATH_B]) >> 1, B_P0_RPL1_20_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
716 u32_encode_bits((gain->rpl_ofst_40[band][RF_PATH_A][0] + in rtw8852bx_set_rxsc_rpl_comp()
717 gain->rpl_ofst_40[band][RF_PATH_B][0]) >> 1, B_P0_RPL1_40_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
718 u32_encode_bits((gain->rpl_ofst_40[band][RF_PATH_A][1] + in rtw8852bx_set_rxsc_rpl_comp()
719 gain->rpl_ofst_40[band][RF_PATH_B][1]) >> 1, B_P0_RPL1_41_MASK); in rtw8852bx_set_rxsc_rpl_comp()
724 val = u32_encode_bits((gain->rpl_ofst_40[band][RF_PATH_A][2] + in rtw8852bx_set_rxsc_rpl_comp()
725 gain->rpl_ofst_40[band][RF_PATH_B][2]) >> 1, B_P0_RTL2_42_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
726 u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][0] + in rtw8852bx_set_rxsc_rpl_comp()
727 gain->rpl_ofst_80[band][RF_PATH_B][0]) >> 1, B_P0_RTL2_80_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
728 u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][1] + in rtw8852bx_set_rxsc_rpl_comp()
729 gain->rpl_ofst_80[band][RF_PATH_B][1]) >> 1, B_P0_RTL2_81_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
730 u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][10] + in rtw8852bx_set_rxsc_rpl_comp()
731 gain->rpl_ofst_80[band][RF_PATH_B][10]) >> 1, B_P0_RTL2_8A_MASK); in rtw8852bx_set_rxsc_rpl_comp()
735 val = u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][2] + in rtw8852bx_set_rxsc_rpl_comp()
736 gain->rpl_ofst_80[band][RF_PATH_B][2]) >> 1, B_P0_RTL3_82_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
737 u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][3] + in rtw8852bx_set_rxsc_rpl_comp()
738 gain->rpl_ofst_80[band][RF_PATH_B][3]) >> 1, B_P0_RTL3_83_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
739 u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][4] + in rtw8852bx_set_rxsc_rpl_comp()
740 gain->rpl_ofst_80[band][RF_PATH_B][4]) >> 1, B_P0_RTL3_84_MASK) | in rtw8852bx_set_rxsc_rpl_comp()
741 u32_encode_bits((gain->rpl_ofst_80[band][RF_PATH_A][9] + in rtw8852bx_set_rxsc_rpl_comp()
742 gain->rpl_ofst_80[band][RF_PATH_B][9]) >> 1, B_P0_RTL3_89_MASK); in rtw8852bx_set_rxsc_rpl_comp()
751 u8 central_ch = chan->channel; in rtw8852bx_ctrl_ch()
752 u8 subband = chan->subband_type; in rtw8852bx_ctrl_ch()
776 if (chan->band_type == RTW89_BAND_6G) in rtw8852bx_ctrl_ch()
852 if (rtwdev->chip->chip_id != RTL8852BT) in rtw8852bt_adc_cfg()
873 if (rtwdev->efuse.rfe_type >= 51) in rtw8852bt_adc_cfg()
905 enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id; in rtw8852bx_ctrl_bw()
1027 u8 pri_ch = chan->pri_ch_idx; in rtw8852bx_5m_mask()
1031 switch (chan->band_width) { in rtw8852bx_5m_mask()
1103 struct rtw89_phy_efuse_gain *gain = &rtwdev->efuse_gain; in __rtw8852bx_bb_sethw()
1111 gain->offset_base[RTW89_PHY_0] = in __rtw8852bx_bb_sethw()
1113 gain->rssi_base[RTW89_PHY_0] = in __rtw8852bx_bb_sethw()
1119 if (rtwdev->hw->conf.flags & IEEE80211_CONF_MONITOR) in rtw8852bx_bb_set_pop()
1126 u8 center_chan = chan->channel; in rtw8852bt_spur_freq()
1128 switch (chan->band_type) { in rtw8852bt_spur_freq()
1159 freq_diff = (spur_freq - chan->freq) * 1000000; in rtw8852bt_set_csi_tone_idx()
1172 enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id; in __rtw8852bx_set_channel_bb()
1173 bool cck_en = chan->channel <= 14; in __rtw8852bx_set_channel_bb()
1174 u8 pri_ch_idx = chan->pri_ch_idx; in __rtw8852bx_set_channel_bb()
1175 u8 band = chan->band_type, chan_idx; in __rtw8852bx_set_channel_bb()
1178 rtw8852bx_ctrl_sco_cck(rtwdev, chan->primary_channel); in __rtw8852bx_set_channel_bb()
1181 rtw8852bx_ctrl_bw(rtwdev, pri_ch_idx, chan->band_width, phy_idx); in __rtw8852bx_set_channel_bb()
1185 if (chip_id == RTL8852B && chan->band_type == RTW89_BAND_5G) { in __rtw8852bx_set_channel_bb()
1200 chan_idx = rtw89_encode_chan_idx(rtwdev, chan->primary_channel, band); in __rtw8852bx_set_channel_bb()
1219 pwr_s10_3 = (ref << 1) + (s16)(base_cw_0db << 3) - pwr_ofst_decrease; in rtw8852bx_bb_cal_txpwr_ref()
1225 tssi_ofst_cw = (u32)((s16)tssi_16dbm_cw + (ref << 1) - (16 << 3)) - in rtw8852bx_bb_cal_txpwr_ref()
1255 ofst_dec[RF_PATH_A] = pwr_ofst > 0 ? 0 : abs(pwr_ofst); in rtw8852bx_set_txpwr_ref()
1283 __DECL_DFIR_PARAM(flat, in rtw8852bx_bb_set_tx_shape_dfir()
1292 u8 ch = chan->channel; in rtw8852bx_bb_set_tx_shape_dfir()
1326 const struct rtw89_rfe_parms *rfe_parms = rtwdev->rfe_parms; in rtw8852bx_set_tx_shape()
1327 u8 band = chan->band_type; in rtw8852bx_set_tx_shape()
1329 u8 tx_shape_cck = (*rfe_parms->tx_shape.lmt)[band][RTW89_RS_CCK][regd]; in rtw8852bx_set_tx_shape()
1330 u8 tx_shape_ofdm = (*rfe_parms->tx_shape.lmt)[band][RTW89_RS_OFDM][regd]; in rtw8852bx_set_tx_shape()
1343 .center_freq = chan->freq, in rtw8852bx_get_txpwr_sar_diff()
1357 return sar_bb_a - sar_bb_b; in rtw8852bx_get_txpwr_sar_diff()
1395 if (pw_ofst < -16 || pw_ofst > 15) { in __rtw8852bx_set_txpwr_ul_tb_offset()
1406 pw_ofst = max_t(s8, pw_ofst - 3, -16); in __rtw8852bx_set_txpwr_ul_tb_offset()
1441 rtw89_phy_write32_mask(rtwdev, def->addr, def->mask, def->data); in __rtw8852bx_bb_set_plcp_tx()
1449 if (tx_info->mode == CONT_TX) in rtw8852bx_stop_pmac_tx()
1451 else if (tx_info->mode == PKTS_TX) in rtw8852bx_stop_pmac_tx()
1459 enum rtw8852bx_pmac_mode mode = tx_info->mode; in rtw8852bx_start_pmac_tx()
1460 u32 pkt_cnt = tx_info->tx_cnt; in rtw8852bx_start_pmac_tx()
1461 u16 period = tx_info->period; in rtw8852bx_start_pmac_tx()
1463 if (mode == CONT_TX && !tx_info->is_cck) { in rtw8852bx_start_pmac_tx()
1484 if (!tx_info->en_pmac_tx) { in rtw8852bx_bb_set_pmac_tx()
1487 if (chan->band_type == RTW89_BAND_2G) in rtw8852bx_bb_set_pmac_tx()
1577 bak->tx_path = rtw89_phy_read32_idx(rtwdev, R_TXPATH_SEL, B_TXPATH_SEL_MSK, idx); in __rtw8852bx_bb_backup_tssi()
1578 bak->rx_path = rtw89_phy_read32_idx(rtwdev, R_CHBW_MOD_V1, B_ANT_RX_SEG0, idx); in __rtw8852bx_bb_backup_tssi()
1579 bak->p0_rfmode = rtw89_phy_read32_idx(rtwdev, R_P0_RFMODE, MASKDWORD, idx); in __rtw8852bx_bb_backup_tssi()
1580 bak->p0_rfmode_ftm = rtw89_phy_read32_idx(rtwdev, R_P0_RFMODE_FTM_RX, MASKDWORD, idx); in __rtw8852bx_bb_backup_tssi()
1581 bak->p1_rfmode = rtw89_phy_read32_idx(rtwdev, R_P1_RFMODE, MASKDWORD, idx); in __rtw8852bx_bb_backup_tssi()
1582 bak->p1_rfmode_ftm = rtw89_phy_read32_idx(rtwdev, R_P1_RFMODE_FTM_RX, MASKDWORD, idx); in __rtw8852bx_bb_backup_tssi()
1584 bak->tx_pwr = sign_extend32(tmp, 8); in __rtw8852bx_bb_backup_tssi()
1591 rtw89_phy_write32_idx(rtwdev, R_TXPATH_SEL, B_TXPATH_SEL_MSK, bak->tx_path, idx); in __rtw8852bx_bb_restore_tssi()
1592 if (bak->tx_path == RF_AB) in __rtw8852bx_bb_restore_tssi()
1596 rtw89_phy_write32_idx(rtwdev, R_CHBW_MOD_V1, B_ANT_RX_SEG0, bak->rx_path, idx); in __rtw8852bx_bb_restore_tssi()
1598 rtw89_phy_write32_idx(rtwdev, R_P0_RFMODE, MASKDWORD, bak->p0_rfmode, idx); in __rtw8852bx_bb_restore_tssi()
1599 rtw89_phy_write32_idx(rtwdev, R_P0_RFMODE_FTM_RX, MASKDWORD, bak->p0_rfmode_ftm, idx); in __rtw8852bx_bb_restore_tssi()
1600 rtw89_phy_write32_idx(rtwdev, R_P1_RFMODE, MASKDWORD, bak->p1_rfmode, idx); in __rtw8852bx_bb_restore_tssi()
1601 rtw89_phy_write32_idx(rtwdev, R_P1_RFMODE_FTM_RX, MASKDWORD, bak->p1_rfmode_ftm, idx); in __rtw8852bx_bb_restore_tssi()
1602 rtw89_phy_write32_idx(rtwdev, R_TXPWR, B_TXPWR_MSK, bak->tx_pwr, idx); in __rtw8852bx_bb_restore_tssi()
1693 rtw8852bx_set_gain_offset(rtwdev, chan->subband_type, RTW89_PHY_0); in __rtw8852bx_bb_ctrl_rx_path()
1695 if (chan->band_type == RTW89_BAND_2G && in __rtw8852bx_bb_ctrl_rx_path()
1747 struct rtw89_hal *hal = &rtwdev->hal; in __rtw8852bx_bb_cfg_txrx_path()
1749 enum rtw89_rf_path_bit rx_path = hal->antenna_rx ? hal->antenna_rx : RF_AB; in __rtw8852bx_bb_cfg_txrx_path()
1754 if (rtwdev->hal.rx_nss == 1) { in __rtw8852bx_bb_cfg_txrx_path()
1771 if (rtwdev->is_tssi_mode[rf_path]) { in __rtw8852bx_get_thermal()
1797 struct rtw89_btc *btc = &rtwdev->btc; in __rtw8852bx_btc_init_cfg()
1798 const struct rtw89_chip_info *chip = rtwdev->chip; in __rtw8852bx_btc_init_cfg()
1807 /* set WL Tx response = Hi-Pri */ in __rtw8852bx_btc_init_cfg()
1808 chip->ops->btc_set_wl_pri(rtwdev, BTC_PRI_MASK_TX_RESP, true); in __rtw8852bx_btc_init_cfg()
1809 chip->ops->btc_set_wl_pri(rtwdev, BTC_PRI_MASK_BEACON, true); in __rtw8852bx_btc_init_cfg()
1816 if (btc->ant_type == BTC_ANT_SHARED) { in __rtw8852bx_btc_init_cfg()
1819 /* set path-A(S0) Tx/Rx no-mask if GNT_WL=0 && BT_S1=tx group */ in __rtw8852bx_btc_init_cfg()
1822 } else { /* set WL Tx stb if GNT_WL = 0 && BT_S1 = ss group for 3-ant */ in __rtw8852bx_btc_init_cfg()
1829 if (rtwdev->chip->chip_id == RTL8852BT) { in __rtw8852bx_btc_init_cfg()
1839 btc->cx.wl.status.map.init_ok = true; in __rtw8852bx_btc_init_cfg()
1875 return clamp_t(s8, val + 6, -100, 0) + 100; in __rtw8852bx_btc_get_bt_rssi()
1890 /* set WL standby = Rx for GNT_BT_Tx = 1->0 settle issue */ in __rtw8852bx_btc_wl_s1_standby()
1931 struct rtw89_btc *btc = &rtwdev->btc; in __rtw8852bx_btc_set_wl_rx_gain()
1937 btc->dm.wl_lna2 = 0; in __rtw8852bx_btc_set_wl_rx_gain()
1939 case 1: /* for FDD free-run */ in __rtw8852bx_btc_set_wl_rx_gain()
1941 btc->dm.wl_lna2 = 0; in __rtw8852bx_btc_set_wl_rx_gain()
1943 case 2: /* for BTG Co-Rx*/ in __rtw8852bx_btc_set_wl_rx_gain()
1945 btc->dm.wl_lna2 = 1; in __rtw8852bx_btc_set_wl_rx_gain()
1949 rtw8852bx_btc_set_wl_lna2(rtwdev, btc->dm.wl_lna2); in __rtw8852bx_btc_set_wl_rx_gain()
1956 u16 chan = phy_ppdu->chan_idx; in rtw8852bx_fill_freq_with_ppdu()
1964 status->freq = ieee80211_channel_to_frequency(ch, band); in rtw8852bx_fill_freq_with_ppdu()
1965 status->band = band; in rtw8852bx_fill_freq_with_ppdu()
1973 u8 *rx_power = phy_ppdu->rssi; in __rtw8852bx_query_ppdu()
1975 if (!status->signal) in __rtw8852bx_query_ppdu()
1976 status->signal = RTW89_RSSI_RAW_TO_DBM(max(rx_power[RF_PATH_A], in __rtw8852bx_query_ppdu()
1978 for (path = 0; path < rtwdev->chip->rf_path_num; path++) { in __rtw8852bx_query_ppdu()
1979 status->chains |= BIT(path); in __rtw8852bx_query_ppdu()
1980 status->chain_signal[path] = RTW89_RSSI_RAW_TO_DBM(rx_power[path]); in __rtw8852bx_query_ppdu()
1982 if (phy_ppdu->valid) in __rtw8852bx_query_ppdu()
1989 u8 delta = phy_ppdu->rpl_avg - phy_ppdu->rssi_avg; in __rtw8852bx_convert_rpl_to_rssi()
1990 u8 *rssi = phy_ppdu->rssi; in __rtw8852bx_convert_rpl_to_rssi()
1996 phy_ppdu->rssi_avg = phy_ppdu->rpl_avg; in __rtw8852bx_convert_rpl_to_rssi()
2001 enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id; in __rtw8852bx_mac_enable_bb_rf()