Commit 9707ea6d authored by Zong-Zhe Yang's avatar Zong-Zhe Yang Committed by Kalle Valo

wifi: rtw89: load TX power by rate when RFE parms setup

Table of TX power by rate only needs to be loaded once. But, we originally
loaded it every time we start core. Now, we load it one time along as RFE
(RF Front End) parameters are determined.
Signed-off-by: default avatarZong-Zhe Yang <kevin_yang@realtek.com>
Signed-off-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230920074322.42898-6-pkshih@realtek.com
parent 634fd992
...@@ -4008,21 +4008,27 @@ static void rtw89_core_setup_rfe_parms(struct rtw89_dev *rtwdev) ...@@ -4008,21 +4008,27 @@ static void rtw89_core_setup_rfe_parms(struct rtw89_dev *rtwdev)
const struct rtw89_chip_info *chip = rtwdev->chip; const struct rtw89_chip_info *chip = rtwdev->chip;
const struct rtw89_rfe_parms_conf *conf = chip->rfe_parms_conf; const struct rtw89_rfe_parms_conf *conf = chip->rfe_parms_conf;
struct rtw89_efuse *efuse = &rtwdev->efuse; struct rtw89_efuse *efuse = &rtwdev->efuse;
const struct rtw89_rfe_parms *sel;
u8 rfe_type = efuse->rfe_type; u8 rfe_type = efuse->rfe_type;
if (!conf) if (!conf) {
sel = chip->dflt_parms;
goto out; goto out;
}
while (conf->rfe_parms) { while (conf->rfe_parms) {
if (rfe_type == conf->rfe_type) { if (rfe_type == conf->rfe_type) {
rtwdev->rfe_parms = conf->rfe_parms; sel = conf->rfe_parms;
return; goto out;
} }
conf++; conf++;
} }
sel = chip->dflt_parms;
out: out:
rtwdev->rfe_parms = chip->dflt_parms; rtwdev->rfe_parms = sel;
rtw89_load_txpwr_table(rtwdev, sel->byr_tbl);
} }
static int rtw89_chip_efuse_info_setup(struct rtw89_dev *rtwdev) static int rtw89_chip_efuse_info_setup(struct rtw89_dev *rtwdev)
......
...@@ -4481,8 +4481,6 @@ static void rtw89_phy_env_monitor_init(struct rtw89_dev *rtwdev) ...@@ -4481,8 +4481,6 @@ static void rtw89_phy_env_monitor_init(struct rtw89_dev *rtwdev)
void rtw89_phy_dm_init(struct rtw89_dev *rtwdev) void rtw89_phy_dm_init(struct rtw89_dev *rtwdev)
{ {
const struct rtw89_rfe_parms *rfe_parms = rtwdev->rfe_parms;
rtw89_phy_stat_init(rtwdev); rtw89_phy_stat_init(rtwdev);
rtw89_chip_bb_sethw(rtwdev); rtw89_chip_bb_sethw(rtwdev);
...@@ -4498,7 +4496,6 @@ void rtw89_phy_dm_init(struct rtw89_dev *rtwdev) ...@@ -4498,7 +4496,6 @@ void rtw89_phy_dm_init(struct rtw89_dev *rtwdev)
rtw89_phy_init_rf_nctl(rtwdev); rtw89_phy_init_rf_nctl(rtwdev);
rtw89_chip_rfk_init(rtwdev); rtw89_chip_rfk_init(rtwdev);
rtw89_load_txpwr_table(rtwdev, rfe_parms->byr_tbl);
rtw89_chip_set_txpwr_ctrl(rtwdev); rtw89_chip_set_txpwr_ctrl(rtwdev);
rtw89_chip_power_trim(rtwdev); rtw89_chip_power_trim(rtwdev);
rtw89_chip_cfg_txrx_path(rtwdev); rtw89_chip_cfg_txrx_path(rtwdev);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment