wifi: rtw89: phy: set TX power according to RF path number by chip
Ping-Ke Shih
maintainerPATCH 1/1 wifi: rtw89: phy: set TX power according to RF path number by chip
From: Zong-Zhe Yang <[email protected]>
Previously, all supported chips had two RF paths. Therefore, these codes used static number for TX power setting. Now, we are planning to support a new chip which has only one RF path. So, we refine the setting codes to refer to chip's RF path number at runtime.
--- drivers/net/wireless/realtek/rtw89/phy.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-)
drivers/net/wireless/realtek/rtw89/phy.c +6 -3
@@ -2042,6 +2042,7 @@ void rtw89_phy_set_txpwr_byrate(struct rtw89_dev *rtwdev,const struct rtw89_chan *chan, enum rtw89_phy_idx phy_idx) { + u8 max_nss_num = rtwdev->chip->rf_path_num; static const u8 rs[] = { RTW89_RS_CCK, RTW89_RS_OFDM,
@@ -2064,7 +2065,7 @@ void rtw89_phy_set_txpwr_byrate(struct rtw89_dev *rtwdev,BUILD_BUG_ON (rtw89_rs_idx_max[RTW89_RS_HEDCM ] %4 ); addr =R_AX_PWR_BY_RATE ; -for (cur.nss =0 ; cur.nss <=RTW89_NSS_2 ; cur.nss++) { +for (cur.nss =0 ; cur.nss < max_nss_num; cur.nss++) {for (i =0 ; i <ARRAY_SIZE (rs); i++) {if (cur.nss >= rtw89_rs_nss_max[rs[i]])continue ;
@@ -2127,6 +2128,7 @@ void rtw89_phy_set_txpwr_limit(struct rtw89_dev *rtwdev,const struct rtw89_chan *chan, enum rtw89_phy_idx phy_idx) { + u8 max_ntx_num = rtwdev->chip->rf_path_num;struct rtw89_txpwr_limit lmt;u8 ch = chan->channel;u8 bw = chan->band_width;
@@ -2141,7 +2143,7 @@ void rtw89_phy_set_txpwr_limit(struct rtw89_dev *rtwdev, RTW89_TXPWR_LMT_PAGE_SIZE); addr =R_AX_PWR_LMT ; -for (i =0 ; i <RTW89_NTX_NUM ; i++) { +for (i =0 ; i < max_ntx_num; i++) {rtw89_phy_fill_txpwr_limit (rtwdev, chan, &lmt, i); ptr = (s8 *)&lmt;
@@ -2162,6 +2164,7 @@ void rtw89_phy_set_txpwr_limit_ru(struct rtw89_dev *rtwdev,const struct rtw89_chan *chan, enum rtw89_phy_idx phy_idx) { + u8 max_ntx_num = rtwdev->chip->rf_path_num;struct rtw89_txpwr_limit_ru lmt_ru;u8 ch = chan->channel;u8 bw = chan->band_width;
@@ -2176,7 +2179,7 @@ void rtw89_phy_set_txpwr_limit_ru(struct rtw89_dev *rtwdev, RTW89_TXPWR_LMT_RU_PAGE_SIZE); addr =R_AX_PWR_RU_LMT ; -for (i =0 ; i <RTW89_NTX_NUM ; i++) { +for (i =0 ; i < max_ntx_num; i++) {rtw89_phy_fill_txpwr_limit_ru (rtwdev, chan, &lmt_ru, i); ptr = (s8 *)&lmt_ru;
Signature · 1 line
2.25.1
Quoted 9 lines · Ping-Ke Shih
From: Zong-Zhe Yang <[email protected]>
Previously, all supported chips had two RF paths. Therefore, these codes used static number for TX power setting. Now, we are planning to support a new chip which has only one RF path. So, we refine the setting codes to refer to chip's RF path number at runtime.
Signed-off-by Zong-Zhe Yang <[email protected]>Signed-off-by Ping-Ke Shih <[email protected]>
Patch applied to wireless-next.git, thanks.
ddf9a2ead167 wifi: rtw89: phy: set TX power according to RF path number by chip
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/patch/[email protected]/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches