qcacld-3.0: Add the ini gTDLSDiscoveryWakeTimeout

Add the support for the ini gTDLSDiscoveryWakeTimeout.
with this ini gTDLSDiscoveryWakeTimeout, FW will be awake
for configured value after sending the discovery request.

Change-Id: I194e5c99972968bbaa46ffb6b8e83604bff15a0a
CRs-Fixed: 2546515
This commit is contained in:
Bala Venkatesh
2019-11-04 12:41:06 +05:30
committed by nshrivas
parent e5fe7adfe4
commit ff86f89448
4 changed files with 39 additions and 2 deletions

View File

@@ -804,7 +804,7 @@ static void tdls_state_param_setting_dump(struct tdls_info *info)
if (!info)
return;
tdls_debug("Setting tdls state and param in fw: vdev_id: %d, tdls_state: %d, notification_interval_ms: %d, tx_discovery_threshold: %d, tx_teardown_threshold: %d, rssi_teardown_threshold: %d, rssi_delta: %d, tdls_options: 0x%x, peer_traffic_ind_window: %d, peer_traffic_response_timeout: %d, puapsd_mask: 0x%x, puapsd_inactivity_time: %d, puapsd_rx_frame_threshold: %d, teardown_notification_ms: %d, tdls_peer_kickout_threshold: %d",
tdls_debug("Setting tdls state and param in fw: vdev_id: %d, tdls_state: %d, notification_interval_ms: %d, tx_discovery_threshold: %d, tx_teardown_threshold: %d, rssi_teardown_threshold: %d, rssi_delta: %d, tdls_options: 0x%x, peer_traffic_ind_window: %d, peer_traffic_response_timeout: %d, puapsd_mask: 0x%x, puapsd_inactivity_time: %d, puapsd_rx_frame_threshold: %d, teardown_notification_ms: %d, tdls_peer_kickout_threshold: %d, tdls_discovery_wake_timeout: %d",
info->vdev_id,
info->tdls_state,
info->notification_interval_ms,
@@ -819,7 +819,8 @@ static void tdls_state_param_setting_dump(struct tdls_info *info)
info->puapsd_inactivity_time,
info->puapsd_rx_frame_threshold,
info->teardown_notification_ms,
info->tdls_peer_kickout_threshold);
info->tdls_peer_kickout_threshold,
info->tdls_discovery_wake_timeout);
}
@@ -1208,6 +1209,8 @@ void tdls_send_update_to_fw(struct tdls_vdev_priv_obj *tdls_vdev_obj,
tdls_soc_obj->tdls_configs.tdls_idle_timeout;
tdls_info_to_fw->tdls_peer_kickout_threshold =
tdls_soc_obj->tdls_configs.tdls_peer_kickout_threshold;
tdls_info_to_fw->tdls_discovery_wake_timeout =
tdls_soc_obj->tdls_configs.tdls_discovery_wake_timeout;
tdls_state_param_setting_dump(tdls_info_to_fw);

View File

@@ -625,6 +625,33 @@
96, \
CFG_VALUE_OR_DEFAULT, \
"TDLS peer kick out threshold to firmware")
/*
* <ini>
* gTDLSDiscoveryWakeTimeout - TDLS discovery WAKE timeout in ms.
* @Min: 10
* @Max: 5000
* @Default: 96
*
* DUT will wake until this timeout to receive TDLS discovery response
* from peer. If tdls_discovery_wake_timeout is 0x0, the DUT will
* choose autonomously what wake timeout value to use.
*
*
* Related: gEnableTDLSSupport.
*
* Supported Feature: TDLS
*
* Usage: External
*
* </ini>
*/
#define CFG_TDLS_DISCOVERY_WAKE_TIMEOUT CFG_INI_UINT( \
"gTDLSDiscoveryWakeTimeout", \
0, \
2000, \
200, \
CFG_VALUE_OR_DEFAULT, \
"TDLS peer kick out threshold to firmware")
/*
* <ini>
@@ -676,6 +703,7 @@
CFG(CFG_TDLS_WMM_MODE_ENABLE) \
CFG(CFG_TDLS_SCAN_ENABLE) \
CFG(CFG_TDLS_PEER_KICKOUT_THRESHOLD) \
CFG(CFG_TDLS_DISCOVERY_WAKE_TIMEOUT) \
CFG(CFG_TDLS_ENABLE_DEFER_TIMER)
#endif

View File

@@ -455,6 +455,7 @@ enum tdls_feature_bit {
* @tdls_pre_off_chan_num: tdls off channel number
* @tdls_pre_off_chan_bw: tdls off channel bandwidth
* @tdls_peer_kickout_threshold: sta kickout threshold for tdls peer
* @tdls_discovery_wake_timeout: tdls discovery wake timeout
* @delayed_trig_framint: delayed trigger frame interval
* @tdls_vdev_nss_2g: tdls NSS setting for 2G band
* @tdls_vdev_nss_5g: tdls NSS setting for 5G band
@@ -485,6 +486,7 @@ struct tdls_user_config {
uint32_t tdls_pre_off_chan_num;
uint32_t tdls_pre_off_chan_bw;
uint32_t tdls_peer_kickout_threshold;
uint32_t tdls_discovery_wake_timeout;
uint32_t delayed_trig_framint;
uint8_t tdls_vdev_nss_2g;
uint8_t tdls_vdev_nss_5g;
@@ -826,6 +828,7 @@ struct tdls_oper_config_force_peer_request {
* @teardown_notification_ms: tdls teardown notification interval
* @tdls_peer_kickout_threshold: tdls packets threshold
* for peer kickout operation
* @tdls_discovery_wake_timeout: tdls discovery wake timeout
*/
struct tdls_info {
uint32_t vdev_id;
@@ -843,6 +846,7 @@ struct tdls_info {
uint32_t puapsd_rx_frame_threshold;
uint32_t teardown_notification_ms;
uint32_t tdls_peer_kickout_threshold;
uint32_t tdls_discovery_wake_timeout;
};
/**

View File

@@ -200,6 +200,8 @@ static QDF_STATUS tdls_object_init_params(
cfg_get(psoc, CFG_TDLS_PREFERRED_OFF_CHANNEL_BW);
tdls_soc_obj->tdls_configs.tdls_peer_kickout_threshold =
cfg_get(psoc, CFG_TDLS_PEER_KICKOUT_THRESHOLD);
tdls_soc_obj->tdls_configs.tdls_discovery_wake_timeout =
cfg_get(psoc, CFG_TDLS_DISCOVERY_WAKE_TIMEOUT);
tdls_soc_obj->tdls_configs.delayed_trig_framint =
cfg_get(psoc, CFG_TL_DELAYED_TRGR_FRM_INTERVAL);
tdls_soc_obj->tdls_configs.tdls_wmm_mode_enable =