Skip to content

Commit

Permalink
wifi: rtw89: 8922a: configure UL MU/OFDMA power setting
Browse files Browse the repository at this point in the history
8922A needs to set UL MU/OFDMA power and fine tune power
error tolerance for proper response to AP's trigger frame.

Signed-off-by: Kuan-Chung Chen <damon.chen@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://msgid.link/20240401063818.12880-1-pkshih@realtek.com
  • Loading branch information
Kuan-Chung Chen authored and Ping-Ke Shih committed Apr 4, 2024
1 parent 2710c91 commit 155b10a
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 0 deletions.
18 changes: 18 additions & 0 deletions drivers/net/wireless/realtek/rtw89/phy_be.c
Original file line number Diff line number Diff line change
Expand Up @@ -381,6 +381,23 @@ static void rtw89_phy_bb_wrap_ftm_init(struct rtw89_dev *rtwdev,
rtw89_write32_mask(rtwdev, addr, 0x7, 0);
}

static void rtw89_phy_bb_wrap_ul_pwr(struct rtw89_dev *rtwdev)
{
enum rtw89_core_chip_id chip_id = rtwdev->chip->chip_id;
u8 mac_idx;
u32 addr;

if (chip_id != RTL8922A)
return;

for (mac_idx = 0; mac_idx < RTW89_MAC_NUM; mac_idx++) {
addr = rtw89_mac_reg_by_idx(rtwdev, R_BE_PWR_RSSI_TARGET_LMT, mac_idx);
rtw89_write32(rtwdev, addr, 0x0201FE00);
addr = rtw89_mac_reg_by_idx(rtwdev, R_BE_PWR_TH, mac_idx);
rtw89_write32(rtwdev, addr, 0x00FFEC7E);
}
}

static void rtw89_phy_bb_wrap_init_be(struct rtw89_dev *rtwdev)
{
enum rtw89_mac_idx mac_idx = RTW89_MAC_0;
Expand All @@ -391,6 +408,7 @@ static void rtw89_phy_bb_wrap_init_be(struct rtw89_dev *rtwdev)
rtw89_phy_bb_wrap_force_cr_init(rtwdev, mac_idx);
rtw89_phy_bb_wrap_ftm_init(rtwdev, mac_idx);
rtw89_phy_bb_wrap_tpu_set_all(rtwdev, mac_idx);
rtw89_phy_bb_wrap_ul_pwr(rtwdev);
}

static void rtw89_phy_ch_info_init_be(struct rtw89_dev *rtwdev)
Expand Down
3 changes: 3 additions & 0 deletions drivers/net/wireless/realtek/rtw89/reg.h
Original file line number Diff line number Diff line change
Expand Up @@ -7496,6 +7496,9 @@
#define B_BE_PWR_BT_VAL GENMASK(8, 0)
#define B_BE_PWR_FORCE_COEX_ON GENMASK(29, 27)

#define R_BE_PWR_TH 0x11A78
#define R_BE_PWR_RSSI_TARGET_LMT 0x11A84

#define R_BE_PWR_OFST_SW 0x11AE8
#define B_BE_PWR_OFST_SW_DB GENMASK(27, 24)

Expand Down

0 comments on commit 155b10a

Please sign in to comment.