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:

committed by
snandini

parent
9368d4e645
commit
a917863e62
@@ -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);
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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);
|
||||
|
||||
|
@@ -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
|
||||
|
@@ -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 =
|
||||
|
Reference in New Issue
Block a user