qcacld-3.0: Refactor roam scan offload parameters config

After replace CONFIG_MCL with WLAN_FEATURE_ROAM_OFFLOAD in
struct roam_offload_scan_params, roam_offload_params is only
defined under MACRO WLAN_FEATURE_ROAM_OFFLOAD, any access to
roam_offload_params should be under WLAN_FEATURE_ROAM_OFFLOAD.

Refactor function wma_roam_scan_offload_mode, separate roam scan
offload parameters config to another function.

Change-Id: I3b9306ef3c3ad9c451ffb450df9521cde609bca4
CRs-Fixed: 2367841
This commit is contained in:
Jianmin Zhu 2018-12-17 22:25:44 +08:00 • committed by nshrivas
commit e932fb02f4

View file

@ -285,9 +285,76 @@ static inline void wma_roam_scan_fill_fils_params(
{ }
#endif
/**
* wma_roam_scan_offload_set_params() - Set roam scan offload params
* @wma_handle: pointer to wma context
* @params: pointer to roam scan offload params
* @roam_req: roam request param
*
* Get roam scan offload parameters from roam req and prepare to fill
* WMI_ROAM_SCAN_MODE TLV
*
* Return: None
*/
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
static void wma_roam_scan_offload_set_params(
tp_wma_handle wma_handle,
struct roam_offload_scan_params *params,
tSirRoamOffloadScanReq *roam_req)
{
params->auth_mode = WMI_AUTH_NONE;
if (!roam_req)
return;
params->auth_mode = e_csr_auth_type_to_rsn_authmode
(roam_req->ConnectedNetwork.authentication,
roam_req->ConnectedNetwork.encryption);
WMA_LOGD("%s : auth mode = %d", __func__, params->auth_mode);
params->roam_offload_enabled = roam_req->RoamOffloadEnabled;
params->roam_offload_params.ho_delay_for_rx =
roam_req->ho_delay_for_rx;
params->roam_offload_params.roam_preauth_retry_count =
roam_req->roam_preauth_retry_count;
params->roam_offload_params.roam_preauth_no_ack_timeout =
roam_req->roam_preauth_no_ack_timeout;
params->prefer_5ghz = roam_req->Prefer5GHz;
params->roam_rssi_cat_gap = roam_req->RoamRssiCatGap;
params->select_5ghz_margin = roam_req->Select5GHzMargin;
params->reassoc_failure_timeout =
roam_req->ReassocFailureTimeout;
params->rokh_id_length = roam_req->R0KH_ID_Length;
qdf_mem_copy(params->rokh_id, roam_req->R0KH_ID,
WMI_ROAM_R0KH_ID_MAX_LEN);
qdf_mem_copy(params->krk, roam_req->KRK, WMI_KRK_KEY_LEN);
qdf_mem_copy(params->btk, roam_req->BTK, WMI_BTK_KEY_LEN);
qdf_mem_copy(params->psk_pmk, roam_req->PSK_PMK,
WMI_ROAM_SCAN_PSK_SIZE);
params->pmk_len = roam_req->pmk_len;
params->roam_key_mgmt_offload_enabled =
roam_req->RoamKeyMgmtOffloadEnabled;
wma_roam_scan_fill_self_caps(wma_handle,
&params->roam_offload_params, roam_req);
params->fw_okc = roam_req->pmkid_modes.fw_okc;
params->fw_pmksa_cache = roam_req->pmkid_modes.fw_pmksa_cache;
WMA_LOGD(FL("qos_caps: %d, qos_enabled: %d, ho_delay_for_rx: %d, roam_scan_mode: %d"),
params->roam_offload_params.qos_caps,
params->roam_offload_params.qos_enabled,
params->roam_offload_params.ho_delay_for_rx, params->mode);
WMA_LOGD(FL("roam_preauth_retry_count: %d, roam_preauth_no_ack_timeout: %d"),
params->roam_offload_params.roam_preauth_retry_count,
params->roam_offload_params.roam_preauth_no_ack_timeout);
}
#else
static void wma_roam_scan_offload_set_params(
tp_wma_handle wma_handle,
struct roam_offload_scan_params *params,
tSirRoamOffloadScanReq *roam_req)
{}
#endif
/**
* wma_roam_scan_offload_mode() - send roam scan mode request to fw
* @wma_handle: wma handle
* @wma_handle: pointer to wma context
* @scan_cmd_fp: start scan command ptr
* @roam_req: roam request param
* @mode: mode
@ -311,48 +378,11 @@ QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle,
if (!params)
return QDF_STATUS_E_NOMEM;
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
params->auth_mode = WMI_AUTH_NONE;
if (roam_req)
params->auth_mode = e_csr_auth_type_to_rsn_authmode
(roam_req->ConnectedNetwork.authentication,
roam_req->ConnectedNetwork.encryption);
WMA_LOGD("%s : auth mode = %d", __func__, params->auth_mode);
#endif /* WLAN_FEATURE_ROAM_OFFLOAD */
params->is_roam_req_valid = 0;
params->mode = mode;
params->vdev_id = vdev_id;
if (roam_req) {
params->is_roam_req_valid = 1;
#ifdef WLAN_FEATURE_ROAM_OFFLOAD
params->roam_offload_enabled = roam_req->RoamOffloadEnabled;
params->roam_offload_params.ho_delay_for_rx =
roam_req->ho_delay_for_rx;
params->roam_offload_params.roam_preauth_retry_count =
roam_req->roam_preauth_retry_count;
params->roam_offload_params.roam_preauth_no_ack_timeout =
roam_req->roam_preauth_no_ack_timeout;
params->prefer_5ghz = roam_req->Prefer5GHz;
params->roam_rssi_cat_gap = roam_req->RoamRssiCatGap;
params->select_5ghz_margin = roam_req->Select5GHzMargin;
params->reassoc_failure_timeout =
roam_req->ReassocFailureTimeout;
params->rokh_id_length = roam_req->R0KH_ID_Length;
qdf_mem_copy(params->rokh_id, roam_req->R0KH_ID,
WMI_ROAM_R0KH_ID_MAX_LEN);
qdf_mem_copy(params->krk, roam_req->KRK, WMI_KRK_KEY_LEN);
qdf_mem_copy(params->btk, roam_req->BTK, WMI_BTK_KEY_LEN);
qdf_mem_copy(params->psk_pmk, roam_req->PSK_PMK,
WMI_ROAM_SCAN_PSK_SIZE);
params->pmk_len = roam_req->pmk_len;
params->roam_key_mgmt_offload_enabled =
roam_req->RoamKeyMgmtOffloadEnabled;
wma_roam_scan_fill_self_caps(wma_handle,
&params->roam_offload_params, roam_req);
params->fw_okc = roam_req->pmkid_modes.fw_okc;
params->fw_pmksa_cache = roam_req->pmkid_modes.fw_pmksa_cache;
#endif
params->min_delay_btw_roam_scans =
roam_req->min_delay_btw_roam_scans;
params->roam_trigger_reason_bitmask =
@ -367,19 +397,14 @@ QDF_STATUS wma_roam_scan_offload_mode(tp_wma_handle wma_handle,
wma_roam_scan_fill_fils_params(wma_handle, params, roam_req);
}
WMA_LOGD(FL("qos_caps: %d, qos_enabled: %d, ho_delay_for_rx: %d, roam_scan_mode: %d"),
params->roam_offload_params.qos_caps,
params->roam_offload_params.qos_enabled,
params->roam_offload_params.ho_delay_for_rx, params->mode);
WMA_LOGD(FL("min_delay_btw_roam_scans:%d, roam_tri_reason_bitmask:%d"),
params->min_delay_btw_roam_scans,
params->roam_trigger_reason_bitmask);
WMA_LOGD(FL("roam_preauth_retry_count: %d, roam_preauth_no_ack_timeout: %d"),
params->roam_offload_params.roam_preauth_retry_count,
params->roam_offload_params.roam_preauth_no_ack_timeout);
wma_roam_scan_offload_set_params(
wma_handle,
params,
roam_req);
status = wmi_unified_roam_scan_offload_mode_cmd(wma_handle->wmi_handle,
scan_cmd_fp, params);