From 797679ea3f8bf9acdd5757f1e3b38fec149a3231 Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 9 Apr 2020 18:00:43 -0700 Subject: [PATCH] fw-api: CL 10152311 - update fw common interface files Update WMI_VDEV_SEND_BIG_DATA_EVENT msg Change-Id: I3da7218b739f82eae3f1fa845f93c1cc7cea955c CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 19 +++++++++++++++++-- fw/wmi_unified.h | 31 +++++++++++++++++++++++++++++-- fw/wmi_version.h | 2 +- 3 files changed, 47 insertions(+), 5 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 283d4880b2..48a91703e9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1057,6 +1057,8 @@ typedef enum { WMITLV_TAG_STRUC_WMI_HAL_REG_CAPABILITIES_EXT2, WMITLV_TAG_STRUC_wmi_roam_pmk_cache_synch_tlv_param, WMITLV_TAG_STRUC_wmi_mdns_set_staIP_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param, } WMITLV_TAG_ID; /* @@ -1489,6 +1491,7 @@ typedef enum { OP(WMI_VDEV_GET_BIG_DATA_CMDID) \ OP(WMI_PDEV_FRAME_INJECT_CMDID) \ OP(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID) \ + OP(WMI_VDEV_GET_BIG_DATA_P2_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -1735,6 +1738,7 @@ typedef enum { OP(WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID) \ OP(WMI_VDEV_SEND_BIG_DATA_EVENTID) \ OP(WMI_NAN_DMESG_EVENTID) \ + OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -4303,11 +4307,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_PCL_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_get_scan_channel_list_cmd_fixed_param, wmi_roam_get_scan_channel_list_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_GET_SCAN_CHANNEL_LIST_CMDID); -/* Get per vdev BIG DATA stats */ +/* VDEV_GET_BIG_DATA_CMD IS DEPRECATED - DO NOT USE */ #define WMITLV_TABLE_WMI_VDEV_GET_BIG_DATA_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_big_data_cmd_fixed_param, wmi_vdev_get_big_data_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_CMDID); +/* Get per vdev BIG DATA stats P2 */ +#define WMITLV_TABLE_WMI_VDEV_GET_BIG_DATA_P2_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param, wmi_vdev_get_big_data_p2_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BIG_DATA_P2_CMDID); + /* Frame inject command */ #define WMITLV_TABLE_WMI_PDEV_FRAME_INJECT_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_frame_inject_cmd_fixed_param, wmi_frame_inject_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ @@ -5813,11 +5822,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTIPLE_VDEV_RESTART_RESP_EVENTID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_CHANNEL_LIST_EVENTID); -/* send BIG DATA event to host */ +/* VDEV_SEND_BIG_DATA_EVENT IS DEPRECATED - DO NOT USE */ #define WMITLV_TABLE_WMI_VDEV_SEND_BIG_DATA_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_send_big_data_event_fixed_param, wmi_vdev_send_big_data_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_EVENTID); +/* send BIG DATA event to host P2 */ +#define WMITLV_TABLE_WMI_VDEV_SEND_BIG_DATA_P2_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param, wmi_vdev_send_big_data_p2_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, bd_datapath_stats, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID); + #define WMITLV_TABLE_WMI_NAN_DMESG_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_nan_dmesg_event_fixed_param, wmi_nan_dmesg_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, msg, WMITLV_SIZE_VAR) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 253a12a263..25d1734e4e 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -503,8 +503,10 @@ typedef enum { WMI_VDEV_AUDIO_SYNC_QTIMER_CMDID, /** Preferred channel list for each vdev */ WMI_VDEV_SET_PCL_CMDID, - /** Get per vdev BIG DATA stats */ + /** VDEV_GET_BIG_DATA_CMD IS DEPRECATED - DO NOT USE */ WMI_VDEV_GET_BIG_DATA_CMDID, + /** Get per vdev BIG DATA stats phase 2 */ + WMI_VDEV_GET_BIG_DATA_P2_CMDID, /* peer specific commands */ @@ -1478,8 +1480,10 @@ typedef enum { WMI_VDEV_AUDIO_SYNC_START_STOP_EVENTID, /** Sends the final offset in the QTIMERs of both master and slave */ WMI_VDEV_AUDIO_SYNC_Q_MASTER_SLAVE_OFFSET_EVENTID, - /* send BIG DATA stats to host */ + /** VDEV_SEND_BIG_DATA_EVENT IS DEPRECATED - DO NOT USE */ WMI_VDEV_SEND_BIG_DATA_EVENTID, + /** send BIG DATA stats to host phase 2 */ + WMI_VDEV_SEND_BIG_DATA_P2_EVENTID, /* peer specific events */ @@ -25802,6 +25806,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_CMDID); WMI_RETURN_STRING(WMI_PDEV_FRAME_INJECT_CMDID); WMI_RETURN_STRING(WMI_PDEV_TBTT_OFFSET_SYNC_CMDID); + WMI_RETURN_STRING(WMI_VDEV_GET_BIG_DATA_P2_CMDID); } return "Invalid WMI cmd"; @@ -27643,6 +27648,28 @@ typedef struct { A_UINT32 rx_data_mc_frame_filtered_count; } wmi_vdev_send_big_data_event_fixed_param; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_big_data_p2_cmd_fixed_param */ + A_UINT32 vdev_id; +} wmi_vdev_get_big_data_p2_cmd_fixed_param; + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_send_big_data_p2_event_fixed_param */ + A_UINT32 vdev_id; + /** param list **/ + /* total number of TSF out of sync */ + A_UINT32 tsf_out_of_sync; + + /* + * This fixed_param TLV is followed by the below TLVs: + * List of datapath big data stats. This stat is not interpreted by + * host. This gets directly updated on big data server and later FW + * team will analyze this data. + * + * A_UINT32 bd_datapath_stats[]; + */ +} wmi_vdev_send_big_data_p2_event_fixed_param; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals wmi_txpower_query_cmd_fixed_param */ A_UINT32 request_id; /* unique request ID to distinguish the command / event set */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b044a032a2..2b45c6963a 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,7 @@ #define __WMI_VER_MINOR_ 0 /** WMI revision number has to be incremented when there is a * change that may or may not break compatibility. */ -#define __WMI_REVISION_ 814 +#define __WMI_REVISION_ 815 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work