qcacmn: Add extract API for UTF event to support TLV and Non-TLV targets

Add extract API for handling UTF event data received from the target
for both TLV and non-TLV cases.

Change-Id: I62525d7c8663fe90e0e3e76cf5286bb9dc86acd0
CRs-Fixed: 1115293
这个提交包含在:
Sathish Kumar
2017-01-24 17:51:26 +05:30
提交者 qcabuildsw
父节点 2b1b0d2492
当前提交 27ee0a3450
修改 3 个文件,包含 63 行新增0 行删除

查看文件

@@ -6560,3 +6560,26 @@ QDF_STATUS wmi_extract_reg_cap_service_ready_ext(
return QDF_STATUS_E_FAILURE;
}
/**
* wmi_extract_pdev_utf_event() -
* extract UTF data from pdev utf event
* @wmi_handle: wmi handle
* @param evt_buf: pointer to event buffer
* @param param: Pointer to hold evt buf
*
* Return: QDF_STATUS_SUCCESS for success or error code
*/
QDF_STATUS wmi_extract_pdev_utf_event(void *wmi_hdl,
uint8_t *evt_buf,
struct wmi_host_pdev_utf_event *param)
{
wmi_unified_t wmi_handle = (wmi_unified_t) wmi_hdl;
if (wmi_handle->ops->extract_pdev_utf_event)
return wmi_handle->ops->extract_pdev_utf_event(
wmi_handle,
evt_buf, param);
return QDF_STATUS_E_FAILURE;
}

查看文件

@@ -7846,6 +7846,24 @@ static QDF_STATUS extract_atf_token_info_ev_non_tlv(
return QDF_STATUS_SUCCESS;
}
/**
* extract_pdev_utf_event_non_tlv() - extract UTF data info from event
* @wmi_handle: WMI handle
* @param evt_buf: Pointer to event buffer
* @param param: Pointer to hold data
*
* Return : QDF_STATUS_SUCCESS for success or error code
*/
static QDF_STATUS extract_pdev_utf_event_non_tlv(
wmi_unified_t wmi_handle,
uint8_t *evt_buf,
struct wmi_host_pdev_utf_event *event)
{
event->data = evt_buf;
return QDF_STATUS_SUCCESS;
}
#ifdef WMI_INTERFACE_EVENT_LOGGING
static bool is_management_record_non_tlv(uint32_t cmd_id)
{
@@ -8087,6 +8105,7 @@ struct wmi_ops non_tlv_ops = {
.extract_mu_db_entry = extract_mu_db_entry_non_tlv,
.extract_atf_peer_stats_ev = extract_atf_peer_stats_ev_non_tlv,
.extract_atf_token_info_ev = extract_atf_token_info_ev_non_tlv,
.extract_pdev_utf_event = extract_pdev_utf_event_non_tlv,
.wmi_set_htc_tx_tag = wmi_set_htc_tx_tag_non_tlv,
};

查看文件

@@ -12774,6 +12774,26 @@ static QDF_STATUS extract_chan_info_event_tlv(wmi_unified_t wmi_handle,
return QDF_STATUS_SUCCESS;
}
/**
* extract_pdev_utf_event_tlv() - extract UTF data info from event
* @wmi_handle: WMI handle
* @param evt_buf: Pointer to event buffer
* @param param: Pointer to hold data
*
* Return : QDF_STATUS_SUCCESS for success or error code
*/
static QDF_STATUS extract_pdev_utf_event_tlv(wmi_unified_t wmi_handle,
uint8_t *evt_buf,
struct wmi_host_pdev_utf_event *event)
{
WMI_PDEV_UTF_EVENTID_param_tlvs *param_buf;
param_buf = (WMI_PDEV_UTF_EVENTID_param_tlvs *)evt_buf;
event->data = param_buf->data;
event->datalen = param_buf->num_data;
return QDF_STATUS_SUCCESS;
}
/**
* extract_channel_hopping_event_tlv() - extract channel hopping param
* from event
@@ -13382,6 +13402,7 @@ struct wmi_ops tlv_ops = {
extract_mac_phy_cap_service_ready_ext_tlv,
.extract_reg_cap_service_ready_ext =
extract_reg_cap_service_ready_ext_tlv,
.extract_pdev_utf_event = extract_pdev_utf_event_tlv,
.wmi_set_htc_tx_tag = wmi_set_htc_tx_tag_tlv,
};