Skip to content

Commit c6989fd

Browse files
Arend Van SprielKalle Valo
authored andcommitted
brcmfmac: use requested scan interval in scheduled scan
User-space can specify the interval for the scheduled scan. This interval is found in scheduled scan plan. The driver supports only one plan, which is legacy behaviour. Reviewed-by: Hante Meuleman <hante.meuleman@broadcom.com> Reviewed-by: Pieter-Paul Giesberts <pieter-paul.giesberts@broadcom.com> Reviewed-by: Franky Lin <franky.lin@broadcom.com> Signed-off-by: Arend van Spriel <arend.vanspriel@broadcom.com> Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
1 parent dfe5b0d commit c6989fd

File tree

3 files changed

+10
-3
lines changed

3 files changed

+10
-3
lines changed

drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6312,6 +6312,7 @@ static void brcmf_wiphy_pno_params(struct wiphy *wiphy)
63126312
wiphy->max_sched_scan_ssids = BRCMF_PNO_MAX_PFN_COUNT;
63136313
wiphy->max_match_sets = BRCMF_PNO_MAX_PFN_COUNT;
63146314
wiphy->max_sched_scan_ie_len = BRCMF_SCAN_IE_LEN_MAX;
6315+
wiphy->max_sched_scan_plan_interval = BRCMF_PNO_SCHED_SCAN_MAX_PERIOD;
63156316
wiphy->flags |= WIPHY_FLAG_SUPPORTS_SCHED_SCAN;
63166317
}
63176318

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,10 @@ static int brcmf_pno_config(struct brcmf_if *ifp, u32 scan_freq,
6363
pfn_param.exp = BRCMF_PNO_FREQ_EXPO_MAX;
6464

6565
/* set up pno scan fr */
66+
if (scan_freq < BRCMF_PNO_SCHED_SCAN_MIN_PERIOD) {
67+
brcmf_dbg(SCAN, "scan period too small, using minimum\n");
68+
scan_freq = BRCMF_PNO_SCHED_SCAN_MIN_PERIOD;
69+
}
6670
pfn_param.scan_freq = cpu_to_le32(scan_freq);
6771

6872
if (mscan) {
@@ -191,7 +195,7 @@ int brcmf_pno_start_sched_scan(struct brcmf_if *ifp,
191195
}
192196

193197
/* configure pno */
194-
ret = brcmf_pno_config(ifp, BRCMF_PNO_SCHED_SCAN_PERIOD, 0, 0);
198+
ret = brcmf_pno_config(ifp, req->scan_plans[0].interval, 0, 0);
195199
if (ret < 0)
196200
return ret;
197201

drivers/net/wireless/broadcom/brcm80211/brcmfmac/pno.h

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@
1616
#ifndef _BRCMF_PNO_H
1717
#define _BRCMF_PNO_H
1818

19-
#define BRCMF_PNO_SCAN_COMPLETE 1
20-
#define BRCMF_PNO_MAX_PFN_COUNT 16
19+
#define BRCMF_PNO_SCAN_COMPLETE 1
20+
#define BRCMF_PNO_MAX_PFN_COUNT 16
21+
#define BRCMF_PNO_SCHED_SCAN_MIN_PERIOD 10
22+
#define BRCMF_PNO_SCHED_SCAN_MAX_PERIOD 508
2123

2224
/**
2325
* brcmf_pno_clean - disable and clear pno in firmware.

0 commit comments

Comments
 (0)