wifi: rtw89: fw: load TX compensation element by RFE type

Originally driver uses TX compensation element by AID, and now tables are
by RFE type. Add the logic accordingly.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260520123823.1792954-5-pkshih@realtek.com
This commit is contained in:
Ping-Ke Shih 2026-05-20 20:38:20 +08:00
parent c77a155c96
commit 89ab7535e4
2 changed files with 11 additions and 0 deletions

View File

@ -1423,12 +1423,18 @@ int rtw89_build_tx_comp_from_elm(struct rtw89_dev *rtwdev,
const union rtw89_fw_element_arg arg)
{
struct rtw89_fw_elm_info *elm_info = &rtwdev->fw.elm_info;
struct rtw89_efuse *efuse = &rtwdev->efuse;
struct rtw89_hal *hal = &rtwdev->hal;
u8 rfe_type;
u16 aid;
aid = le16_to_cpu(elm->aid);
rfe_type = elm->u.tx_comp.rfe_type;
if (aid && aid != hal->aid)
return 1; /* ignore if aid not matched */
else if (rfe_type && rfe_type != efuse->rfe_type)
return 1; /* ignore if rfe_type not matched */
else if (elm_info->tx_comp)
return 1; /* ignore if an element is existing */

View File

@ -4548,6 +4548,11 @@ struct rtw89_fw_element_hdr {
u8 rsvd[4];
u8 rules_and_msgs[];
} __packed diag_mac;
struct {
u8 rfe_type;
u8 priv[7];
u8 contents[];
} __packed tx_comp;
struct __rtw89_fw_txpwr_element txpwr;
struct __rtw89_fw_regd_element regd;
} __packed u;