]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
wifi: rtw89: 8852b: change RF mode to normal mode when set channel
authorChih-Kang Chang <gary.chang@realtek.com>
Wed, 30 Oct 2024 09:16:03 +0000 (17:16 +0800)
committerPing-Ke Shih <pkshih@realtek.com>
Wed, 6 Nov 2024 06:22:26 +0000 (14:22 +0800)
Set the RF mode from 0xA(low power mode) to 0x3(Normal mode) to avoid
abnormal TX waveform in OFDM rate. Originally the RF mode will be changed
to normal mode by the firmware after entering LPS once. Therefore, this
change does not affect power saving.

Signed-off-by: Chih-Kang Chang <gary.chang@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20241030091603.6073-1-pkshih@realtek.com
drivers/net/wireless/realtek/rtw89/rtw8852b_common.c

index ede0ca5426aebc931f599201f631957c9ef4c6f5..f4aa4437fb7593432bb4702c851551613f7b0505 100644 (file)
@@ -905,7 +905,6 @@ static void rtw8852bx_ctrl_bw(struct rtw89_dev *rtwdev, u8 pri_ch, u8 bw,
 {
        enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id;
        u32 rx_path_0;
-       u32 val;
 
        rx_path_0 = rtw89_phy_read32_idx(rtwdev, R_CHBW_MOD_V1, B_ANT_RX_SEG0, phy_idx);
 
@@ -985,12 +984,11 @@ static void rtw8852bx_ctrl_bw(struct rtw89_dev *rtwdev, u8 pri_ch, u8 bw,
                rtw89_phy_write32_idx(rtwdev, R_CHBW_MOD_V1, B_CHBW_MOD_PRICH,
                                      pri_ch, phy_idx);
 
-               /*Set RF mode at A */
-               val = chip_id == RTL8852BT ? 0x333 : 0xaaa;
+               /*Set RF mode at 3 */
                rtw89_phy_write32_idx(rtwdev, R_P0_RFMODE_ORI_RX,
-                                     B_P0_RFMODE_ORI_RX_ALL, val, phy_idx);
+                                     B_P0_RFMODE_ORI_RX_ALL, 0x333, phy_idx);
                rtw89_phy_write32_idx(rtwdev, R_P1_RFMODE_ORI_RX,
-                                     B_P1_RFMODE_ORI_RX_ALL, val, phy_idx);
+                                     B_P1_RFMODE_ORI_RX_ALL, 0x333, phy_idx);
                break;
        default:
                rtw89_warn(rtwdev, "Fail to switch bw (bw:%d, pri ch:%d)\n", bw,