qcacld-3.0: remove wma_send_time_stamp_sync_cmd

qcacld-2.0 to qcacld-3.0 Propagation.

the wma_send_time_stamp_sync_cmd will not be processed by fw,
so remove this wma_send_time_stamp_sync_cmd.

CRs-Fixed: 2280656
Change-Id: I3aee6e2da4783772ad9acf3fc20c3669829f9397
This commit is contained in:
Ke Huang 2018-11-27 10:53:11 +08:00 committed by nshrivas
parent d517c8e15c
commit ae49ad0d7c
5 changed files with 85 additions and 19 deletions

View File

@ -5098,6 +5098,24 @@ enum hdd_link_speed_rpt_type {
#define CFG_CHANGE_CHANNEL_BANDWIDTH_MAX (1)
#define CFG_CHANGE_CHANNEL_BANDWIDTH_DEFAULT (0)
/*
* <ini>
* gRemoveTimeStampSyncCmd - Enable/Disable to remove time stamp sync cmd
* @Min: 0
* @Max: 1
* @Default: 0
*
* This ini is used to enable/disable the removal of time stamp sync cmd
*
* Usage: External
*
* </ini>
*/
#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_NAME "gRemoveTimeStampSyncCmd"
#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_MIN (0)
#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_MAX (1)
#define CFG_REMOVE_TIME_STAMP_SYNC_CMD_DEFAULT (0)
/*
* Type declarations
*/
@ -5481,6 +5499,7 @@ struct hdd_config {
uint8_t num_vdevs;
uint8_t enable_concurrent_sta[CFG_CONCURRENT_IFACE_MAX_LEN];
uint8_t dbs_scan_selection[CFG_DBS_SCAN_PARAM_LENGTH];
uint8_t remove_time_stamp_sync_cmd;
};
#define VAR_OFFSET(_Struct, _Var) (offsetof(_Struct, _Var))

View File

@ -1434,6 +1434,13 @@ struct reg_table_entry g_registry_table[] = {
CFG_MWS_COEX_5G_NR_PWR_LIMIT_MIN,
CFG_MWS_COEX_5G_NR_PWR_LIMIT_MAX),
#endif
REG_VARIABLE(CFG_REMOVE_TIME_STAMP_SYNC_CMD_NAME, WLAN_PARAM_Integer,
struct hdd_config, remove_time_stamp_sync_cmd,
VAR_FLAGS_OPTIONAL | VAR_FLAGS_RANGE_CHECK_ASSUME_DEFAULT,
CFG_REMOVE_TIME_STAMP_SYNC_CMD_DEFAULT,
CFG_REMOVE_TIME_STAMP_SYNC_CMD_MIN,
CFG_REMOVE_TIME_STAMP_SYNC_CMD_MAX),
};
@ -2753,6 +2760,15 @@ bool hdd_update_config_cfg(struct hdd_context *hdd_ctx)
status = false;
hdd_err("Couldn't pass on WNI_CFG_ENABLE_MCC_ADAPTIVE_SCHED to CFG");
}
if (sme_cfg_set_int(mac_handle,
WNI_CFG_REMOVE_TIME_SYNC_CMD,
config->remove_time_stamp_sync_cmd)
== QDF_STATUS_E_FAILURE) {
status = false;
hdd_err("Couldn't pass on WNI_CFG_REMOVE_TIME_SYNC_CMD to CFG");
}
return status;
}

View File

