qcacld-3.0: Add bmiss timeout vdev set params

Currently host sends first, final bmiss count to fw

Add support for bmiss timeout(in seconds)
during wakeup as well as sleep state to fw.

Change-Id: Id748fabdff94f5fa3038bcea1b1cac733ac2dbe1
CRs-Fixed: 3224106
This commit is contained in:
Divyajyothi Goparaju
2022-06-13 13:02:51 +05:30
committed by Madan Koyyalamudi
parent 3c29f9b31f
commit 8515cfbc5a
8 changed files with 214 additions and 1 deletions

View File

@@ -1696,6 +1696,59 @@
CFG_VALUE_OR_DEFAULT, \
"Final beacon miss count")
/*
* <ini>
* BeaconLoss_TimeoutOnWakeUp - Consecutive Beaconloss timeout on wakeup to
* trigger timeout
* @Min: 0
* @Max: 20
* @Default: 6
*
* This ini is used to control the beacon miss timeout when the system is awake.
* On the timeout, BMISS event will be triggered by FW.
* The units of this timeout is in seconds.
*
* Related: None
*
* Usage: External
*
* </ini>
*/
#define CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP CFG_INI_UINT( \
"ConBeaconLoss_TimeoutOnWakeUp", \
0, \
20, \
6, \
CFG_VALUE_OR_DEFAULT, \
"ConBeaconloss timeout on wakeup")
/*
* <ini>
* BeaconLoss_TimeoutOnSleep - Consecutive Beaconloss timeout on sleep to
* trigger timeout
* @Min: 0
* @Max: 20
* @Default: 10
*
* This ini is used to control the beacon miss timeout
* when the system is in sleep.
* On the timeout, BMISS event will be triggered by FW.
* The units of this timeout is in seconds.
*
* Related: None
*
* Usage: External
*
* </ini>
*/
#define CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP CFG_INI_UINT( \
"ConBeaconLoss_TimeoutOnSleep", \
0, \
20, \
10, \
CFG_VALUE_OR_DEFAULT, \
"ConBeaconloss timeout on sleep")
/*
* <ini>
* gAllowDFSChannelRoam - Allow dfs channel in roam
@@ -3105,6 +3158,8 @@
LFR_ESE_ALL \
LFR_SUBNET_DETECTION_ALL \
SAE_SINGLE_PMK_ALL \
ROAM_REASON_VSIE_ALL
ROAM_REASON_VSIE_ALL \
CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_WAKEUP) \
CFG(CFG_LFR_BEACONLOSS_TIMEOUT_ON_SLEEP)
#endif /* CFG_MLME_LFR_H__ */

View File

@@ -3120,6 +3120,28 @@ QDF_STATUS
wlan_mlme_get_roam_bmiss_first_bcnt(struct wlan_objmgr_psoc *psoc,
uint8_t *val);
/**
* wlan_mlme_get_bmiss_timeout_on_wakeup() - Get bmiss timeout
* @psoc: pointer to psoc object
* @val: Pointer to the value which will be filled for the caller
*
* Return: QDF Status
*/
QDF_STATUS
wlan_mlme_get_bmiss_timeout_on_wakeup(struct wlan_objmgr_psoc *psoc,
uint8_t *val);
/**
* wlan_mlme_get_bmiss_timeout_on_sleep() - Get roam conbmiss timeout
* @psoc: pointer to psoc object
* @val: Pointer to the value which will be filled for the caller
*
* Return: QDF Status
*/
QDF_STATUS
wlan_mlme_get_bmiss_timeout_on_sleep(struct wlan_objmgr_psoc *psoc,
uint8_t *val);
/**
* wlan_mlme_adaptive_11r_enabled() - check if adaptive 11r feature is enaled
* or not

View File

@@ -1872,6 +1872,10 @@ struct fw_scan_channels {
* @sae_single_pmk_feature_enabled: Contains value of ini
* sae_single_pmk_feature_enabled
* @rso_user_config: RSO user config
* @beaconloss_timeout_onwakeup: time in sec to configure FW BMISS event
* during wakeup.
* @beaconloss_timeout_onsleep: time in sec to configure FW BMISS event
* during sleep.
*/
struct wlan_mlme_lfr_cfg {
bool mawc_roam_enabled;
@@ -1991,6 +1995,8 @@ struct wlan_mlme_lfr_cfg {
#endif
struct rso_config_params rso_user_config;
bool enable_ft_over_ds;
uint8_t beaconloss_timeout_onwakeup;
uint8_t beaconloss_timeout_onsleep;
};
/**