qcacld-3.0: Add support for new ini param RoamScan_FirstTimer

Add support for new ini param RoamScan_FirstTimer. This param
is similar to the existing gEmptyScanRefreshPeriod but units
change

Change-Id: If250ba41d71ef20c7365af2c90550b3b575d285c
CRs-Fixed: 3016232
这个提交包含在:
Jyoti Kumari
2021-08-18 00:16:41 +05:30
提交者 Madan Koyyalamudi
父节点 009da9e836
当前提交 078acbe78e
修改 6 个文件,包含 78 行新增17 行删除

查看文件

@@ -1880,6 +1880,7 @@ static void mlme_init_lfr_cfg(struct wlan_objmgr_psoc *psoc,
struct wlan_mlme_lfr_cfg *lfr)
{
qdf_size_t neighbor_scan_chan_list_num = 0;
bool val = false;
lfr->mawc_roam_enabled =
cfg_get(psoc, CFG_LFR_MAWC_ROAM_ENABLED);
@@ -1992,8 +1993,14 @@ static void mlme_init_lfr_cfg(struct wlan_objmgr_psoc *psoc,
cfg_get(psoc, CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME);
lfr->neighbor_scan_results_refresh_period =
cfg_get(psoc, CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD);
lfr->empty_scan_refresh_period =
cfg_get(psoc, CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD);
ucfg_mlme_get_connection_roaming_ini_present(psoc, &val);
if (val)
lfr->empty_scan_refresh_period =
cfg_get(psoc, CFG_ROAM_SCAN_FIRST_TIMER) * 1000;
else
lfr->empty_scan_refresh_period =
cfg_get(psoc, CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD);
lfr->roam_bmiss_first_bcnt =
cfg_get(psoc, CFG_LFR_ROAM_BMISS_FIRST_BCNT);
lfr->roam_bmiss_final_bcnt =

查看文件

@@ -1621,6 +1621,32 @@
CFG_VALUE_OR_DEFAULT, \
"Empty scan refresh period")
/*
* <ini>
* RoamScan_FirstTimer - Set empty scan refresh period
* @Min: 0
* @Max: 20
* @Default: 10
*
* This ini is used by firmware to set scan period in secs
* following empty scan results.
*
* Related: None
*
* Supported Feature: LFR Scan
*
* Usage: External
*
* </ini>
*/
#define CFG_ROAM_SCAN_FIRST_TIMER CFG_INI_UINT( \
"RoamScan_FirstTimer", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"Empty scan refresh period")
/*
* <ini>
* gRoamBmissFirstBcnt - Beacon miss count to trigger 1st bmiss event
@@ -2950,6 +2976,7 @@
CFG(CFG_LFR_NEIGHBOR_SCAN_MAX_CHAN_TIME) \
CFG(CFG_LFR_NEIGHBOR_SCAN_RESULTS_REFRESH_PERIOD) \
CFG(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD) \
CFG(CFG_ROAM_SCAN_FIRST_TIMER) \
CFG(CFG_LFR_ROAM_BMISS_FIRST_BCNT) \
CFG(CFG_LFR_ROAM_BMISS_FINAL_BCNT) \
CFG(CFG_LFR_ROAMING_DFS_CHANNEL) \

查看文件

@@ -4307,11 +4307,13 @@ bool ucfg_mlme_validate_full_roam_scan_period(uint32_t full_roam_scan_period);
/**
* ucfg_mlme_validate_scan_period() - Validate if scan period is in valid range
* @value: Scan period in msec
* @psoc: Pointer to soc
* @roam_scan_period: Scan period in msec
*
* Return: True if roam_scan_period is in expected range, false otherwise.
*/
bool ucfg_mlme_validate_scan_period(uint32_t roam_scan_period);
bool ucfg_mlme_validate_scan_period(struct wlan_objmgr_psoc *psoc,
uint32_t roam_scan_period);
/**
* ucfg_mlme_get_ignore_fw_reg_offload_ind() - Get the
* ignore_fw_reg_offload_ind ini

查看文件

@@ -1782,16 +1782,24 @@ bool ucfg_mlme_validate_full_roam_scan_period(uint32_t full_roam_scan_period)
return is_valid;
}
bool ucfg_mlme_validate_scan_period(uint32_t roam_scan_period)
bool ucfg_mlme_validate_scan_period(struct wlan_objmgr_psoc *psoc,
uint32_t roam_scan_period)
{
bool is_valid = true;
bool is_valid = true, val = false;
if (!cfg_in_range(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD,
roam_scan_period)) {
mlme_legacy_err("Roam scan period value %d msec is out of range (Min: %d msec Max: %d msec)",
roam_scan_period,
cfg_min(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD),
cfg_max(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD));
ucfg_mlme_get_connection_roaming_ini_present(psoc, &val);
if (val)
mlme_legacy_err("Roam scan period value %d msec is out of range (Min: %d msec Max: %d msec)",
roam_scan_period,
cfg_min(CFG_ROAM_SCAN_FIRST_TIMER) * 1000,
cfg_max(CFG_ROAM_SCAN_FIRST_TIMER) * 1000);
else
mlme_legacy_err("Roam scan period value %d msec is out of range (Min: %d msec Max: %d msec)",
roam_scan_period,
cfg_min(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD),
cfg_max(CFG_LFR_EMPTY_SCAN_REFRESH_PERIOD));
is_valid = false;
}