};
struct rtw89_rfe_parms {
+ const struct rtw89_txpwr_table *byr_tbl;
struct rtw89_txpwr_rule_2ghz rule_2ghz;
struct rtw89_txpwr_rule_5ghz rule_5ghz;
struct rtw89_txpwr_rule_6ghz rule_6ghz;
const struct rtw89_phy_table *rf_table[RF_PATH_MAX];
const struct rtw89_phy_table *nctl_table;
const struct rtw89_rfk_tbl *nctl_post_table;
- const struct rtw89_txpwr_table *byr_table;
const struct rtw89_phy_dig_gain_table *dig_table;
const struct rtw89_dig_regs *dig_regs;
const struct rtw89_phy_tssi_dbw_table *tssi_dbw_table;
void rtw89_phy_dm_init(struct rtw89_dev *rtwdev)
{
- const struct rtw89_chip_info *chip = rtwdev->chip;
+ const struct rtw89_rfe_parms *rfe_parms = rtwdev->rfe_parms;
rtw89_phy_stat_init(rtwdev);
rtw89_phy_init_rf_nctl(rtwdev);
rtw89_chip_rfk_init(rtwdev);
- rtw89_load_txpwr_table(rtwdev, chip->byr_table);
+ rtw89_load_txpwr_table(rtwdev, rfe_parms->byr_tbl);
rtw89_chip_set_txpwr_ctrl(rtwdev);
rtw89_chip_power_trim(rtwdev);
rtw89_chip_cfg_txrx_path(rtwdev);
.rf_table = {&rtw89_8851b_phy_radioa_table,},
.nctl_table = &rtw89_8851b_phy_nctl_table,
.nctl_post_table = &rtw8851b_nctl_post_defs_tbl,
- .byr_table = &rtw89_8851b_byr_table,
.dflt_parms = &rtw89_8851b_dflt_parms,
.rfe_parms_conf = rtw89_8851b_rfe_parms_conf,
.txpwr_factor_rf = 2,
.rf_path = 0, /* don't care */
};
+static
const struct rtw89_txpwr_table rtw89_8851b_byr_table = {
.data = rtw89_8851b_txpwr_byrate,
.size = ARRAY_SIZE(rtw89_8851b_txpwr_byrate),
};
const struct rtw89_rfe_parms rtw89_8851b_dflt_parms = {
+ .byr_tbl = &rtw89_8851b_byr_table,
.rule_2ghz = {
.lmt = &rtw89_8851b_txpwr_lmt_2g,
.lmt_ru = &rtw89_8851b_txpwr_lmt_ru_2g,
};
static const struct rtw89_rfe_parms rtw89_8851b_rfe_parms_type2 = {
+ .byr_tbl = &rtw89_8851b_byr_table,
.rule_2ghz = {
.lmt = &rtw89_8851b_txpwr_lmt_2g_type2,
.lmt_ru = &rtw89_8851b_txpwr_lmt_ru_2g_type2,
extern const struct rtw89_phy_table rtw89_8851b_phy_bb_gain_table;
extern const struct rtw89_phy_table rtw89_8851b_phy_radioa_table;
extern const struct rtw89_phy_table rtw89_8851b_phy_nctl_table;
-extern const struct rtw89_txpwr_table rtw89_8851b_byr_table;
extern const struct rtw89_txpwr_track_cfg rtw89_8851b_trk_cfg;
extern const struct rtw89_rfe_parms rtw89_8851b_dflt_parms;
extern const struct rtw89_rfe_parms_conf rtw89_8851b_rfe_parms_conf[];
&rtw89_8852a_phy_radiob_table,},
.nctl_table = &rtw89_8852a_phy_nctl_table,
.nctl_post_table = NULL,
- .byr_table = &rtw89_8852a_byr_table,
.dflt_parms = &rtw89_8852a_dflt_parms,
.rfe_parms_conf = NULL,
.txpwr_factor_rf = 2,
.rf_path = 0, /* don't care */
};
+static
const struct rtw89_txpwr_table rtw89_8852a_byr_table = {
.data = rtw89_8852a_txpwr_byrate,
.size = ARRAY_SIZE(rtw89_8852a_txpwr_byrate),
};
const struct rtw89_rfe_parms rtw89_8852a_dflt_parms = {
+ .byr_tbl = &rtw89_8852a_byr_table,
.rule_2ghz = {
.lmt = &rtw89_8852a_txpwr_lmt_2g,
.lmt_ru = &rtw89_8852a_txpwr_lmt_ru_2g,
extern const struct rtw89_phy_table rtw89_8852a_phy_radioa_table;
extern const struct rtw89_phy_table rtw89_8852a_phy_radiob_table;
extern const struct rtw89_phy_table rtw89_8852a_phy_nctl_table;
-extern const struct rtw89_txpwr_table rtw89_8852a_byr_table;
extern const struct rtw89_phy_dig_gain_table rtw89_8852a_phy_dig_table;
extern const struct rtw89_txpwr_track_cfg rtw89_8852a_trk_cfg;
extern const struct rtw89_rfe_parms rtw89_8852a_dflt_parms;
&rtw89_8852b_phy_radiob_table,},
.nctl_table = &rtw89_8852b_phy_nctl_table,
.nctl_post_table = NULL,
- .byr_table = &rtw89_8852b_byr_table,
.dflt_parms = &rtw89_8852b_dflt_parms,
.rfe_parms_conf = NULL,
.txpwr_factor_rf = 2,
.rf_path = 0, /* don't care */
};
+static
const struct rtw89_txpwr_table rtw89_8852b_byr_table = {
.data = rtw89_8852b_txpwr_byrate,
.size = ARRAY_SIZE(rtw89_8852b_txpwr_byrate),
};
const struct rtw89_rfe_parms rtw89_8852b_dflt_parms = {
+ .byr_tbl = &rtw89_8852b_byr_table,
.rule_2ghz = {
.lmt = &rtw89_8852b_txpwr_lmt_2g,
.lmt_ru = &rtw89_8852b_txpwr_lmt_ru_2g,
extern const struct rtw89_phy_table rtw89_8852b_phy_radioa_table;
extern const struct rtw89_phy_table rtw89_8852b_phy_radiob_table;
extern const struct rtw89_phy_table rtw89_8852b_phy_nctl_table;
-extern const struct rtw89_txpwr_table rtw89_8852b_byr_table;
extern const struct rtw89_txpwr_track_cfg rtw89_8852b_trk_cfg;
extern const struct rtw89_rfe_parms rtw89_8852b_dflt_parms;
&rtw89_8852c_phy_radioa_table,},
.nctl_table = &rtw89_8852c_phy_nctl_table,
.nctl_post_table = NULL,
- .byr_table = &rtw89_8852c_byr_table,
.dflt_parms = &rtw89_8852c_dflt_parms,
.rfe_parms_conf = NULL,
.chanctx_listener = &rtw8852c_chanctx_listener,
.rf_path = 0, /* don't care */
};
+static
const struct rtw89_txpwr_table rtw89_8852c_byr_table = {
.data = rtw89_8852c_txpwr_byrate,
.size = ARRAY_SIZE(rtw89_8852c_txpwr_byrate),
};
const struct rtw89_rfe_parms rtw89_8852c_dflt_parms = {
+ .byr_tbl = &rtw89_8852c_byr_table,
.rule_2ghz = {
.lmt = &rtw89_8852c_txpwr_lmt_2g,
.lmt_ru = &rtw89_8852c_txpwr_lmt_ru_2g,
extern const struct rtw89_phy_table rtw89_8852c_phy_radioa_table;
extern const struct rtw89_phy_table rtw89_8852c_phy_radiob_table;
extern const struct rtw89_phy_table rtw89_8852c_phy_nctl_table;
-extern const struct rtw89_txpwr_table rtw89_8852c_byr_table;
extern const struct rtw89_phy_tssi_dbw_table rtw89_8852c_tssi_dbw_table;
extern const struct rtw89_txpwr_track_cfg rtw89_8852c_trk_cfg;
extern const struct rtw89_rfe_parms rtw89_8852c_dflt_parms;