From 76bada91a41a08e101b05c241c0066cd85bdfa68 Mon Sep 17 00:00:00 2001 From: Po-Hao Huang Date: Wed, 14 Jan 2026 09:39:49 +0800 Subject: [PATCH] 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 Signed-off-by: Ping-Ke Shih Link: https://patch.msgid.link/20260114013950.19704-12-pkshih@realtek.com --- drivers/net/wireless/realtek/rtw89/phy_be.c | 6 ++++-- 1 file 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 2dbc194eb3299..08fd24a55d852 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); -- 2.47.3