qcacld-3.0: Allow dwell time for PNO scan control through config.ini

This is qcacld-2.0 to qcacld-3.0 propagation

Currently dwell time for PNO scan is passed as 0 to FW irrespective of
values set in config.ini. This patch allows active/passive dwell time
for PNO scan to be controlled by config.ini param.

Change-Id: I5562ed7e176af04ac8f38aa5af97257b9244cdc1
CRs-Fixed: 922054
This commit is contained in:
Naveen Rawat 2015-11-13 06:57:32 -08:00 • committed by Satish Singh
commit cf7d2d56b0
3 changed files with 31 additions and 0 deletions

View file

@ -2746,6 +2746,11 @@ typedef struct sSirPNOScanReq {
tSirScanTimersType scanTimers;
uint8_t sessionId;
uint32_t active_min_time;
uint32_t active_max_time;
uint32_t passive_min_time;
uint32_t passive_max_time;
uint16_t us24GProbeTemplateLen;
uint8_t p24GProbeTemplate[SIR_PNO_MAX_PB_REQ_SIZE];
uint16_t us5GProbeTemplateLen;

View file

@ -907,6 +907,28 @@ CDF_STATUS sme_set_ps_preferred_network_list(tHalHandle hal_ctx,
request_buf->sessionId = session_id;
}
sme_set_pno_channel_prediction(request_buf, mac_ctx);
if (csr_is_p2p_session_connected(mac_ctx)) {
/* if AP-STA concurrency is active */
request_buf->active_max_time =
mac_ctx->roam.configParam.nActiveMaxChnTimeConc;
request_buf->active_min_time =
mac_ctx->roam.configParam.nActiveMinChnTimeConc;
request_buf->passive_max_time =
mac_ctx->roam.configParam.nPassiveMaxChnTimeConc;
request_buf->passive_min_time =
mac_ctx->roam.configParam.nPassiveMinChnTimeConc;
} else {
request_buf->active_max_time =
mac_ctx->roam.configParam.nActiveMaxChnTime;
request_buf->active_min_time =
mac_ctx->roam.configParam.nActiveMinChnTime;
request_buf->passive_max_time =
mac_ctx->roam.configParam.nPassiveMaxChnTime;
request_buf->passive_min_time =
mac_ctx->roam.configParam.nPassiveMinChnTime;
}
msg.type = WMA_SET_PNO_REQ;
msg.reserved = 0;
msg.bodyptr = request_buf;

View file

@ -3527,6 +3527,10 @@ CDF_STATUS wma_pno_start(tp_wma_handle wma, tpSirPNOScanReq pno)
cmd->vdev_id = pno->sessionId;
cmd->flags = WMI_NLO_CONFIG_START | WMI_NLO_CONFIG_SSID_HIDE_EN;
/* Current FW does not support min-max range for dwell time */
cmd->active_dwell_time = pno->active_max_time;
cmd->passive_dwell_time = pno->passive_max_time;
/* Copy scan interval */
if (pno->scanTimers.ucScanTimersCount) {
cmd->fast_scan_period =