summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPing-Ke Shih <pkshih@realtek.com>2026-06-25 14:15:37 +0800
committerPing-Ke Shih <pkshih@realtek.com>2026-07-03 11:37:22 +0800
commit14dfbfeba17b98d5cb3a7e31bbff4d21e74302c9 (patch)
tree909ac47f763baebae21c2accc9b4ee0a76def5ef
parent0819de0fd2906236dd38fdd89e52dcb53cd853b2 (diff)
downloadlinux-stable-14dfbfeba17b98d5cb3a7e31bbff4d21e74302c9.tar.gz
linux-stable-14dfbfeba17b98d5cb3a7e31bbff4d21e74302c9.zip
wifi: rtw89: mac: pass chip version to firmware
Set chip version to register shared with firmware before downloading firmware, so firmware can run proper flow according to the version. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20260625061545.44808-3-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/mac_be.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/mac_be.c b/drivers/net/wireless/realtek/rtw89/mac_be.c
index 70e6c9d21986..4cb48cf9415a 100644
--- a/drivers/net/wireless/realtek/rtw89/mac_be.c
+++ b/drivers/net/wireless/realtek/rtw89/mac_be.c
@@ -641,6 +641,7 @@ static void set_cpu_en(struct rtw89_dev *rtwdev, bool include_bb)
static int wcpu_on(struct rtw89_dev *rtwdev, u8 boot_reason, bool dlfw)
{
const struct rtw89_chip_info *chip = rtwdev->chip;
+ struct rtw89_hal *hal = &rtwdev->hal;
u32 val32;
int ret;
@@ -683,6 +684,8 @@ static int wcpu_on(struct rtw89_dev *rtwdev, u8 boot_reason, bool dlfw)
if (chip->chip_id != RTL8922A)
rtw89_write32_set(rtwdev, R_BE_WCPU_FW_CTRL, B_BE_HOST_EXIST);
+ rtw89_write32_mask(rtwdev, R_BE_WCPU_FW_CTRL,
+ B_BE_WCPU_ROM_CUT_VAL_MASK, hal->cv + 1);
rtw89_write16_mask(rtwdev, R_BE_BOOT_REASON, B_BE_BOOT_REASON_MASK, boot_reason);
rtw89_write32_clr(rtwdev, R_BE_PLATFORM_ENABLE, B_BE_WCPU_EN);
rtw89_write32_clr(rtwdev, R_BE_PLATFORM_ENABLE, B_BE_HOLD_AFTER_RESET);