wifi: rtw89: debug: disable inactive power save to reduce bus overhead

This helps avoid excessive bus traffic and I/O overhead on
slower HCIs (e.g., USB, SDIO) caused by frequent power state
transitions.

Add RTW89_DM_INACTIVE_PS to the disabled_dm bitmap via debugfs and
check it in the rtw89_enter_ips path. When set, the driver skips
entering inactive power save and returns immediately.

Signed-off-by: Johnson Tsai <wenjie.tsai@realtek.com>
Signed-off-by: Ping-Ke Shih <pkshih@realtek.com>
Link: https://patch.msgid.link/20260420034051.17666-5-pkshih@realtek.com
This commit is contained in:
Johnson Tsai 2026-04-20 11:40:39 +08:00 committed by Ping-Ke Shih
parent 3da737c777
commit bd2d1abf74
3 changed files with 8 additions and 0 deletions

View File

@ -5179,6 +5179,7 @@ enum rtw89_dm_type {
RTW89_DM_TAS,
RTW89_DM_MLO,
RTW89_DM_HW_SCAN,
RTW89_DM_INACTIVE_PS,
};
#define RTW89_THERMAL_PROT_LV_MAX 5

View File

@ -4348,6 +4348,7 @@ static const struct rtw89_disabled_dm_info {
DM_INFO(TAS),
DM_INFO(MLO),
DM_INFO(HW_SCAN),
DM_INFO(INACTIVE_PS),
};
static ssize_t

View File

@ -234,8 +234,14 @@ void rtw89_enter_ips(struct rtw89_dev *rtwdev)
{
struct rtw89_vif_link *rtwvif_link;
struct rtw89_vif *rtwvif;
struct rtw89_hal *hal = &rtwdev->hal;
unsigned int link_id;
if (hal->disabled_dm_bitmap & BIT(RTW89_DM_INACTIVE_PS)) {
rtw89_debug(rtwdev, RTW89_DBG_PS, "skip enter IPS due to disabled_dm\n");
return;
}
set_bit(RTW89_FLAG_INACTIVE_PS, rtwdev->flags);
if (!test_bit(RTW89_FLAG_POWERON, rtwdev->flags))