qcacmn: Add support for vdev delete response handler

Add support for vdev delete response handler

Change-Id: I7944064857ee2a1c8c8c1dcb739d692a7f463a13
CRs-Fixed: 2149401
This commit is contained in:
Om Prakash Tripathi
2017-11-24 16:53:07 +05:30
committed by snandini
parent 9368d4e645
commit a917863e62
5 changed files with 79 additions and 0 deletions

View File

@@ -1288,6 +1288,19 @@ QDF_STATUS wmi_extract_fips_event_data(void *wmi_hdl, void *evt_buf,
QDF_STATUS wmi_extract_vdev_start_resp(void *wmi_hdl, void *evt_buf,
wmi_host_vdev_start_resp *vdev_rsp);
/**
* wmi_extract_vdev_delete_resp - api to extract vdev delete
* response event params
* @wmi_handle: wma handle
* @evt_buf: pointer to event buffer
* @delele_rsp: pointer to hold delete response from firmware
*
* Return: QDF_STATUS_SUCCESS for successful event parse
* else QDF_STATUS_E_INVAL or QDF_STATUS_E_FAILURE
*/
QDF_STATUS wmi_extract_vdev_delete_resp(void *wmi_hdl, void *evt_buf,
struct wmi_host_vdev_delete_resp *delele_rsp);
QDF_STATUS wmi_extract_tbttoffset_update_params(void *wmi_hdl, void *evt_buf,
uint8_t idx, struct tbttoffset_params *tbtt_param);

View File

@@ -6153,6 +6153,14 @@ typedef struct {
uint32_t cfgd_rx_streams;
} wmi_host_vdev_start_resp;
/**
* struct wmi_host_vdev_delete_resp - VDEV delete response
* @vdev_id: vdev id
*/
struct wmi_host_vdev_delete_resp {
uint32_t vdev_id;
};
/**
* struct wmi_host_roam_event - host roam event param
* @vdev_id: vdev id

View File

@@ -1099,6 +1099,9 @@ QDF_STATUS (*extract_fips_event_data)(wmi_unified_t wmi_handle,
QDF_STATUS (*extract_vdev_start_resp)(wmi_unified_t wmi_handle, void *evt_buf,
wmi_host_vdev_start_resp *vdev_rsp);
QDF_STATUS (*extract_vdev_delete_resp)(wmi_unified_t wmi_handle, void *evt_buf,
struct wmi_host_vdev_delete_resp *delete_rsp);
QDF_STATUS (*extract_tbttoffset_update_params)(void *wmi_hdl, void *evt_buf,
uint8_t idx, struct tbttoffset_params *tbtt_param);

View File

@@ -5241,6 +5241,27 @@ QDF_STATUS wmi_extract_vdev_start_resp(void *wmi_hdl, void *evt_buf,
return QDF_STATUS_E_FAILURE;
}
/**
* wmi_extract_vdev_delete_resp() - extract vdev delete response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param delete_rsp: Pointer to hold vdev delete response
*
* Return: QDF_STATUS_SUCCESS on success and QDF_STATUS_E_FAILURE for failure
*/
QDF_STATUS wmi_extract_vdev_delete_resp(void *wmi_hdl, void *evt_buf,
struct wmi_host_vdev_delete_resp *delete_rsp)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->extract_vdev_delete_resp)
return wmi_handle->ops->extract_vdev_delete_resp(wmi_handle,
evt_buf, delete_rsp);
return QDF_STATUS_E_FAILURE;
}
/**
* wmi_extract_tbttoffset_num_vdevs() - extract tbtt offset num vdev
* @wmi_handle: wmi handle

View File

@@ -16950,6 +16950,39 @@ static QDF_STATUS extract_vdev_start_resp_tlv(wmi_unified_t wmi_handle,
return QDF_STATUS_SUCCESS;
}
/**
* extract_vdev_delete_resp_tlv() - extract vdev delete response
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param delete_rsp: Pointer to hold vdev delete response
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
static QDF_STATUS extract_vdev_delete_resp_tlv(wmi_unified_t wmi_handle,
void *evt_buf, struct wmi_host_vdev_delete_resp *delete_rsp)
{
WMI_VDEV_DELETE_RESP_EVENTID_param_tlvs *param_buf;
wmi_vdev_delete_resp_event_fixed_param *ev;
param_buf = (WMI_VDEV_DELETE_RESP_EVENTID_param_tlvs *) evt_buf;
if (!param_buf) {
WMI_LOGE("Invalid vdev delete response event buffer\n");
return QDF_STATUS_E_INVAL;
}
ev = param_buf->fixed_param;
if (!ev) {
WMI_LOGE("Invalid vdev delete response event\n");
return QDF_STATUS_E_INVAL;
}
qdf_mem_zero(delete_rsp, sizeof(*delete_rsp));
delete_rsp->vdev_id = ev->vdev_id;
return QDF_STATUS_SUCCESS;
}
/**
* extract_tbttoffset_num_vdevs_tlv() - extract tbtt offset num vdev
* @wmi_handle: wmi handle
@@ -20282,6 +20315,7 @@ struct wmi_ops tlv_ops = {
.extract_ready_event_params = extract_ready_event_params_tlv,
.extract_dbglog_data_len = extract_dbglog_data_len_tlv,
.extract_vdev_start_resp = extract_vdev_start_resp_tlv,
.extract_vdev_delete_resp = extract_vdev_delete_resp_tlv,
.extract_tbttoffset_update_params =
extract_tbttoffset_update_params_tlv,
.extract_ext_tbttoffset_update_params =