summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChin-Yen Lee <timlee@realtek.com>2024-08-26 12:04:39 +0300
committerPing-Ke Shih <pkshih@realtek.com>2024-09-02 04:15:02 +0300
commit30ce797d4654015c179a8909ef6945f0c0d64e7e (patch)
treeadd607c8ea134d8355915a1c4ceeb4de3cc9264c
parent1de40069417e0f2b9779eb4781fb4852f3d87680 (diff)
downloadlinux-30ce797d4654015c179a8909ef6945f0c0d64e7e.tar.xz
wifi: rtw89: wow: add scan interval option for net-detect
The scan interval option is the period in unit of second for WoWLAN firmware to do each scan. We get the option from cfg80211 and practice it. If the interval is too short for firmware to finish one scan, the firmware will start next scan immediately after finishing one and the WiFi chip could never enter idle mode to reduce power consumption. Signed-off-by: Chin-Yen Lee <timlee@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20240826090439.17242-5-pkshih@realtek.com
-rw-r--r--drivers/net/wireless/realtek/rtw89/wow.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/wireless/realtek/rtw89/wow.c b/drivers/net/wireless/realtek/rtw89/wow.c
index 0f0f4beec4d9..86e24e07780d 100644
--- a/drivers/net/wireless/realtek/rtw89/wow.c
+++ b/drivers/net/wireless/realtek/rtw89/wow.c
@@ -1438,6 +1438,7 @@ static int rtw89_pno_scan_offload(struct rtw89_dev *rtwdev, bool enable)
struct rtw89_wow_param *rtw_wow = &rtwdev->wow;
struct ieee80211_vif *wow_vif = rtw_wow->wow_vif;
struct rtw89_vif *rtwvif = (struct rtw89_vif *)wow_vif->drv_priv;
+ int interval = rtw_wow->nd_config->scan_plans[0].interval;
struct rtw89_scan_option opt = {};
int ret;
@@ -1457,7 +1458,7 @@ static int rtw89_pno_scan_offload(struct rtw89_dev *rtwdev, bool enable)
opt.enable = enable;
opt.repeat = RTW89_SCAN_NORMAL;
- opt.norm_pd = 10; /* in unit of 100ms */
+ opt.norm_pd = max(interval, 1) * 10; /* in unit of 100ms */
opt.delay = max(rtw_wow->nd_config->delay, 1);
if (rtwdev->chip->chip_gen == RTW89_CHIP_BE) {