qcacmn: Trim scan channel list
As requirement, concurrent mode, station 5G/2G scan need stop when AP connected by peer station. Condition: STA + AP 5G (connected) + AP 2.4G skip 5G scan STA + AP 5G (connected) skip 5G scan STA + AP 2.4G (connected && 2.4G only) skip 2.4G scan Others concurrency skip none Add ini ch_list_trim_conc to enable/disable the feature. Default is disabled. Before send WMI_SCAN_CMD to firmware, call API policy_mgr_scan_trim_chnls_for_connected_ap() to check if need trim scan channel list. Which channel list need be trimmed Change-Id: If4d1cf7347f757fb013ffcb4016e8e6f16859f42 CRs-Fixed: 3075068
Šī revīzija ir iekļauta:

revīziju iesūtīja
Madan Koyyalamudi

vecāks
d93357ef5d
revīzija
b6a3f2fd44
@@ -1066,6 +1066,29 @@ enum scan_mode_6ghz {
|
||||
CFG_VALUE_OR_DEFAULT, \
|
||||
"data inactivity time on bss channel")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gChlistTrimConc - Enable scan list modification on concurrent mode.
|
||||
* @Min: 0
|
||||
* @Max: 1
|
||||
* @Default: 0
|
||||
*
|
||||
* This ini is used to enable/disable scan list modification
|
||||
* on concurrent mode.
|
||||
*
|
||||
* Related: None.
|
||||
*
|
||||
* Supported Feature: Concurrency, Scan
|
||||
*
|
||||
* Usage: Internal/External
|
||||
*
|
||||
* </ini>
|
||||
*/
|
||||
#define CFG_CHAN_LIST_TRIM_CONC CFG_INI_BOOL(\
|
||||
"ch_list_trim_conc",\
|
||||
false, \
|
||||
"Enable scan list trim")
|
||||
|
||||
/*
|
||||
* <ini>
|
||||
* gEnableMacAddrSpoof - Enable mac address randomization feature.
|
||||
@@ -1438,6 +1461,7 @@ enum scan_mode_6ghz {
|
||||
CFG(CFG_MAX_REST_TIME_CONC) \
|
||||
CFG(CFG_MIN_REST_TIME_CONC) \
|
||||
CFG(CFG_IDLE_TIME_CONC) \
|
||||
CFG(CFG_CHAN_LIST_TRIM_CONC) \
|
||||
CFG(CFG_ENABLE_MAC_ADDR_SPOOFING) \
|
||||
CFG(CFG_SCAN_AGING_TIME) \
|
||||
CFG(CFG_ADAPTIVE_EXTSCAN_DWELL_MODE) \
|
||||
|
@@ -1606,4 +1606,16 @@ struct rnr_chan_weight {
|
||||
enum scan_phy_mode phymode;
|
||||
enum scan_flags flags;
|
||||
};
|
||||
|
||||
/**
|
||||
* trim_channel_list - which channel list need trim
|
||||
* @TRIM_CHANNEL_LIST_NONE: no channel need trim
|
||||
* @TRIM_CHANNEL_LIST_5G: 5G channel need trim
|
||||
* @TRIM_CHANNEL_LIST_24G: 2.4G channel need trim
|
||||
*/
|
||||
enum trim_channel_list {
|
||||
TRIM_CHANNEL_LIST_NONE,
|
||||
TRIM_CHANNEL_LIST_5G,
|
||||
TRIM_CHANNEL_LIST_24G,
|
||||
};
|
||||
#endif
|
||||
|
@@ -734,6 +734,8 @@ wlan_scan_global_init(struct wlan_objmgr_psoc *psoc,
|
||||
cfg_get(psoc, CFG_MIN_REST_TIME_CONC);
|
||||
scan_obj->scan_def.conc_idle_time =
|
||||
cfg_get(psoc, CFG_IDLE_TIME_CONC);
|
||||
scan_obj->scan_def.conc_chlist_trim =
|
||||
cfg_get(psoc, CFG_CHAN_LIST_TRIM_CONC);
|
||||
scan_obj->scan_def.repeat_probe_time =
|
||||
cfg_get(psoc, CFG_SCAN_PROBE_REPEAT_TIME);
|
||||
scan_obj->scan_def.probe_spacing_time = SCAN_PROBE_SPACING_TIME;
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user