fw-api: CL 2894718 - update fw common interface files

Define additional WMI iface link and offload stats

Change-Id: Ie3af980587ce6061bf8d0a40d423759ebb653ba6
CRs-Fixed: 1107600
This commit is contained in:
Sandeep Puligilla 2017-03-02 11:01:07 -08:00 • committed by Gerrit - the friendly Code Review server
commit 48dc871946
3 changed files with 55 additions and 8 deletions

View file

@ -807,6 +807,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_set_arp_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_get_arp_stats_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_vdev_get_arp_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_iface_offload_stats,
} WMITLV_TAG_ID;
/*
@ -3660,7 +3661,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DIAG_EVENT_LOG_SUPPORTED_EVENTID);
#define WMITLV_TABLE_WMI_IFACE_LINK_STATS_EVENTID(id,op,buf,len)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_iface_link_stats_event_fixed_param, wmi_iface_link_stats_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_link_stats, iface_link_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wmm_ac_stats, ac, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wmm_ac_stats, ac, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_iface_offload_stats, iface_offload_stats, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_IFACE_LINK_STATS_EVENTID);

View file

@ -4668,6 +4668,10 @@ typedef struct {
* It is superseded by the WMI_RADIO_TX_POWER_LEVEL_STATS_EVENTID message.
*/
A_UINT32 tx_time_per_tpc[MAX_TPC_LEVELS];
/** msecs the radio is awake due to Host initiated scan (accruing over time) */
A_UINT32 on_time_host_scan;
/** msecs the radio is awake due to LPI scan (accruing over time) */
A_UINT32 on_time_lpi_scan;
} wmi_radio_link_stats;
/** tx time per power level statistics */
@ -4875,8 +4879,46 @@ typedef struct {
A_UINT32 tx_rts_fail_cnt;
A_UINT32 tx_ppdu_succ_cnt;
A_UINT32 tx_ppdu_fail_cnt;
/** msecs the interface is in Connected state (accruing over time) */
A_UINT32 connected_duration;
/** msecs the interface is in DisConnected state (accruing over time) */
A_UINT32 disconnected_duration;
/** msecs the interface is doing RTT ranging (accruing over time) */
A_UINT32 rtt_ranging_duration;
/** msecs the interface is in RTT responder mode (accruing over time) */
A_UINT32 rtt_responder_duration;
/** Number of Probes (Tx) sent on the interface (accruing over time) */
A_UINT32 num_probes_tx;
/** Number of Beacon misses on this interface (accruing over time) */
A_UINT32 num_beacon_miss;
} wmi_iface_link_stats;
typedef enum {
WMI_OFFLOAD_STATS_TYPE_SOC_BCAST = 0,
WMI_OFFLOAD_STATS_TYPE_SOC_MCAST = 1,
WMI_OFFLOAD_STATS_TYPE_SOC_UCAST = 2,
WMI_OFFLOAD_STATS_TYPE_ARP = 3,
WMI_OFFLOAD_STATS_TYPE_NS = 4,
WMI_OFFLOAD_STATS_TYPE_APF_BCAST = 5,
WMI_OFFLOAD_STATS_TYPE_APF_MCAST = 6,
WMI_OFFLOAD_STATS_TYPE_APF_UCAST = 7,
/* Add New offload stat type here */
WMI_OFFLOAD_STATS_TYPE_MAX,
} wmi_offload_stats_type;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_iface_offload_stats */
/** Type of offload stat. enum wmi_offload_stats_type **/
A_UINT32 type;
/** Number of (MSDUs) frames Received **/
A_UINT32 rx_count;
/** Number of frames Dropped **/
A_UINT32 drp_count;
/** Number of frames for which FW Responded (Valid for ARP and NS only). (or)
* Number of frames forwarded to Host (Valid for stats type except ARP and NS). **/
A_UINT32 fwd_count;
} wmi_iface_offload_stats;
/** Interface statistics (once started) reset and start afresh after each connection */
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_iface_link_stats_event_fixed_param */
@ -4884,10 +4926,13 @@ typedef struct {
A_UINT32 request_id;
/** unique id identifying the VDEV, generated by the caller */
A_UINT32 vdev_id;
/** Number of offload stats **/
A_UINT32 num_offload_stats;
/*
* This TLV is followed by another TLV
* This TLV is followed by other TLVs:
* wmi_iface_link_stats iface_link_stats;
* num_ac * size of(struct wmi_wmm_ac_stats)
* wmi_iface_offload_stats iface_offload_stats[num_offload_stats]
*/
} wmi_iface_link_stats_event_fixed_param;
@ -10460,7 +10505,7 @@ typedef enum {
} WMI_ARP_STATS_ACTION;
typedef enum {
WMI_ARP_STATS_RX_PKT_TYPE_ARP = 0x1,
WMI_ARP_STATS_RX_PKT_TYPE_ARP = 0x1,
} WMI_ARP_STATS_RX_PKT_TYPE;
typedef enum {
@ -10470,7 +10515,7 @@ typedef enum {
typedef enum {
WMI_CONNECTION_STATUS_FAILURE = 0x0,
WMI_CONNECTION_STATUS_SUCCESS,
WMI_CONNECTION_STATUS_SUCCESS,
} WMI_ARP_STATS_CONNECTION_STATUS;
/* ARP stats set (configure) req */
@ -10485,7 +10530,7 @@ typedef struct {
/* ARP stats get req */
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_arp_stats_cmd_fixed_param */
A_UINT32 vdev_id;
A_UINT32 vdev_id;
} wmi_vdev_get_arp_stats_cmd_fixed_param;
/* per vdev based ARP stats */
@ -16858,7 +16903,7 @@ typedef struct {
A_UINT32 enable;
/** periodic stats duration (units are milliseconds) */
A_UINT32 stats_period;
/** pdev_id for identifying the MAC
/** pdev_id for identifying the MAC
* See macros starting with WMI_PDEV_ID_ for values.
*/
A_UINT32 pdev_id;
@ -17202,7 +17247,7 @@ typedef struct {
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_WMI_MAC_PHY_CHAINMASK_COMBO */
A_UINT32 chainmask_table_id;
/* Number of vaild Chainmask in the table */
/* Number of vaild Chainmask in the table */
A_UINT32 num_valid_chainmask;
/*
* This TLV is followed by the below TLVs:

View file

@ -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_ 356
#define __WMI_REVISION_ 357
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work