@ -49,6 +49,7 @@ enum {
WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT,
WNI_CFG_OBSS_DETECTION_OFFLOAD,
WNI_CFG_OBSS_COLOR_COLLISION_OFFLOAD,
WNI_CFG_REMOVE_TIME_SYNC_CMD,
/* Any new items to be added should be above this strictly */
CFG_PARAM_MAX_NUM
};
@ -418,6 +419,10 @@ enum {
#define WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT_STAMAX 255
#define WNI_CFG_PS_WOW_DATA_INACTIVITY_TIMEOUT_STADEF 50
#define WNI_CFG_REMOVE_TIME_SYNC_CMD_STAMIN 0
#define WNI_CFG_REMOVE_TIME_SYNC_CMD_STAMAX 1
#define WNI_CFG_REMOVE_TIME_SYNC_CMD_STADEF 0
#define CFG_STA_MAGIC_DWORD 0xbeefbeef
#endif

View File

@ -142,6 +142,11 @@ cgstatic cfg_static[CFG_PARAM_MAX_NUM] = {
{WNI_CFG_OBSS_COLOR_COLLISION_OFFLOAD,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
0, 1, 0},
{WNI_CFG_REMOVE_TIME_SYNC_CMD,
CFG_CTL_VALID | CFG_CTL_RE | CFG_CTL_WE | CFG_CTL_INT,
WNI_CFG_REMOVE_TIME_SYNC_CMD_STAMIN,
WNI_CFG_REMOVE_TIME_SYNC_CMD_STAMAX,
WNI_CFG_REMOVE_TIME_SYNC_CMD_STADEF},
};

View File

@ -4298,6 +4298,8 @@ QDF_STATUS wma_start(void)
tp_wma_handle wma_handle;
int status;
struct wmi_unified *wmi_handle;
struct mac_context *mac = NULL;
uint32_t cfg_val;
WMA_LOGD("%s: Enter", __func__);
@ -4316,6 +4318,12 @@ QDF_STATUS wma_start(void)
goto end;
}
mac = cds_get_context(QDF_MODULE_ID_PE);
if (!mac) {
WMA_LOGE("%s: Invalid mac context", __func__);
goto end;
}
status = wmi_unified_register_event_handler(wmi_handle,
wmi_roam_event_id,
wma_roam_event_callback,
@ -4455,22 +4463,25 @@ QDF_STATUS wma_start(void)
goto end;
}
if (cds_get_conparam() != QDF_GLOBAL_FTM_MODE) {
/* Initialize firmware time stamp sync timer */
qdf_status =
qdf_mc_timer_init(&wma_handle->wma_fw_time_sync_timer,
QDF_TIMER_TYPE_SW,
wma_send_time_stamp_sync_cmd,
wma_handle);
if (QDF_IS_STATUS_ERROR(qdf_status)) {
WMA_LOGE(FL("Failed to initialize firmware time stamp sync timer"));
goto end;
if (wlan_cfg_get_int(mac, WNI_CFG_REMOVE_TIME_SYNC_CMD,
&cfg_val) == QDF_STATUS_SUCCESS) {
if (cfg_val == 0 && cds_get_conparam() != QDF_GLOBAL_FTM_MODE) {
/* Initialize firmware time stamp sync timer */
qdf_status =
qdf_mc_timer_init(
&wma_handle->wma_fw_time_sync_timer,
QDF_TIMER_TYPE_SW,
wma_send_time_stamp_sync_cmd,
wma_handle);
if (QDF_IS_STATUS_ERROR(qdf_status)) {
WMA_LOGE("Failed to init fw time sync timer");
goto end;
}
/* Start firmware time stamp sync timer */
wma_send_time_stamp_sync_cmd(wma_handle);
}
/* Start firmware time stamp sync timer */
wma_send_time_stamp_sync_cmd(wma_handle);
}
/* Initialize log completion timeout */
qdf_status = qdf_mc_timer_init(&wma_handle->log_completion_timer,
QDF_TIMER_TYPE_SW,
@ -4570,6 +4581,8 @@ QDF_STATUS wma_stop(void)
tp_wma_handle wma_handle;
QDF_STATUS qdf_status = QDF_STATUS_SUCCESS;
int i;
struct mac_context *mac = NULL;
uint32_t cfg_val;
wma_handle = cds_get_context(QDF_MODULE_ID_WMA);
WMA_LOGD("%s: Enter", __func__);
@ -4579,6 +4592,11 @@ QDF_STATUS wma_stop(void)
qdf_status = QDF_STATUS_E_INVAL;
goto end;
}
mac = cds_get_context(QDF_MODULE_ID_PE);
if (!mac) {
WMA_LOGE("%s: Invalid mac context", __func__);
goto end;
}
#ifdef QCA_WIFI_FTM
/*
* Tx mgmt detach requires TXRX context which is not created
@ -4611,12 +4629,15 @@ QDF_STATUS wma_stop(void)
}
}
if (cds_get_conparam() != QDF_GLOBAL_FTM_MODE) {
/* Destroy firmware time stamp sync timer */
qdf_status = qdf_mc_timer_destroy(
if (wlan_cfg_get_int(mac, WNI_CFG_REMOVE_TIME_SYNC_CMD,
&cfg_val) == QDF_STATUS_SUCCESS) {
if (cfg_val == 0 && cds_get_conparam() != QDF_GLOBAL_FTM_MODE) {
/* Destroy firmware time stamp sync timer */
qdf_status = qdf_mc_timer_destroy(
&wma_handle->wma_fw_time_sync_timer);
if (QDF_IS_STATUS_ERROR(qdf_status))
WMA_LOGE(FL("Failed to destroy the fw time sync timer"));
if (QDF_IS_STATUS_ERROR(qdf_status))
WMA_LOGE("Failed to destory fw sync timer");
}
}
qdf_status = wma_tx_detach(wma_handle);