rtw89: correct AID settings of beamformee
authorPing-Ke Shih <pkshih@realtek.com>
Tue, 3 May 2022 11:59:58 +0000 (19:59 +0800)
committerKalle Valo <kvalo@kernel.org>
Wed, 4 May 2022 05:32:05 +0000 (08:32 +0300)
Without this fix, it would cause IOT issue due to AID mismatch.

Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220503120001.79272-6-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/mac.c
drivers/net/wireless/realtek/rtw89/reg.h

index 07f6634d56a013dd8e008a1030f47ddf169c14c5..a06ca65b339ffbe55e9035b4c2c61a9baf8a67a4 100644 (file)
@@ -4240,6 +4240,10 @@ static int rtw89_mac_init_bfee(struct rtw89_dev *rtwdev, u8 mac_idx)
                      u32_encode_bits(CSI_INIT_RATE_VHT, B_AX_BFMEE_VHT_CSI_RATE_MASK) |
                      u32_encode_bits(CSI_INIT_RATE_HE, B_AX_BFMEE_HE_CSI_RATE_MASK));
 
+       reg = rtw89_mac_reg_by_idx(R_AX_CSIRPT_OPTION, mac_idx);
+       rtw89_write32_set(rtwdev, reg,
+                         B_AX_CSIPRT_VHTSU_AID_EN | B_AX_CSIPRT_HESU_AID_EN);
+
        return 0;
 }
 
index 6f5d1012c90c61ac72f3a62b496e3a1565ed5749..dff7992659dceeb434a478e12375085c07d1a93d 100644 (file)
 #define R_AX_RX_SR_CTRL_C1 0xEE4A
 #define B_AX_SR_EN BIT(0)
 
+#define R_AX_CSIRPT_OPTION 0xCE64
+#define R_AX_CSIRPT_OPTION_C1 0xEE64
+#define B_AX_CSIPRT_HESU_AID_EN BIT(25)
+#define B_AX_CSIPRT_VHTSU_AID_EN BIT(24)
+
 #define R_AX_RX_STATE_MONITOR 0xCEF0
 #define R_AX_RX_STATE_MONITOR_C1 0xEEF0
 #define B_AX_RX_STATE_MONITOR_MASK GENMASK(31, 0)