summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorPo-Hao Huang <phhuang@realtek.com>2026-01-14 09:39:49 +0800
committerPing-Ke Shih <pkshih@realtek.com>2026-01-22 09:43:08 +0800
commit76bada91a41a08e101b05c241c0066cd85bdfa68 (patch)
treeb28cc4daac3366e5b93863d5cb42ac4317e429a7 /drivers/net
parenta0343cdc7767578e21822bd4e0961d204add2eef (diff)
wifi: rtw89: phy: fix incorrect power limit by mac_id
Modify the power register range based on chip ability. When not set, the default value is random. This fixes incorrect power limit on some ICs. Signed-off-by: Po-Hao Huang <phhuang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260114013950.19704-12-pkshih@realtek.com
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/realtek/rtw89/phy_be.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/phy_be.c b/drivers/net/wireless/realtek/rtw89/phy_be.c
index 2dbc194eb329..08fd24a55d85 100644
--- a/drivers/net/wireless/realtek/rtw89/phy_be.c
+++ b/drivers/net/wireless/realtek/rtw89/phy_be.c
@@ -455,7 +455,8 @@ void rtw89_phy_bb_wrap_pwr_by_macid_init(struct rtw89_dev *rtwdev)
{
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
const struct rtw89_bb_wrap_regs *bb_wrap = phy->bb_wrap;
- u32 macid_idx, cr, base_macid_lmt, max_macid = 32;
+ u32 max_macid = rtwdev->chip->support_macid_num;
+ u32 macid_idx, cr, base_macid_lmt;
base_macid_lmt = bb_wrap->pwr_macid_lmt;
@@ -470,8 +471,9 @@ void rtw89_phy_bb_wrap_tx_path_by_macid_init(struct rtw89_dev *rtwdev)
{
const struct rtw89_phy_gen_def *phy = rtwdev->chip->phy_def;
const struct rtw89_bb_wrap_regs *bb_wrap = phy->bb_wrap;
+ u32 max_macid = rtwdev->chip->support_macid_num;
u32 cr = bb_wrap->pwr_macid_path;
- int i, max_macid = 32;
+ int i;
for (i = 0; i < max_macid; i++, cr += 4)
rtw89_write_bb_wrap_flush(rtwdev, cr, 0);