mirror of
https://github.com/torvalds/linux.git
synced 2026-05-31 18:43:33 +02:00
wifi: rtw89: 8852a: update supported firmware format to 1
More data will be included in Firmware file and loaded via FW elements. Unlike other chips, for RF radio, RTL8852A uses rtw89_phy_config_rf_reg instead of v1, so update loading handling of corresponding FW element. And then, increase RTL8852A FW format to 1 to prevent old driver from misusing the data in FW elements. Signed-off-by: Zong-Zhe Yang <kevin_yang@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260213061552.29997-7-pkshih@realtek.com
This commit is contained in:
parent
5cfda90c63
commit
b60796c07a
|
|
@ -1073,6 +1073,7 @@ int rtw89_build_phy_tbl_from_elm(struct rtw89_dev *rtwdev,
|
|||
const union rtw89_fw_element_arg arg)
|
||||
{
|
||||
struct rtw89_fw_elm_info *elm_info = &rtwdev->fw.elm_info;
|
||||
const struct rtw89_chip_info *chip = rtwdev->chip;
|
||||
struct rtw89_hal *hal = &rtwdev->hal;
|
||||
struct rtw89_phy_table *tbl, **pp;
|
||||
struct rtw89_reg2_def *regs;
|
||||
|
|
@ -1129,7 +1130,9 @@ int rtw89_build_phy_tbl_from_elm(struct rtw89_dev *rtwdev,
|
|||
|
||||
if (radio) {
|
||||
tbl->rf_path = arg.rf_path;
|
||||
tbl->config = rtw89_phy_config_rf_reg_v1;
|
||||
tbl->config = chip->chip_id == RTL8852A ?
|
||||
rtw89_phy_config_rf_reg :
|
||||
rtw89_phy_config_rf_reg_v1;
|
||||
}
|
||||
|
||||
*pp = tbl;
|
||||
|
|
|
|||
|
|
@ -1659,10 +1659,10 @@ static void rtw89_phy_config_rf_reg_noio(struct rtw89_dev *rtwdev,
|
|||
(struct rtw89_fw_h2c_rf_reg_info *)extra_data);
|
||||
}
|
||||
|
||||
static void rtw89_phy_config_rf_reg(struct rtw89_dev *rtwdev,
|
||||
const struct rtw89_reg2_def *reg,
|
||||
enum rtw89_rf_path rf_path,
|
||||
void *extra_data)
|
||||
void rtw89_phy_config_rf_reg(struct rtw89_dev *rtwdev,
|
||||
const struct rtw89_reg2_def *reg,
|
||||
enum rtw89_rf_path rf_path,
|
||||
void *extra_data)
|
||||
{
|
||||
if (reg->addr == 0xfe) {
|
||||
mdelay(50);
|
||||
|
|
|
|||
|
|
@ -852,6 +852,10 @@ bool rtw89_phy_write_rf_v3(struct rtw89_dev *rtwdev, enum rtw89_rf_path rf_path,
|
|||
void rtw89_phy_init_bb_reg(struct rtw89_dev *rtwdev);
|
||||
void rtw89_phy_init_bb_afe(struct rtw89_dev *rtwdev);
|
||||
void rtw89_phy_init_rf_reg(struct rtw89_dev *rtwdev, bool noio);
|
||||
void rtw89_phy_config_rf_reg(struct rtw89_dev *rtwdev,
|
||||
const struct rtw89_reg2_def *reg,
|
||||
enum rtw89_rf_path rf_path,
|
||||
void *extra_data);
|
||||
void rtw89_phy_config_rf_reg_v1(struct rtw89_dev *rtwdev,
|
||||
const struct rtw89_reg2_def *reg,
|
||||
enum rtw89_rf_path rf_path,
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
#include "rtw8852a_table.h"
|
||||
#include "txrx.h"
|
||||
|
||||
#define RTW8852A_FW_FORMAT_MAX 0
|
||||
#define RTW8852A_FW_FORMAT_MAX 1
|
||||
#define RTW8852A_FW_BASENAME "rtw89/rtw8852a_fw"
|
||||
#define RTW8852A_MODULE_FIRMWARE \
|
||||
RTW89_GEN_MODULE_FWNAME(RTW8852A_FW_BASENAME, RTW8852A_FW_FORMAT_MAX)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user