You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.9 KiB
75 lines
2.9 KiB
From 594b7e7ab1f22ea71fff9894aace17a5eef45715 Mon Sep 17 00:00:00 2001
|
|
From: =?UTF-8?q?=C3=8D=C3=B1igo=20Huguet?= <ihuguet@redhat.com>
|
|
Date: Wed, 24 May 2023 15:00:39 +0200
|
|
Subject: [PATCH 133/142] wifi: rtw89: 8852b: reset IDMEM mode to default value
|
|
MIME-Version: 1.0
|
|
Content-Type: text/plain; charset=UTF-8
|
|
Content-Transfer-Encoding: 8bit
|
|
|
|
Bugzilla: https://bugzilla.redhat.com/2207499
|
|
|
|
commit 2e5a65f5952fe451777066e99531abc6bc684573
|
|
Author: Ping-Ke Shih <pkshih@realtek.com>
|
|
Date: Mon Jan 23 14:53:59 2023 +0800
|
|
|
|
wifi: rtw89: 8852b: reset IDMEM mode to default value
|
|
|
|
For different firmware type, it could use different IDMEM mode, so reset
|
|
it to default to avoid encountering error during we bisect firmware
|
|
version, like
|
|
|
|
rtw89_8852be 0000:03:00.0: Firmware version 0.29.26.0, cmd version 0, type 5
|
|
rtw89_8852be 0000:03:00.0: Firmware version 0.29.26.0, cmd version 0, type 3
|
|
rtw89_8852be 0000:03:00.0: fw security fail
|
|
rtw89_8852be 0000:03:00.0: download firmware fail
|
|
rtw89_8852be 0000:03:00.0: [ERR]fwdl 0x1E0 = 0x62
|
|
rtw89_8852be 0000:03:00.0: [ERR]fwdl 0x83F2 = 0x8
|
|
rtw89_8852be 0000:03:00.0: [ERR]fw PC = 0xb8931154
|
|
rtw89_8852be 0000:03:00.0: [ERR]fw PC = 0xb8931154
|
|
rtw89_8852be 0000:03:00.0: [ERR]fw PC = 0xb8931150
|
|
rtw89_8852be 0000:03:00.0: [ERR]fw PC = 0xb8931154
|
|
|
|
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
|
|
Signed-off-by: Kalle Valo <kvalo@kernel.org>
|
|
Link: https://lore.kernel.org/r/20230123065401.14174-5-pkshih@realtek.com
|
|
|
|
Signed-off-by: Íñigo Huguet <ihuguet@redhat.com>
|
|
---
|
|
drivers/net/wireless/realtek/rtw89/mac.c | 5 +++++
|
|
drivers/net/wireless/realtek/rtw89/reg.h | 3 +++
|
|
2 files changed, 8 insertions(+)
|
|
|
|
diff --git a/drivers/net/wireless/realtek/rtw89/mac.c b/drivers/net/wireless/realtek/rtw89/mac.c
|
|
index 8c622111e832e..99a42fc38e6ae 100644
|
|
--- a/drivers/net/wireless/realtek/rtw89/mac.c
|
|
+++ b/drivers/net/wireless/realtek/rtw89/mac.c
|
|
@@ -3414,6 +3414,11 @@ int rtw89_mac_enable_cpu(struct rtw89_dev *rtwdev, u8 boot_reason, bool dlfw)
|
|
val |= B_AX_WCPU_FWDL_EN;
|
|
|
|
rtw89_write32(rtwdev, R_AX_WCPU_FW_CTRL, val);
|
|
+
|
|
+ if (rtwdev->chip->chip_id == RTL8852B)
|
|
+ rtw89_write32_mask(rtwdev, R_AX_SEC_CTRL,
|
|
+ B_AX_SEC_IDMEM_SIZE_CONFIG_MASK, 0x2);
|
|
+
|
|
rtw89_write16_mask(rtwdev, R_AX_BOOT_REASON, B_AX_BOOT_REASON_MASK,
|
|
boot_reason);
|
|
rtw89_write32_set(rtwdev, R_AX_PLATFORM_ENABLE, B_AX_WCPU_EN);
|
|
diff --git a/drivers/net/wireless/realtek/rtw89/reg.h b/drivers/net/wireless/realtek/rtw89/reg.h
|
|
index 036953f0ec464..600257909df27 100644
|
|
--- a/drivers/net/wireless/realtek/rtw89/reg.h
|
|
+++ b/drivers/net/wireless/realtek/rtw89/reg.h
|
|
@@ -275,6 +275,9 @@
|
|
#define B_AX_S1_LDO2PWRCUT_F BIT(23)
|
|
#define B_AX_S0_LDO_VSEL_F_MASK GENMASK(22, 21)
|
|
|
|
+#define R_AX_SEC_CTRL 0x0C00
|
|
+#define B_AX_SEC_IDMEM_SIZE_CONFIG_MASK GENMASK(17, 16)
|
|
+
|
|
#define R_AX_FILTER_MODEL_ADDR 0x0C04
|
|
|
|
#define R_AX_HAXI_INIT_CFG1 0x1000
|
|
--
|
|
2.13.6
|
|
|