Lines Matching +full:test +full:- +full:part1
1 // SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2 /* Copyright(c) 2019-2022 Realtek Corporation
280 rtwdev->dbcc_en, phy_idx); in _kpath()
282 if (!rtwdev->dbcc_en) { in _kpath()
309 RTW8852B_RXDCK_VER, rtwdev->hal.cv); in _rx_dck()
315 if (rtwdev->is_tssi_mode[path]) in _rx_dck()
327 if (rtwdev->is_tssi_mode[path]) in _rx_dck()
404 struct rtw89_dack_info *dack = &rtwdev->dack; in _addck_backup()
407 dack->addck_d[0][0] = rtw89_phy_read32_mask(rtwdev, R_ADDCKR0, B_ADDCKR0_A0); in _addck_backup()
408 dack->addck_d[0][1] = rtw89_phy_read32_mask(rtwdev, R_ADDCKR0, B_ADDCKR0_A1); in _addck_backup()
411 dack->addck_d[1][0] = rtw89_phy_read32_mask(rtwdev, R_ADDCKR1, B_ADDCKR1_A0); in _addck_backup()
412 dack->addck_d[1][1] = rtw89_phy_read32_mask(rtwdev, R_ADDCKR1, B_ADDCKR1_A1); in _addck_backup()
417 struct rtw89_dack_info *dack = &rtwdev->dack; in _addck_reload()
420 rtw89_phy_write32_mask(rtwdev, R_ADDCK0D, B_ADDCK0D_VAL, dack->addck_d[0][0]); in _addck_reload()
421 rtw89_phy_write32_mask(rtwdev, R_ADDCK0, B_ADDCK0_VAL, dack->addck_d[0][1] >> 6); in _addck_reload()
422 rtw89_phy_write32_mask(rtwdev, R_ADDCK0D, B_ADDCK0D_VAL2, dack->addck_d[0][1] & 0x3f); in _addck_reload()
426 rtw89_phy_write32_mask(rtwdev, R_ADDCK1D, B_ADDCK1D_VAL, dack->addck_d[1][0]); in _addck_reload()
427 rtw89_phy_write32_mask(rtwdev, R_ADDCK1, B_ADDCK0_VAL, dack->addck_d[1][1] >> 6); in _addck_reload()
428 rtw89_phy_write32_mask(rtwdev, R_ADDCK1D, B_ADDCK1D_VAL2, dack->addck_d[1][1] & 0x3f); in _addck_reload()
434 struct rtw89_dack_info *dack = &rtwdev->dack; in _dack_backup_s0()
441 dack->msbk_d[0][0][i] = in _dack_backup_s0()
444 dack->msbk_d[0][1][i] = in _dack_backup_s0()
448 dack->biask_d[0][0] = in _dack_backup_s0()
450 dack->biask_d[0][1] = in _dack_backup_s0()
453 dack->dadck_d[0][0] = in _dack_backup_s0()
455 dack->dadck_d[0][1] = in _dack_backup_s0()
461 struct rtw89_dack_info *dack = &rtwdev->dack; in _dack_backup_s1()
468 dack->msbk_d[1][0][i] = in _dack_backup_s1()
471 dack->msbk_d[1][1][i] = in _dack_backup_s1()
475 dack->biask_d[1][0] = in _dack_backup_s1()
477 dack->biask_d[1][1] = in _dack_backup_s1()
480 dack->dadck_d[1][0] = in _dack_backup_s1()
482 dack->dadck_d[1][1] = in _dack_backup_s1()
511 struct rtw89_dack_info *dack = &rtwdev->dack; in _addck()
539 dack->addck_timeout[0] = true; in _addck()
573 dack->addck_timeout[1] = true; in _addck()
599 static bool _dack_s0_check_done(struct rtw89_dev *rtwdev, bool part1) in _dack_s0_check_done() argument
601 if (part1) { in _dack_s0_check_done()
616 struct rtw89_dack_info *dack = &rtwdev->dack; in _dack_s0()
626 dack->msbk_timeout[0] = true; in _dack_s0()
636 dack->dadck_timeout[0] = true; in _dack_s0()
648 static bool _dack_s1_check_done(struct rtw89_dev *rtwdev, bool part1) in _dack_s1_check_done() argument
650 if (part1) { in _dack_s1_check_done()
665 struct rtw89_dack_info *dack = &rtwdev->dack; in _dack_s1()
675 dack->msbk_timeout[1] = true; in _dack_s1()
685 dack->dadck_timeout[1] = true; in _dack_s1()
706 struct rtw89_dack_info *dack = &rtwdev->dack; in _dack_dump()
712 dack->addck_d[0][0], dack->addck_d[0][1]); in _dack_dump()
715 dack->addck_d[1][0], dack->addck_d[1][1]); in _dack_dump()
718 dack->dadck_d[0][0], dack->dadck_d[0][1]); in _dack_dump()
721 dack->dadck_d[1][0], dack->dadck_d[1][1]); in _dack_dump()
724 dack->biask_d[0][0], dack->biask_d[0][1]); in _dack_dump()
727 dack->biask_d[1][0], dack->biask_d[1][1]); in _dack_dump()
731 t = dack->msbk_d[0][0][i]; in _dack_dump()
737 t = dack->msbk_d[0][1][i]; in _dack_dump()
743 t = dack->msbk_d[1][0][i]; in _dack_dump()
749 t = dack->msbk_d[1][1][i]; in _dack_dump()
756 struct rtw89_dack_info *dack = &rtwdev->dack; in _dac_cal()
759 dack->dack_done = false; in _dac_cal()
780 dack->dack_done = true; in _dac_cal()
786 dack->dack_cnt++; in _dac_cal()
792 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_rxk_setting()
795 switch (iqk_info->iqk_band[path]) { in _iqk_rxk_setting()
816 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_one_shot()
836 (((0x8 + iqk_info->iqk_bw[path]) & 0xf) << 8); in _iqk_one_shot()
844 (((0xb + iqk_info->iqk_bw[path]) & 0xf) << 8); in _iqk_one_shot()
871 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _rxk_group_sel()
877 switch (iqk_info->iqk_band[path]) { in _rxk_group_sel()
912 iqk_info->nb_rxcfir[path] = 0x40000002; in _rxk_group_sel()
915 iqk_info->is_wb_rxiqk[path] = false; in _rxk_group_sel()
917 iqk_info->nb_rxcfir[path] = 0x40000000; in _rxk_group_sel()
920 iqk_info->is_wb_rxiqk[path] = true; in _rxk_group_sel()
929 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_nbrxk()
934 switch (iqk_info->iqk_band[path]) { in _iqk_nbrxk()
967 iqk_info->nb_rxcfir[path] = in _iqk_nbrxk()
970 iqk_info->nb_rxcfir[path] = 0x40000002; in _iqk_nbrxk()
977 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_rxclk_setting()
979 if (iqk_info->iqk_bw[path] == RTW89_CHANNEL_WIDTH_80) { in _iqk_rxclk_setting()
1016 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _txk_group_sel()
1022 switch (iqk_info->iqk_band[path]) { in _txk_group_sel()
1063 iqk_info->nb_txcfir[path] = 0x40000002; in _txk_group_sel()
1066 iqk_info->is_wb_txiqk[path] = false; in _txk_group_sel()
1068 iqk_info->nb_txcfir[path] = 0x40000000; in _txk_group_sel()
1071 iqk_info->is_wb_txiqk[path] = true; in _txk_group_sel()
1079 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_nbtxk()
1083 switch (iqk_info->iqk_band[path]) { in _iqk_nbtxk()
1116 iqk_info->nb_txcfir[path] = in _iqk_nbtxk()
1120 iqk_info->nb_txcfir[path] = 0x40000002; in _iqk_nbtxk()
1127 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _lok_res_table()
1133 if (iqk_info->iqk_band[path] == RTW89_BAND_2G) in _lok_res_table()
1147 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _lok_finetune_check()
1159 ch = (iqk_info->iqk_times / 2) % RTW89_IQK_CHS_NR; in _lok_finetune_check()
1166 iqk_info->lok_idac[ch][path] = tmp; in _lok_finetune_check()
1177 iqk_info->lok_vbuf[ch][path] = tmp; in _lok_finetune_check()
1181 iqk_info->lok_idac[ch][path]); in _lok_finetune_check()
1184 iqk_info->lok_vbuf[ch][path]); in _lok_finetune_check()
1191 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_lok()
1196 switch (iqk_info->iqk_band[path]) { in _iqk_lok()
1209 switch (iqk_info->iqk_band[path]) { in _iqk_lok()
1222 iqk_info->lok_cor_fail[0][path] = tmp; in _iqk_lok()
1224 switch (iqk_info->iqk_band[path]) { in _iqk_lok()
1238 switch (iqk_info->iqk_band[path]) { in _iqk_lok()
1252 iqk_info->lok_fin_fail[0][path] = tmp; in _iqk_lok()
1254 switch (iqk_info->iqk_band[path]) { in _iqk_lok()
1273 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_txk_setting()
1275 switch (iqk_info->iqk_band[path]) { in _iqk_txk_setting()
1316 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_info_iqk()
1320 flag = iqk_info->lok_cor_fail[0][path]; in _iqk_info_iqk()
1322 flag = iqk_info->lok_fin_fail[0][path]; in _iqk_info_iqk()
1324 flag = iqk_info->iqk_tx_fail[0][path]; in _iqk_info_iqk()
1326 flag = iqk_info->iqk_rx_fail[0][path]; in _iqk_info_iqk()
1330 iqk_info->bp_iqkenable[path] = tmp; in _iqk_info_iqk()
1332 iqk_info->bp_txkresult[path] = tmp; in _iqk_info_iqk()
1334 iqk_info->bp_rxkresult[path] = tmp; in _iqk_info_iqk()
1336 rtw89_phy_write32_mask(rtwdev, R_IQKINF2, B_IQKINF2_KCNT, iqk_info->iqk_times); in _iqk_info_iqk()
1340 iqk_info->iqk_fail_cnt++; in _iqk_info_iqk()
1342 iqk_info->iqk_fail_cnt); in _iqk_info_iqk()
1347 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_by_path()
1368 if (iqk_info->is_nbiqk) in _iqk_by_path()
1369 iqk_info->iqk_tx_fail[0][path] = _iqk_nbtxk(rtwdev, phy_idx, path); in _iqk_by_path()
1371 iqk_info->iqk_tx_fail[0][path] = _txk_group_sel(rtwdev, phy_idx, path); in _iqk_by_path()
1376 if (iqk_info->is_nbiqk) in _iqk_by_path()
1377 iqk_info->iqk_rx_fail[0][path] = _iqk_nbrxk(rtwdev, phy_idx, path); in _iqk_by_path()
1379 iqk_info->iqk_rx_fail[0][path] = _rxk_group_sel(rtwdev, phy_idx, path); in _iqk_by_path()
1387 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_get_ch_info()
1394 if (iqk_info->iqk_mcc_ch[idx][path] == 0) { in _iqk_get_ch_info()
1402 idx = iqk_info->iqk_table_idx[path] + 1; in _iqk_get_ch_info()
1411 iqk_info->iqk_band[path] = chan->band_type; in _iqk_get_ch_info()
1412 iqk_info->iqk_bw[path] = chan->band_width; in _iqk_get_ch_info()
1413 iqk_info->iqk_ch[path] = chan->channel; in _iqk_get_ch_info()
1414 iqk_info->iqk_mcc_ch[idx][path] = chan->channel; in _iqk_get_ch_info()
1415 iqk_info->iqk_table_idx[path] = idx; in _iqk_get_ch_info()
1422 iqk_info->iqk_times, idx); in _iqk_get_ch_info()
1424 idx, path, iqk_info->iqk_mcc_ch[idx][path]); in _iqk_get_ch_info()
1427 iqk_info->syn1to2 = 0x1; in _iqk_get_ch_info()
1429 iqk_info->syn1to2 = 0x0; in _iqk_get_ch_info()
1432 "[IQK]S%x, iqk_info->syn1to2= 0x%x\n", path, in _iqk_get_ch_info()
1433 iqk_info->syn1to2); in _iqk_get_ch_info()
1438 iqk_info->iqk_band[path]); in _iqk_get_ch_info()
1441 iqk_info->iqk_bw[path]); in _iqk_get_ch_info()
1443 iqk_info->iqk_ch[path]); in _iqk_get_ch_info()
1453 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_restore()
1457 iqk_info->nb_txcfir[path]); in _iqk_restore()
1459 iqk_info->nb_rxcfir[path]); in _iqk_restore()
1502 rtw89_phy_write32_mask(rtwdev, def->addr, def->mask, def->data); in _iqk_afebb_restore()
1507 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_preset()
1510 idx = iqk_info->iqk_table_idx[path]; in _iqk_preset()
1548 rtw89_phy_write32_mask(rtwdev, def->addr, def->mask, def->data); in _iqk_macbb_setting()
1553 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _iqk_init()
1557 if (iqk_info->is_iqk_init) in _iqk_init()
1561 iqk_info->is_iqk_init = true; in _iqk_init()
1562 iqk_info->is_nbiqk = false; in _iqk_init()
1563 iqk_info->iqk_fft_en = false; in _iqk_init()
1564 iqk_info->iqk_sram_en = false; in _iqk_init()
1565 iqk_info->iqk_cfir_en = false; in _iqk_init()
1566 iqk_info->iqk_xym_en = false; in _iqk_init()
1567 iqk_info->iqk_times = 0x0; in _iqk_init()
1570 iqk_info->iqk_channel[idx] = 0x0; in _iqk_init()
1572 iqk_info->lok_cor_fail[idx][path] = false; in _iqk_init()
1573 iqk_info->lok_fin_fail[idx][path] = false; in _iqk_init()
1574 iqk_info->iqk_tx_fail[idx][path] = false; in _iqk_init()
1575 iqk_info->iqk_rx_fail[idx][path] = false; in _iqk_init()
1576 iqk_info->iqk_mcc_ch[idx][path] = 0x0; in _iqk_init()
1577 iqk_info->iqk_table_idx[path] = 0x0; in _iqk_init()
1612 struct rtw89_iqk_info *iqk_info = &rtwdev->iqk; in _doiqk()
1621 iqk_info->iqk_times++; in _doiqk()
1622 iqk_info->version = RTW8852B_IQK_VER; in _doiqk()
1624 rtw89_debug(rtwdev, RTW89_DBG_RFK, "[IQK]Test Ver 0x%x\n", iqk_info->version); in _doiqk()
1701 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_onoff()
1702 u8 val, kidx = dpk->cur_idx[path]; in _dpk_onoff()
1704 val = dpk->is_dpk_enable && !off && dpk->bp[path][kidx].path_ok; in _dpk_onoff()
1710 kidx, dpk->is_dpk_enable && !off ? "enable" : "disable"); in _dpk_onoff()
1727 rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] one-shot over 20ms!!!!\n"); in _dpk_one_shot()
1737 rtw89_debug(rtwdev, RTW89_DBG_RFK, "[DPK] one-shot over 20ms!!!!\n"); in _dpk_one_shot()
1742 "[DPK] one-shot for %s = 0x%x\n", in _dpk_one_shot()
1766 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_information()
1768 u8 kidx = dpk->cur_idx[path]; in _dpk_information()
1770 dpk->bp[path][kidx].band = chan->band_type; in _dpk_information()
1771 dpk->bp[path][kidx].ch = chan->channel; in _dpk_information()
1772 dpk->bp[path][kidx].bw = chan->band_width; in _dpk_information()
1776 path, dpk->cur_idx[path], phy, in _dpk_information()
1777 rtwdev->is_tssi_mode[path] ? "on" : "off", in _dpk_information()
1778 rtwdev->dbcc_en ? "on" : "off", in _dpk_information()
1779 dpk->bp[path][kidx].band == 0 ? "2G" : in _dpk_information()
1780 dpk->bp[path][kidx].band == 1 ? "5G" : "6G", in _dpk_information()
1781 dpk->bp[path][kidx].ch, in _dpk_information()
1782 dpk->bp[path][kidx].bw == 0 ? "20M" : in _dpk_information()
1783 dpk->bp[path][kidx].bw == 1 ? "40M" : "80M"); in _dpk_information()
1794 if (chan->band_width == RTW89_CHANNEL_WIDTH_80) { in _dpk_bb_afe_setting()
1814 if (chan->band_width == RTW89_CHANNEL_WIDTH_80) { in _dpk_bb_afe_restore()
1835 if (rtwdev->hal.cv > CHIP_CAV) in _dpk_kip_restore()
1887 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_get_thermal()
1895 dpk->bp[path][kidx].ther_dpk = rtw89_read_rf(rtwdev, path, RR_TM, RR_TM_VAL); in _dpk_get_thermal()
1898 dpk->bp[path][kidx].ther_dpk); in _dpk_get_thermal()
1904 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_rf_setting()
1906 if (dpk->bp[path][kidx].band == RTW89_BAND_2G) { in _dpk_rf_setting()
1922 rtw89_write_rf(rtwdev, path, RR_BTC, RR_BTC_TXBB, dpk->bp[path][kidx].bw + 1); in _dpk_rf_setting()
1957 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_tpg_sel()
1959 if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80) in _dpk_tpg_sel()
1961 else if (dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40) in _dpk_tpg_sel()
1967 dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_80 ? "80M" : in _dpk_tpg_sel()
1968 dpk->bp[path][kidx].bw == RTW89_CHANNEL_WIDTH_40 ? "40M" : "20M"); in _dpk_tpg_sel()
1988 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_sync_check()
2001 dpk->corr_idx[path][kidx] = corr_idx; in _dpk_sync_check()
2002 dpk->corr_val[path][kidx] = corr_val; in _dpk_sync_check()
2015 dpk->dc_i[path][kidx] = dc_i; in _dpk_sync_check()
2016 dpk->dc_q[path][kidx] = dc_q; in _dpk_sync_check()
2162 if (txagc - gain_offset < DPK_TXAGC_LOWER) in _dpk_set_offset()
2164 else if (txagc - gain_offset > DPK_TXAGC_UPPER) in _dpk_set_offset()
2167 txagc = txagc - gain_offset; in _dpk_set_offset()
2268 if (chan->band_width < RTW89_CHANNEL_WIDTH_80) in _dpk_agc()
2327 } while (!goout && agc_cnt < 6 && limit-- > 0); in _dpk_agc()
2367 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_idl_mpa()
2369 if (dpk->bp[path][kidx].bw < RTW89_CHANNEL_WIDTH_80 && in _dpk_idl_mpa()
2370 dpk->bp[path][kidx].band == RTW89_BAND_5G) in _dpk_idl_mpa()
2381 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_fill_result()
2383 u8 gs = dpk->dpk_gs[phy]; in _dpk_fill_result()
2392 dpk->bp[path][kidx].txagc_dpk = txagc; in _dpk_fill_result()
2396 dpk->bp[path][kidx].pwsf = pwsf; in _dpk_fill_result()
2403 dpk->bp[path][kidx].gs = gs; in _dpk_fill_result()
2404 if (dpk->dpk_gs[phy] == 0x7f) in _dpk_fill_result()
2421 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_reload_check()
2425 cur_band = chan->band_type; in _dpk_reload_check()
2426 cur_ch = chan->channel; in _dpk_reload_check()
2429 if (cur_band != dpk->bp[path][idx].band || in _dpk_reload_check()
2430 cur_ch != dpk->bp[path][idx].ch) in _dpk_reload_check()
2435 dpk->cur_idx[path] = idx; in _dpk_reload_check()
2447 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_main()
2448 u8 txagc = 0x38, kidx = dpk->cur_idx[path]; in _dpk_main()
2482 dpk->bp[path][kidx].path_ok = true; in _dpk_main()
2484 dpk->bp[path][kidx].path_ok = false; in _dpk_main()
2495 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_cal_select()
2503 if (dpk->is_dpk_reload_en) { in _dpk_cal_select()
2506 if (!reloaded[path] && dpk->bp[path][0].ch) in _dpk_cal_select()
2507 dpk->cur_idx[path] = !dpk->cur_idx[path]; in _dpk_cal_select()
2513 dpk->cur_idx[path] = 0; in _dpk_cal_select()
2522 if (rtwdev->is_tssi_mode[path]) in _dpk_cal_select()
2540 if (rtwdev->is_tssi_mode[path]) in _dpk_cal_select()
2548 struct rtw89_fem_info *fem = &rtwdev->fem; in _dpk_bypass_check()
2550 if (fem->epa_2g && chan->band_type == RTW89_BAND_2G) { in _dpk_bypass_check()
2554 } else if (fem->epa_5g && chan->band_type == RTW89_BAND_5G) { in _dpk_bypass_check()
2558 } else if (fem->epa_6g && chan->band_type == RTW89_BAND_6G) { in _dpk_bypass_check()
2583 RTW8852B_DPK_VER, rtwdev->hal.cv, in _dpk()
2594 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _dpk_track()
2604 kidx = dpk->cur_idx[path]; in _dpk_track()
2608 path, kidx, dpk->bp[path][kidx].ch); in _dpk_track()
2610 cur_ther = ewma_thermal_read(&rtwdev->phystat.avg_thermal[path]); in _dpk_track()
2615 if (dpk->bp[path][kidx].ch && cur_ther) in _dpk_track()
2616 delta_ther[path] = dpk->bp[path][kidx].ther_dpk - cur_ther; in _dpk_track()
2618 if (dpk->bp[path][kidx].band == RTW89_BAND_2G) in _dpk_track()
2626 if (rtwdev->is_tssi_mode[path]) { in _dpk_track()
2666 pwsf[0] = dpk->bp[path][kidx].pwsf + in _dpk_track()
2667 txagc_bb_tp - txagc_bb + ini_diff; in _dpk_track()
2668 pwsf[1] = dpk->bp[path][kidx].pwsf + in _dpk_track()
2669 txagc_bb_tp - txagc_bb + ini_diff; in _dpk_track()
2671 pwsf[0] = dpk->bp[path][kidx].pwsf + ini_diff; in _dpk_track()
2672 pwsf[1] = dpk->bp[path][kidx].pwsf + ini_diff; in _dpk_track()
2676 pwsf[0] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff; in _dpk_track()
2677 pwsf[1] = (dpk->bp[path][kidx].pwsf + delta_ther[path]) & 0x1ff; in _dpk_track()
2698 struct rtw89_dpk_info *dpk = &rtwdev->dpk; in _set_dpd_backoff()
2708 dpk->dpk_gs[phy] = 0x7f; in _set_dpd_backoff()
2719 dpk->dpk_gs[phy] = 0x5b; in _set_dpd_backoff()
2727 enum rtw89_band band = chan->band_type; in _tssi_rf_setting()
2739 enum rtw89_band band = chan->band_type; in _tssi_set_sys()
2793 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in _tssi_set_tmeter_tbl()
2795 u8 ch = chan->channel; in _tssi_set_tmeter_tbl()
2796 u8 subband = chan->subband_type; in _tssi_set_tmeter_tbl()
2835 thermal = tssi_info->thermal[RF_PATH_A]; in _tssi_set_tmeter_tbl()
2863 -thm_down_a[i++] : in _tssi_set_tmeter_tbl()
2864 -thm_down_a[DELTA_SWINGIDX_SIZE - 1]; in _tssi_set_tmeter_tbl()
2867 for (j = 63; j >= 32; j--) in _tssi_set_tmeter_tbl()
2870 thm_up_a[DELTA_SWINGIDX_SIZE - 1]; in _tssi_set_tmeter_tbl()
2885 thermal = tssi_info->thermal[RF_PATH_B]; in _tssi_set_tmeter_tbl()
2913 -thm_down_b[i++] : in _tssi_set_tmeter_tbl()
2914 -thm_down_b[DELTA_SWINGIDX_SIZE - 1]; in _tssi_set_tmeter_tbl()
2917 for (j = 63; j >= 32; j--) in _tssi_set_tmeter_tbl()
2920 thm_up_b[DELTA_SWINGIDX_SIZE - 1]; in _tssi_set_tmeter_tbl()
2949 enum rtw89_band band = chan->band_type; in _tssi_slope_cal_org()
2965 enum rtw89_band band = chan->band_type; in _tssi_alignment_default()
2967 u8 ch = chan->channel; in _tssi_alignment_default()
3076 rtwdev->is_tssi_mode[RF_PATH_A] = true; in _tssi_enable()
3096 rtwdev->is_tssi_mode[RF_PATH_B] = true; in _tssi_enable()
3110 rtwdev->is_tssi_mode[RF_PATH_A] = false; in _tssi_disable()
3111 rtwdev->is_tssi_mode[RF_PATH_B] = false; in _tssi_disable()
3235 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in _tssi_get_ofdm_de()
3237 u8 ch = chan->channel; in _tssi_get_ofdm_de()
3251 de_1st = tssi_info->tssi_mcs[path][gidx_1st]; in _tssi_get_ofdm_de()
3252 de_2nd = tssi_info->tssi_mcs[path][gidx_2nd]; in _tssi_get_ofdm_de()
3259 val = tssi_info->tssi_mcs[path][gidx]; in _tssi_get_ofdm_de()
3271 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in _tssi_get_ofdm_trim_de()
3273 u8 ch = chan->channel; in _tssi_get_ofdm_trim_de()
3288 tde_1st = tssi_info->tssi_trim[path][tgidx_1st]; in _tssi_get_ofdm_trim_de()
3289 tde_2nd = tssi_info->tssi_trim[path][tgidx_2nd]; in _tssi_get_ofdm_trim_de()
3296 val = tssi_info->tssi_trim[path][tgidx]; in _tssi_get_ofdm_trim_de()
3308 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in _tssi_set_efuse_to_de()
3310 u8 ch = chan->channel; in _tssi_set_efuse_to_de()
3323 val = tssi_info->tssi_cck[i][gidx] + trim_de; in _tssi_set_efuse_to_de()
3327 i, gidx, tssi_info->tssi_cck[i][gidx], trim_de); in _tssi_set_efuse_to_de()
3387 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in _tssi_alimentk_done()
3389 u8 channel = chan->channel; in _tssi_alimentk_done()
3406 if (tssi_info->alignment_done[path][band]) { in _tssi_alimentk_done()
3408 tssi_info->alignment_value[path][band][0]); in _tssi_alimentk_done()
3410 tssi_info->alignment_value[path][band][1]); in _tssi_alimentk_done()
3412 tssi_info->alignment_value[path][band][2]); in _tssi_alimentk_done()
3414 tssi_info->alignment_value[path][band][3]); in _tssi_alimentk_done()
3481 channel_index = channel - 1; in _tssi_ch_to_idx()
3483 channel_index = (channel - 36) / 2 + 14; in _tssi_ch_to_idx()
3485 channel_index = ((channel - 100) / 2) + 15 + 14; in _tssi_ch_to_idx()
3487 channel_index = ((channel - 149) / 2) + 38 + 14; in _tssi_ch_to_idx()
3520 tx_counter_tmp -= tx_counter; in _tssi_get_cw_report()
3536 tx_counter_tmp -= tx_counter; in _tssi_get_cw_report()
3558 tx_counter_tmp -= tx_counter; in _tssi_get_cw_report()
3575 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in _tssi_alimentk()
3579 u8 channel = chan->channel; in _tssi_alimentk()
3595 if (tssi_info->check_backup_aligmk[path][ch_idx]) { in _tssi_alimentk()
3597 tssi_info->alignment_backup_by_ch[path][ch_idx][0]); in _tssi_alimentk()
3599 tssi_info->alignment_backup_by_ch[path][ch_idx][1]); in _tssi_alimentk()
3601 tssi_info->alignment_backup_by_ch[path][ch_idx][2]); in _tssi_alimentk()
3603 tssi_info->alignment_backup_by_ch[path][ch_idx][3]); in _tssi_alimentk()
3613 if (chan->band_type == RTW89_BAND_2G) in _tssi_alimentk()
3650 tssi_alim_offset_1 = tssi_cw_rpt[0] - ((power[0] - power[1]) * 2) - in _tssi_alimentk()
3652 aliment_diff = tssi_alim_offset_1 - tssi_cw_default; in _tssi_alimentk()
3694 tssi_info->alignment_done[path][band] = true; in _tssi_alimentk()
3695 tssi_info->alignment_value[path][band][0] = in _tssi_alimentk()
3697 tssi_info->alignment_value[path][band][1] = in _tssi_alimentk()
3699 tssi_info->alignment_value[path][band][2] = in _tssi_alimentk()
3701 tssi_info->alignment_value[path][band][3] = in _tssi_alimentk()
3704 tssi_info->check_backup_aligmk[path][ch_idx] = true; in _tssi_alimentk()
3705 tssi_info->alignment_backup_by_ch[path][ch_idx][0] = in _tssi_alimentk()
3707 tssi_info->alignment_backup_by_ch[path][ch_idx][1] = in _tssi_alimentk()
3709 tssi_info->alignment_backup_by_ch[path][ch_idx][2] = in _tssi_alimentk()
3711 tssi_info->alignment_backup_by_ch[path][ch_idx][3] = in _tssi_alimentk()
3715 "[TSSI PA K] tssi_info->alignment_value[path=%d][band=%d][0], 0x%x = 0x%08x\n", in _tssi_alimentk()
3717 tssi_info->alignment_value[path][band][0]); in _tssi_alimentk()
3719 "[TSSI PA K] tssi_info->alignment_value[path=%d][band=%d][1], 0x%x = 0x%08x\n", in _tssi_alimentk()
3721 tssi_info->alignment_value[path][band][1]); in _tssi_alimentk()
3723 "[TSSI PA K] tssi_info->alignment_value[path=%d][band=%d][2], 0x%x = 0x%08x\n", in _tssi_alimentk()
3725 tssi_info->alignment_value[path][band][2]); in _tssi_alimentk()
3727 "[TSSI PA K] tssi_info->alignment_value[path=%d][band=%d][3], 0x%x = 0x%08x\n", in _tssi_alimentk()
3729 tssi_info->alignment_value[path][band][3]); in _tssi_alimentk()
3737 tssi_info->tssi_alimk_time += finish_time - start_time; in _tssi_alimentk()
3741 tssi_info->tssi_alimk_time); in _tssi_alimentk()
3806 rtwdev->dpk.is_dpk_enable = true; in rtw8852b_dpk()
3807 rtwdev->dpk.is_dpk_reload_en = false; in rtw8852b_dpk()
3859 struct rtw89_tssi_info *tssi_info = &rtwdev->tssi; in rtw8852b_tssi_scan()
3860 u8 channel = chan->channel; in rtw8852b_tssi_scan()
3885 if (tssi_info->alignment_done[i][band]) in rtw8852b_tssi_scan()
3899 u8 channel = chan->channel; in rtw8852b_tssi_default_txagc()
3905 if (!rtwdev->is_tssi_mode[RF_PATH_A] && !rtwdev->is_tssi_mode[RF_PATH_B]) in rtw8852b_tssi_default_txagc()
3956 "[RFK]Invalid RF_0x18 for Path-%d\n", path); in _bw_setting()
4032 rtw89_debug(rtwdev, RTW89_DBG_RFK, "[LCK]re-set RF 0x18\n"); in _lck_check()
4104 "[RFK]CH: %d for Path-%d, reg0x%x = 0x%x\n", in _ch_setting()
4166 rtw8852b_ctrl_bw_ch(rtwdev, phy_idx, chan->channel, chan->band_type, in rtw8852b_set_channel_rf()
4167 chan->band_width); in rtw8852b_set_channel_rf()