diff options
author | 2022-03-07 14:04:49 +0800 | |
---|---|---|
committer | 2022-03-10 18:42:37 +0200 | |
commit | a8bdac12048407d3ff519adf53c619f77147949a (patch) | |
tree | 3468bbd99bfbfd8db4c85238492228c9a33e028b | |
parent | rtw89: pci: use a struct to describe all registers address related to DMA channel (diff) | |
download | linux-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.c | 3 |
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 |