diff options
author | Ping-Ke Shih <pkshih@realtek.com> | 2023-08-01 10:11:26 +0800 |
---|---|---|
committer | Kalle Valo <kvalo@kernel.org> | 2023-08-03 15:04:12 +0300 |
commit | 894747206893c4a276e82999d1a1ed76c58bb36a (patch) | |
tree | b6d7a302e0e644755b28da0af7dadcf0d5fdee69 /drivers/net/wireless/realtek/rtw89/core.h | |
parent | a337d4331fd64652a9ad459049713ba5b1f8e0bd (diff) |
wifi: rtw89: add to parse firmware elements of BB and RF tables
The tables of BB and RF parameters are pairs of {addr, value}. Load them
and convert from little-endian to CPU order, and show the version to clear
which version we are using.
rtw89_8922ae 0000:03:00.0: Firmware element BB version: 00 04 00 00
rtw89_8922ae 0000:03:00.0: Firmware element radio A version: 00 13 00 00
rtw89_8922ae 0000:03:00.0: Firmware element NCTL version: 00 05 00 00
We use tables defined in firmware elements with higher priority than
original static const tables defined in driver, because WiFi 7 chips will
not define the tables in driver, and existing chips can possibly migrate to
the new design one by one.
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20230801021127.15919-8-pkshih@realtek.com
Diffstat (limited to 'drivers/net/wireless/realtek/rtw89/core.h')
-rw-r--r-- | drivers/net/wireless/realtek/rtw89/core.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h index aaee0733301a..bf6d8ef89097 100644 --- a/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h @@ -3613,6 +3613,13 @@ struct rtw89_fw_log { const char *(*fmts)[]; }; +struct rtw89_fw_elm_info { + struct rtw89_phy_table *bb_tbl; + struct rtw89_phy_table *bb_gain; + struct rtw89_phy_table *rf_radio[RF_PATH_MAX]; + struct rtw89_phy_table *rf_nctl; +}; + struct rtw89_fw_info { struct rtw89_fw_req_info req; int fw_format; @@ -3626,6 +3633,7 @@ struct rtw89_fw_info { struct rtw89_fw_suit bbmcu1; struct rtw89_fw_log log; u32 feature_map; + struct rtw89_fw_elm_info elm_info; }; #define RTW89_CHK_FW_FEATURE(_feat, _fw) \ |