fw-api: CL 10528997 - update fw common interface files
Change-Id: I7609cc2c5c3477558c086eed6a55eb5de7ffb1c9 WMI: control path stats request/report CRs-Fixed: 2262693
This commit is contained in:
@@ -442,6 +442,7 @@ typedef enum {
|
||||
WMI_SERVICE_5_DOT_9GHZ_SUPPORT = 247, /* Indicates FW supports new 5.9GHZ (scan, connection and so on) */
|
||||
WMI_SERVICE_MU_PREAMBLE_PUNCTURE_SUPPORT = 248, /* Indicates FW supports MU preamble puncture */
|
||||
WMI_SERVICE_SRG_SRP_SPATIAL_REUSE_SUPPORT = 249, /* Support for SRG, SRP based spatial reuse support */
|
||||
WMI_REQUEST_CTRL_PATH_STATS_REQUEST = 250, /* FW supports control path stats */
|
||||
|
||||
|
||||
/******* ADD NEW SERVICES UP TO 256 HERE *******/
|
||||
|
@@ -1078,6 +1078,9 @@ typedef enum {
|
||||
WMITLV_TAG_STRUC_wmi_roam_capability_report_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pmf_bcn_protect_stats,
|
||||
WMITLV_TAG_STRUC_wmi_nan_capabilities,
|
||||
WMITLV_TAG_STRUC_wmi_request_ctrl_path_stats_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_stats_struct,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
@@ -1522,6 +1525,7 @@ typedef enum {
|
||||
OP(WMI_PDEV_SET_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID) \
|
||||
OP(WMI_PDEV_SET_NON_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID) \
|
||||
OP(WMI_PDEV_SET_NON_SRG_OBSS_BSSID_ENABLE_BITMAP_CMDID) \
|
||||
OP(WMI_REQUEST_CTRL_PATH_STATS_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
@@ -1772,6 +1776,7 @@ typedef enum {
|
||||
OP(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID) \
|
||||
OP(WMI_PDEV_SSCAN_FW_PARAM_EVENTID) \
|
||||
OP(WMI_ROAM_CAPABILITY_REPORT_EVENTID) \
|
||||
OP(WMI_CTRL_PATH_STATS_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
@@ -3990,6 +3995,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_WLAN_STATS_CMDID);
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_peer_stats_info_cmd_fixed_param, wmi_request_peer_stats_info_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_PEER_STATS_INFO_CMDID);
|
||||
|
||||
/* Request Control Path stats info cmd */
|
||||
#define WMITLV_TABLE_WMI_REQUEST_CTRL_PATH_STATS_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_request_ctrl_path_stats_cmd_fixed_param, wmi_request_ctrl_path_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, pdev_ids, WMITLV_SIZE_VAR)\
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, vdev_ids, WMITLV_SIZE_VAR)\
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, mac_addr_list, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_CTRL_PATH_STATS_CMDID);
|
||||
|
||||
/* Host sets the current country code */
|
||||
#define WMITLV_TABLE_WMI_SET_CURRENT_COUNTRY_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_set_current_country_cmd_fixed_param, wmi_set_current_country_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
@@ -5725,6 +5738,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID);
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_stats_info, peer_stats_info, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID);
|
||||
|
||||
/* Update Control Path stats event */
|
||||
#define WMITLV_TABLE_WMI_CTRL_PATH_STATS_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param, wmi_ctrl_path_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_pdev_stats_struct, ctrl_path_pdev_stats, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_RADIO_CHAN_STATS_EVENTID(id, op, buf, len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_radio_chan_stats_event_fixed_param, wmi_radio_chan_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_radio_chan_stats, radio_chan_stats, WMITLV_SIZE_VAR)
|
||||
|
124
fw/wmi_unified.h
124
fw/wmi_unified.h
@@ -914,6 +914,9 @@ typedef enum {
|
||||
/** request for WLM (wlan latency manager) stats */
|
||||
WMI_REQUEST_WLM_STATS_CMDID,
|
||||
|
||||
/** request for control path stats */
|
||||
WMI_REQUEST_CTRL_PATH_STATS_CMDID,
|
||||
|
||||
|
||||
/** ARP OFFLOAD REQUEST*/
|
||||
WMI_SET_ARP_NS_OFFLOAD_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_ARP_NS_OFL),
|
||||
@@ -1732,6 +1735,10 @@ typedef enum {
|
||||
* and report WLM (WLAN latency manager) stats info to host */
|
||||
WMI_WLM_STATS_EVENTID,
|
||||
|
||||
/** This event is used to respond to WMI_REQUEST_CTRL_PATH_STATS_CMDID
|
||||
* and report stats info to host */
|
||||
WMI_CTRL_PATH_STATS_EVENTID,
|
||||
|
||||
|
||||
/* NLO specific events */
|
||||
/** NLO match event after the first match */
|
||||
@@ -8857,6 +8864,73 @@ typedef struct {
|
||||
*/
|
||||
} wmi_peer_stats_info_event_fixed_param;
|
||||
|
||||
/**
|
||||
* WMI arrays of length WMI_MGMT_FRAME_SUBTYPE_MAX use the
|
||||
* IEEE802.11 standard's enumeration of mgmt frame subtypes:
|
||||
* 0 -> IEEE80211_FC0_SUBTYPE_ASSOC_REQ
|
||||
* 1 -> IEEE80211_FC0_SUBTYPE_ASSOC_RESP
|
||||
* 2 -> IEEE80211_FC0_SUBTYPE_REASSOC_REQ
|
||||
* 3 -> IEEE80211_FC0_SUBTYPE_REASSOC_RESP
|
||||
* 4 -> IEEE80211_FC0_SUBTYPE_PROBE_REQ
|
||||
* 5 -> IEEE80211_FC0_SUBTYPE_PROBE_RESP
|
||||
* 6 -> Reserved
|
||||
* 7 -> Reserved
|
||||
* 8 -> IEEE80211_FC0_SUBTYPE_BEACON
|
||||
* 9 -> IEEE80211_FC0_SUBTYPE_ATIM
|
||||
* 10 -> IEEE80211_FC0_SUBTYPE_DISASSOC
|
||||
* 11 -> IEEE80211_FC0_SUBTYPE_AUTH
|
||||
* 12 -> IEEE80211_FC0_SUBTYPE_DEAUTH
|
||||
* 13 -> IEEE80211_FCO_SUBTYPE_ACTION
|
||||
* 14 -> IEEE80211_FC0_SUBTYPE_ACTION_NOACK
|
||||
* 15 -> IEEE80211_FC0_SUBTYPE_RESERVED
|
||||
*/
|
||||
#define WMI_MGMT_FRAME_SUBTYPE_MAX 16
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_ctrl_path_pdev_stats_struct*/
|
||||
A_UINT32 tlv_header;
|
||||
/** pdev_id for identifying the MAC */
|
||||
A_UINT32 pdev_id;
|
||||
/** counter of how many times this pdev has
|
||||
* transmitted each management frame sub-type */
|
||||
A_UINT32 tx_mgmt_subtype[WMI_MGMT_FRAME_SUBTYPE_MAX];
|
||||
/** counter of how many times this pdev has
|
||||
* received each management frame sub-type */
|
||||
A_UINT32 rx_mgmt_subtype[WMI_MGMT_FRAME_SUBTYPE_MAX];
|
||||
/** scan fail dfs violation time in ms */
|
||||
A_UINT32 scan_fail_dfs_violation_time_ms;
|
||||
/** NOL check failed latest channel frequency in MHz */
|
||||
A_UINT32 nol_check_fail_last_chan_freq;
|
||||
/** NOL check failed timestamp in ms */
|
||||
A_UINT32 nol_check_fail_time_stamp_ms;
|
||||
/** total peer create count */
|
||||
A_UINT32 total_peer_create_cnt;
|
||||
/** total peer delete count */
|
||||
A_UINT32 total_peer_delete_cnt;
|
||||
/** total peer delete response count */
|
||||
A_UINT32 total_peer_delete_resp_cnt;
|
||||
/** sched algo FIFO full count */
|
||||
A_UINT32 vdev_pause_fail_rt_to_sched_algo_fifo_full_cnt;
|
||||
} wmi_ctrl_path_pdev_stats_struct;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_ctrl_path_stats_event_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** Request ID*/
|
||||
A_UINT32 request_id;
|
||||
/** more flag
|
||||
* 1 - More events sent after this event.
|
||||
* 0 - no more events after this event.
|
||||
*/
|
||||
A_UINT32 more;
|
||||
/** This TLV is (optionally) followed by TLV arrays containing
|
||||
* different types of stats:
|
||||
* 1. wmi_ctrl_path_pdev_stats_struct ctrl_path_pdev_stats[];
|
||||
* This TLV array contains zero or more pdev stats instances.
|
||||
*/
|
||||
} wmi_ctrl_path_stats_event_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_radio_chan_stats */
|
||||
@@ -24675,6 +24749,55 @@ typedef struct {
|
||||
A_UINT32 reset_after_request;
|
||||
} wmi_request_peer_stats_info_cmd_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
/*
|
||||
* Multiple stats type can be requested together, so each value
|
||||
* within this enum represents a bit within a stats bitmap.
|
||||
*/
|
||||
WMI_REQUEST_CTRL_PATH_PDEV_TX_STAT = 0x00000001,
|
||||
} wmi_ctrl_path_stats_id;
|
||||
|
||||
typedef enum {
|
||||
/*
|
||||
* The following stats actions are mutually exclusive.
|
||||
* A single stats request message can only specify one action.
|
||||
*/
|
||||
WMI_REQUEST_CTRL_PATH_STAT_GET = 1,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_RESET = 2,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_START = 3,
|
||||
WMI_REQUEST_CTRL_PATH_STAT_STOP = 4,
|
||||
} wmi_ctrl_path_stats_action;
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals
|
||||
* WMITLV_TAG_STRUC_wmi_request_ctrl_path_stats_cmd_fixed_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** Bitmask showing which of stats IDs 0-31 have been requested.
|
||||
* These stats ids are defined in enum wmi_ctrl_path_stats_id.
|
||||
*/
|
||||
A_UINT32 stats_id_mask;
|
||||
/** request ID to store the cookies in wifistats */
|
||||
A_UINT32 request_id;
|
||||
/** action
|
||||
* get/reset/start/stop based on stats id
|
||||
* defined as a part of wmi_ctrl_path_stats_action
|
||||
**/
|
||||
A_UINT32 action; /* refer to wmi_ctrl_path_stats_action */
|
||||
|
||||
/** The below TLV arrays optionally follow this fixed_param TLV structure:
|
||||
* 1. A_UINT32 pdev_ids[];
|
||||
* If this array is present and non-zero length, stats should only
|
||||
* be provided from the pdevs identified in the array.
|
||||
* 2. A_UINT32 vdev_ids[];
|
||||
* If this array is present and non-zero length, stats should only
|
||||
* be provided from the vdevs identified in the array.
|
||||
* 3. wmi_mac_addr peer_macaddr[];
|
||||
* If this array is present and non-zero length, stats should only
|
||||
* be provided from the peers with the MAC addresses specified
|
||||
* in the array.
|
||||
*/
|
||||
} wmi_request_ctrl_path_stats_cmd_fixed_param;
|
||||
|
||||
typedef enum {
|
||||
WMI_REQUEST_ONE_RADIO_CHAN_STATS = 0x01, /* request stats of one specified channel */
|
||||
WMI_REQUEST_ALL_RADIO_CHAN_STATS = 0x02, /* request stats of all channels */
|
||||
@@ -26190,6 +26313,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
||||
WMI_RETURN_STRING(WMI_ANT_CONTROLLER_CMDID);
|
||||
WMI_RETURN_STRING(WMI_SIMULATION_TEST_CMDID);
|
||||
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_RTSCTS_CONFIG_CMDID);
|
||||
WMI_RETURN_STRING(WMI_REQUEST_CTRL_PATH_STATS_CMDID);
|
||||
}
|
||||
|
||||
return "Invalid WMI cmd";
|
||||
|
@@ -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_ 842
|
||||
#define __WMI_REVISION_ 843
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
Reference in New Issue
Block a user