Skip to content

Commit

Permalink
wifi: rtw89: call tx_wake notify for 8852c in deep ps mode
Browse files Browse the repository at this point in the history
8852c transmits packets with slow response in deep ps mode,
and lead to low throughput. We need to call tx_wake for
each pakcet to trigger firmware wake earlier to avoid it.

Signed-off-by: Chin-Yen Lee <timlee@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Signed-off-by: Kalle Valo <kvalo@kernel.org>
Link: https://lore.kernel.org/r/20220908051257.25353-8-pkshih@realtek.com
  • Loading branch information
Chin-Yen Lee authored and Kalle Valo committed Sep 12, 2022
1 parent 183c8ef commit 5abbb68
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
5 changes: 4 additions & 1 deletion drivers/net/wireless/realtek/rtw89/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -768,13 +768,16 @@ static void
rtw89_core_tx_wake(struct rtw89_dev *rtwdev,
struct rtw89_core_tx_request *tx_req)
{
const struct rtw89_chip_info *chip = rtwdev->chip;

if (!RTW89_CHK_FW_FEATURE(TX_WAKE, &rtwdev->fw))
return;

if (!test_bit(RTW89_FLAG_LOW_POWER_MODE, rtwdev->flags))
return;

if (tx_req->tx_type != RTW89_CORE_TX_TYPE_MGMT)
if (chip->chip_id != RTL8852C &&
tx_req->tx_type != RTW89_CORE_TX_TYPE_MGMT)
return;

rtw89_mac_notify_wake(rtwdev);
Expand Down
1 change: 1 addition & 0 deletions drivers/net/wireless/realtek/rtw89/fw.c
Original file line number Diff line number Diff line change
Expand Up @@ -226,6 +226,7 @@ static const struct __fw_feat_cfg fw_feat_tbl[] = {
__CFG_FW_FEAT(RTL8852A, ge, 0, 13, 35, 0, TX_WAKE),
__CFG_FW_FEAT(RTL8852A, ge, 0, 13, 36, 0, CRASH_TRIGGER),
__CFG_FW_FEAT(RTL8852C, le, 0, 27, 33, 0, NO_DEEP_PS),
__CFG_FW_FEAT(RTL8852C, ge, 0, 27, 34, 0, TX_WAKE),
};

static void rtw89_fw_recognize_features(struct rtw89_dev *rtwdev)
Expand Down

0 comments on commit 5abbb68

Please sign in to comment.