qcacmn: Extract meta data from dbr event

Extract meta data from the dbr wmi event.

CRs-Fixed: 2219818
Change-Id: Ib19588775060e75017e9777206132a0efeec6223
This commit is contained in:
Edayilliam Jayadev
2018-04-06 16:37:17 +05:30
committed by nshrivas
parent a536eac8cc
commit 9265122fcf
2 changed files with 40 additions and 0 deletions

View File

@@ -6907,6 +6907,21 @@ QDF_STATUS wmi_extract_dbr_buf_release_entry(
return QDF_STATUS_E_FAILURE;
}
QDF_STATUS wmi_extract_dbr_buf_metadata(
void *wmi_hdl,
uint8_t *evt_buf, uint8_t idx,
struct direct_buf_rx_metadata *param)
{
wmi_unified_t wmi_handle = (wmi_unified_t)wmi_hdl;
if (wmi_handle->ops->extract_dbr_buf_metadata)
return wmi_handle->ops->extract_dbr_buf_metadata(
wmi_handle,
evt_buf, idx, param);
return QDF_STATUS_E_FAILURE;
}
/**
* wmi_extract_pdev_utf_event() -
* extract UTF data from pdev utf event

View File

@@ -20070,6 +20070,7 @@ static QDF_STATUS extract_dbr_buf_release_fixed_tlv(wmi_unified_t wmi_handle,
ev->pdev_id);
param->mod_id = ev->mod_id;
param->num_buf_release_entry = ev->num_buf_release_entry;
param->num_meta_data_entry = ev->num_meta_data_entry;
WMI_LOGD("%s:pdev id %d mod id %d num buf release entry %d\n", __func__,
param->pdev_id, param->mod_id, param->num_buf_release_entry);
@@ -20101,6 +20102,29 @@ static QDF_STATUS extract_dbr_buf_release_entry_tlv(wmi_unified_t wmi_handle,
return QDF_STATUS_SUCCESS;
}
static QDF_STATUS extract_dbr_buf_metadata_tlv(
wmi_unified_t wmi_handle, uint8_t *event,
uint8_t idx, struct direct_buf_rx_metadata *param)
{
WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID_param_tlvs *param_buf;
wmi_dma_buf_release_spectral_meta_data *entry;
param_buf = (WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID_param_tlvs *)event;
if (!param_buf)
return QDF_STATUS_E_INVAL;
entry = &param_buf->meta_data[idx];
if (!entry) {
WMI_LOGE("%s: Entry is NULL\n", __func__);
return QDF_STATUS_E_FAILURE;
}
qdf_mem_copy(param->noisefloor, entry->noise_floor,
sizeof(entry->noise_floor));
return QDF_STATUS_SUCCESS;
}
/**
* extract_dcs_interference_type_tlv() - extract dcs interference type
* from event
@@ -22730,6 +22754,7 @@ struct wmi_ops tlv_ops = {
extract_dbr_ring_cap_service_ready_ext_tlv,
.extract_dbr_buf_release_fixed = extract_dbr_buf_release_fixed_tlv,
.extract_dbr_buf_release_entry = extract_dbr_buf_release_entry_tlv,
.extract_dbr_buf_metadata = extract_dbr_buf_metadata_tlv,
.extract_pdev_utf_event = extract_pdev_utf_event_tlv,
.wmi_set_htc_tx_tag = wmi_set_htc_tx_tag_tlv,
.extract_dcs_interference_type = extract_dcs_interference_type_tlv,