aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPing-Ke Shih <pkshih@realtek.com>2022-03-07 14:04:49 +0800
committerKalle Valo <kvalo@kernel.org>2022-03-10 18:42:37 +0200
commita8bdac12048407d3ff519adf53c619f77147949a (patch)
tree3468bbd99bfbfd8db4c85238492228c9a33e028b
parentrtw89: pci: use a struct to describe all registers address related to DMA channel (diff)
downloadlinux-dev-a8bdac12048407d3ff519adf53c619f77147949a.tar.xz
linux-dev-a8bdac12048407d3ff519adf53c619f77147949a.zip
rtw89: read chip version depends on chip ID
Only 8852A may get wrong chip version if power isn't on, so it needs additional actions to correct the version. Later chips don't need those. Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://lore.kernel.org/r/20220307060457.56789-6-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/core.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.c b/drivers/net/wireless/realtek/rtw89/core.c
index a93555b0a2bf..bcefc968576e 100644
--- a/drivers/net/wireless/realtek/rtw89/core.c
+++ b/drivers/net/wireless/realtek/rtw89/core.c
@@ -2732,10 +2732,11 @@ void rtw89_core_scan_complete(struct rtw89_dev *rtwdev,
static void rtw89_read_chip_ver(struct rtw89_dev *rtwdev)
{
+ const struct rtw89_chip_info *chip = rtwdev->chip;
u8 cv;
cv = rtw89_read32_mask(rtwdev, R_AX_SYS_CFG1, B_AX_CHIP_VER_MASK);
- if (cv <= CHIP_CBV) {
+ if (chip->chip_id == RTL8852A && cv <= CHIP_CBV) {
if (rtw89_read32(rtwdev, R_AX_GPIO0_7_FUNC_SEL) == RTW89_R32_DEAD)
cv = CHIP_CAV;
else