diff options
| author | Ping-Ke Shih <pkshih@realtek.com> | 2024-01-05 09:44:07 +0300 |
|---|---|---|
| committer | Kalle Valo <kvalo@kernel.org> | 2024-01-10 17:50:57 +0300 |
| commit | 0377e2a77201f22bb7336b5671f3f43fc094b44a (patch) | |
| tree | 9758809f2b75e6997fd04bf96a86e20f2e7bbb4d | |
| parent | d16f34b084d9734644932ca17812baec56fb0041 (diff) | |
| download | linux-0377e2a77201f22bb7336b5671f3f43fc094b44a.tar.xz | |
wifi: rtw89: phy: ignore special data from BB parameter file
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
| -rw-r--r-- | drivers/net/wireless/realtek/rtw89/core.h | 1 | ||||
| -rw-r--r-- | drivers/net/wireless/realtek/rtw89/phy.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/core.h b/drivers/net/wireless/realtek/rtw89/core.h index 1b74ba9e1a8b..662425ba395b 100644 --- a/drivers/net/wireless/realtek/rtw89/core.h +++ b/drivers/net/wireless/realtek/rtw89/core.h @@ -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) diff --git a/drivers/net/wireless/realtek/rtw89/phy.c b/drivers/net/wireless/realtek/rtw89/phy.c index 37fc1a7e888f..3efc6bbdf624 100644 --- a/drivers/net/wireless/realtek/rtw89/phy.c +++ b/drivers/net/wireless/realtek/rtw89/phy.c @@ -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); } |
