wifi: rtw89: phy: ignore special data from BB parameter file
authorPing-Ke Shih <pkshih@realtek.com>
Fri, 5 Jan 2024 06:44:07 +0000 (14:44 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 10 Jan 2024 14:50:57 +0000 (16:50 +0200)
BB parameter file is a list of tuple {addr, val} with conditional hardware
version. However, tuples within a condition can't be empty, so insert a
special dummy tuple for this case. Then, ignore this tuple when writing.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240105064407.36750-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/core.h
drivers/net/wireless/realtek/rtw89/phy.c

index 1b74ba9..662425b 100644 (file)
@@ -32,6 +32,7 @@ extern const struct ieee80211_ops rtw89_ops;
 #define MASKDWORD 0xffffffff
 #define RFREG_MASK 0xfffff
 #define INV_RF_DATA 0xffffffff
+#define BYPASS_CR_DATA 0xbabecafe
 
 #define RTW89_TRACK_WORK_PERIOD        round_jiffies_relative(HZ * 2)
 #define RTW89_FORBID_BA_TIMER round_jiffies_relative(HZ * 4)
index 37fc1a7..3efc6bb 100644 (file)
@@ -905,6 +905,8 @@ static void rtw89_phy_config_bb_reg(struct rtw89_dev *rtwdev,
                udelay(5);
        else if (reg->addr == 0xf9)
                udelay(1);
+       else if (reg->data == BYPASS_CR_DATA)
+               rtw89_debug(rtwdev, RTW89_DBG_PHY_TRACK, "Bypass CR 0x%x\n", reg->addr);
        else
                rtw89_phy_write32(rtwdev, reg->addr, reg->data);
 }