qcacmn: Add wmi interface changes to extract mgmt offload event

Add wmi interface changes to extract mgmt offload event params
when WLAN_FEATURE_PKT_CAPTURE is enabled.

Change-Id: Icacd65a99953fdc77b2c6823e9d26baaed3737c8
CRs-Fixed: 2619316
This commit is contained in:
Dundi Raviteja
2020-02-03 13:09:41 +05:30
committed by nshrivas
parent 90d227ce32
commit 459060642c
4 changed files with 78 additions and 0 deletions

View File

@@ -100,6 +100,10 @@
#include "wmi_unified_fwol_api.h" #include "wmi_unified_fwol_api.h"
#endif #endif
#ifdef WLAN_FEATURE_PKT_CAPTURE
#include "wlan_pkt_capture_public_structs.h"
#endif
typedef qdf_nbuf_t wmi_buf_t; typedef qdf_nbuf_t wmi_buf_t;
#define wmi_buf_data(_buf) qdf_nbuf_data(_buf) #define wmi_buf_data(_buf) qdf_nbuf_data(_buf)
@@ -3830,6 +3834,22 @@ QDF_STATUS wmi_unified_extract_ani_level(wmi_unified_t wmi_handle,
uint32_t *num_freqs); uint32_t *num_freqs);
#endif /* FEATURE_ANI_LEVEL_REQUEST */ #endif /* FEATURE_ANI_LEVEL_REQUEST */
#ifdef WLAN_FEATURE_PKT_CAPTURE
/**
* wmi_unified_extract_vdev_mgmt_offload_event() - Extract mgmt offload params
* @wmi: WMI handle
* @evt_buf: Event buffer
* @params: Management offload event params
*
* WMI function to extract management offload event params
*
* Return: QDF_STATUS
*/
QDF_STATUS
wmi_unified_extract_vdev_mgmt_offload_event(wmi_unified_t wmi, void *evt_buf,
struct mgmt_offload_event_params *params);
#endif
#ifdef FEATURE_WLAN_TIME_SYNC_FTM #ifdef FEATURE_WLAN_TIME_SYNC_FTM
/** /**
* wmi_unified_send_wlan_time_sync_ftm_trigger() - send ftm timesync trigger cmd * wmi_unified_send_wlan_time_sync_ftm_trigger() - send ftm timesync trigger cmd

View File

@@ -73,6 +73,10 @@
#include <wlan_dcs_public_structs.h> #include <wlan_dcs_public_structs.h>
#endif #endif
#ifdef WLAN_FEATURE_PKT_CAPTURE
#include "wlan_pkt_capture_public_structs.h"
#endif
#define WMI_UNIFIED_MAX_EVENT 0x100 #define WMI_UNIFIED_MAX_EVENT 0x100
#ifdef WMI_EXT_DBG #ifdef WMI_EXT_DBG
@@ -2220,6 +2224,13 @@ QDF_STATUS (*extract_multi_vdev_restart_resp_event)(
wmi_unified_t wmi_handle, void *evt_buf, wmi_unified_t wmi_handle, void *evt_buf,
struct multi_vdev_restart_resp *restart_rsp); struct multi_vdev_restart_resp *restart_rsp);
#ifdef WLAN_FEATURE_PKT_CAPTURE
QDF_STATUS (*extract_vdev_mgmt_offload_event)(
void *handle,
void *event_buf,
struct mgmt_offload_event_params *params);
#endif /* WLAN_FEATURE_PKT_CAPTURE */
#ifdef FEATURE_WLAN_TIME_SYNC_FTM #ifdef FEATURE_WLAN_TIME_SYNC_FTM
QDF_STATUS (*send_wlan_time_sync_ftm_trigger_cmd)(wmi_unified_t wmi_handle, QDF_STATUS (*send_wlan_time_sync_ftm_trigger_cmd)(wmi_unified_t wmi_handle,
uint32_t vdev_id, uint32_t vdev_id,

View File

@@ -3112,6 +3112,20 @@ wmi_unified_extract_roam_scan_stats(wmi_unified_t wmi, void *evt_buf,
return QDF_STATUS_E_FAILURE; return QDF_STATUS_E_FAILURE;
} }
#ifdef WLAN_FEATURE_PKT_CAPTURE
QDF_STATUS
wmi_unified_extract_vdev_mgmt_offload_event(
wmi_unified_t wmi, void *evt_buf,
struct mgmt_offload_event_params *params)
{
if (wmi->ops->extract_vdev_mgmt_offload_event)
return wmi->ops->extract_vdev_mgmt_offload_event(wmi, evt_buf,
params);
return QDF_STATUS_E_FAILURE;
}
#endif /* WLAN_FEATURE_PKT_CAPTURE */
QDF_STATUS QDF_STATUS
wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *buf, wmi_unified_extract_roam_result_stats(wmi_unified_t wmi, void *buf,
struct wmi_roam_result *dst, struct wmi_roam_result *dst,

View File

@@ -13219,6 +13219,36 @@ extract_roam_scan_stats_tlv(wmi_unified_t wmi_handle, void *evt_buf,
} }
#endif #endif
#ifdef WLAN_FEATURE_PKT_CAPTURE
static QDF_STATUS
extract_vdev_mgmt_offload_event_tlv(void *handle, void *evt_buf,
struct mgmt_offload_event_params *params)
{
WMI_VDEV_MGMT_OFFLOAD_EVENTID_param_tlvs *param_tlvs;
wmi_mgmt_hdr *hdr;
param_tlvs = (WMI_VDEV_MGMT_OFFLOAD_EVENTID_param_tlvs *)evt_buf;
if (!param_tlvs)
return QDF_STATUS_E_INVAL;
hdr = param_tlvs->fixed_param;
if (!hdr)
return QDF_STATUS_E_INVAL;
if (hdr->buf_len > param_tlvs->num_bufp)
return QDF_STATUS_E_INVAL;
params->tsf_l32 = hdr->tsf_l32;
params->chan_freq = hdr->chan_freq;
params->rate_kbps = hdr->rate_kbps;
params->rssi = hdr->rssi;
params->buf_len = hdr->buf_len;
params->tx_status = hdr->tx_status;
params->buf = param_tlvs->bufp;
return QDF_STATUS_SUCCESS;
}
#endif /* WLAN_FEATURE_PKT_CAPTURE */
#ifdef FEATURE_WLAN_TIME_SYNC_FTM #ifdef FEATURE_WLAN_TIME_SYNC_FTM
/** /**
* send_wlan_ts_ftm_trigger_cmd_tlv(): send wlan time sync cmd to FW * send_wlan_ts_ftm_trigger_cmd_tlv(): send wlan time sync cmd to FW
@@ -13683,6 +13713,9 @@ struct wmi_ops tlv_ops = {
.extract_roam_scan_stats = extract_roam_scan_stats_tlv, .extract_roam_scan_stats = extract_roam_scan_stats_tlv,
.extract_roam_result_stats = extract_roam_result_stats_tlv, .extract_roam_result_stats = extract_roam_result_stats_tlv,
.extract_roam_11kv_stats = extract_roam_11kv_stats_tlv, .extract_roam_11kv_stats = extract_roam_11kv_stats_tlv,
#ifdef WLAN_FEATURE_PKT_CAPTURE
.extract_vdev_mgmt_offload_event = extract_vdev_mgmt_offload_event_tlv,
#endif
#ifdef FEATURE_WLAN_TIME_SYNC_FTM #ifdef FEATURE_WLAN_TIME_SYNC_FTM
.send_wlan_time_sync_ftm_trigger_cmd = send_wlan_ts_ftm_trigger_cmd_tlv, .send_wlan_time_sync_ftm_trigger_cmd = send_wlan_ts_ftm_trigger_cmd_tlv,