summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2018-11-27 00:05:48 -0800
committerspuligil <spuligil@codeaurora.org>2018-11-27 00:05:48 -0800
commit1a0fa904e4b2fd0d76a96338fe0171806e5604ca (patch)
tree92d8c9863d2355599607e4472d2de497f9ba01b1
parent39ea7dbb44e079ce7e37d68bfa526ae9eff6ef1d (diff)
fw-api: CL 5957208 - update fw common interface files
Change-Id: I0580a20228ec22e7621ec0307535e562a572e853 WMI: per-vdev beacon rx stats msg defs CRs-Fixed: 2262693
-rwxr-xr-xfw/wmi_services.h1
-rwxr-xr-xfw/wmi_tlv_defs.h13
-rwxr-xr-xfw/wmi_unified.h36
-rwxr-xr-xfw/wmi_version.h2
4 files changed, 51 insertions, 1 deletions
diff --git a/fw/wmi_services.h b/fw/wmi_services.h
index 6a4ef5a5e953..2c730f928f1d 100755
--- a/fw/wmi_services.h
+++ b/fw/wmi_services.h
@@ -362,6 +362,7 @@ typedef enum {
*/
WMI_SERVICE_HW_DB2DBM_CONVERSION_SUPPORT = 178,
WMI_SERVICE_SUPPORT_EXTEND_ADDRESS=179, /* indicates firmware supports host memory addresses larger than 32 bit */
+ WMI_SERVICE_BEACON_RECEPTION_STATS=180, /* Support per vdev beacon stats info */
/******* ADD NEW SERVICES HERE *******/
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index e54b37d6fcbc..7f036d1738f5 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -944,6 +944,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_pktlog_filter_info,
WMITLV_TAG_STRUC_wmi_quiet_offload_info,
+ WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param,
+ WMITLV_TAG_STRUC_wmi_vdev_bcn_recv_stats_event_fixed_param,
} WMITLV_TAG_ID;
/*
@@ -1331,6 +1333,7 @@ typedef enum {
OP(WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID) \
OP(WMI_NDP_CMDID) \
OP(WMI_PDEV_PKTLOG_FILTER_CMDID) \
+ OP(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID) \
/* add new CMD_LIST elements above this line */
@@ -1543,6 +1546,7 @@ typedef enum {
OP(WMI_ESP_ESTIMATE_EVENTID) \
OP(WMI_PDEV_CTL_FAILSAFE_CHECK_EVENTID) \
OP(WMI_NDP_EVENTID) \
+ OP(WMI_VDEV_BCN_RECEPTION_STATS_EVENTID) \
/* add new EVT_LIST elements above this line */
@@ -3602,6 +3606,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MNT_FILTER_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_chip_power_stats_cmd_fixed_param, wmi_pdev_get_chip_power_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_GET_CHIP_POWER_STATS_CMDID);
+/* WLAN GET beacon reception Stats*/
+#define WMITLV_TABLE_WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param, wmi_vdev_get_bcn_recv_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID);
+
/* pdev set stats threshold cmd*/
#define WMITLV_TABLE_WMI_PDEV_SET_STATS_THRESHOLD_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_stats_threshold_cmd_fixed_param, wmi_pdev_set_stats_threshold_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
@@ -4845,6 +4854,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_SAVE_FAILURE_DETECTED_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, debug_registers, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_CHIP_POWER_STATS_EVENTID);
+#define WMITLV_TABLE_WMI_VDEV_BCN_RECEPTION_STATS_EVENTID(id,op,buf,len) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_bcn_recv_stats_event_fixed_param, wmi_vdev_bcn_recv_stats_fixed_param, fixed_param, WMITLV_SIZE_FIX)
+WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_BCN_RECEPTION_STATS_EVENTID);
+
#define WMITLV_TABLE_WMI_PDEV_ANI_OFDM_LEVEL_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ani_ofdm_event_fixed_param, wmi_ani_ofdm_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_ANI_OFDM_LEVEL_EVENTID);
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index d2175c17b4ae..875bff5e1a3b 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -473,6 +473,8 @@ typedef enum {
/** To set chainmask configuration for vdev */
WMI_VDEV_CHAINMASK_CONFIG_CMDID,
+ WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID,
+
/* peer specific commands */
/** create a peer */
@@ -1305,6 +1307,8 @@ typedef enum {
/** get tx power event in response to VDEV_GET_TX_POWER request */
WMI_VDEV_GET_TX_POWER_EVENTID,
+ WMI_VDEV_BCN_RECEPTION_STATS_EVENTID,
+
/* peer specific events */
/** FW reauet to kick out the station for reasons like inactivity,lack of response ..etc */
WMI_PEER_STA_KICKOUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PEER),
@@ -21118,6 +21122,12 @@ typedef struct {
} wmi_pdev_get_chip_power_stats_cmd_fixed_param;
typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_get_bcn_recv_stats_cmd_fixed_param */
+ /** VDEV identifier */
+ A_UINT32 vdev_id;
+} wmi_vdev_get_bcn_recv_stats_cmd_fixed_param;
+
+typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_tpc_event_fixed_param */
/** pdev_id for identifying the MAC
* See macros starting with WMI_PDEV_ID_ for values.
@@ -21209,6 +21219,31 @@ typedef struct {
*/
} wmi_pdev_chip_power_stats_event_fixed_param;
+typedef struct {
+ A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_get_bcn_recv_stats_fixed_param */
+ A_UINT32 vdev_id;
+ /* total_bcn_cnt
+ * total beacon count (tbtt instances)
+ * After this value reaches 255 it saturates and stays at 255.
+ * This field is used to determine which of the 256 bits in the
+ * bmiss_bitmap field are valid.
+ */
+ A_UINT32 total_bcn_cnt;
+ /* total_bmiss_cnt
+ * Total beacon miss count in last 255 beacons, max value is 255.
+ * This value is the number of bits set within bmiss_bitmap.
+ */
+ A_UINT32 total_bmiss_cnt;
+ /* bmiss_bitmap
+ * This bitmap indicates the status of the last 255 beacons.
+ * If a bit is set, that means the corresponding beacon was missed.
+ * Bit 0 of bmiss_bitmap[0] represents the most recent beacon.
+ * The total_bcn_cnt field indicates how many bits within bmiss_bitmap
+ * are valid.
+ */
+ A_UINT32 bmiss_bitmap[8];
+} wmi_vdev_bcn_recv_stats_fixed_param;
+
typedef enum wmi_chip_power_save_failure_reason_code_type {
WMI_PROTOCOL_POWER_SAVE_FAILURE_REASON,
WMI_HW_POWER_SAVE_FAILURE_REASON,
@@ -22651,6 +22686,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_NDP_CMDID);
WMI_RETURN_STRING(WMI_PDEV_PKTLOG_FILTER_CMDID);
WMI_RETURN_STRING(WMI_SET_CURRENT_COUNTRY_CMDID);
+ WMI_RETURN_STRING(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID);
}
return "Invalid WMI cmd";
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 406e96c5b968..a091fef47c2a 100755
--- 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_ 599
+#define __WMI_REVISION_ 600
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work