summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorspuligil <spuligil@codeaurora.org>2019-04-03 00:01:08 -0700
committerspuligil <spuligil@codeaurora.org>2019-04-03 00:01:09 -0700
commit06498f57fe136254e48fe67ee4310ffd0e3edb2b (patch)
tree616b3f6baecbc90d67ded25db0b13755cae047d0
parent076794b45a0203db03ef4635ed72fdbc08da3b11 (diff)
fw-api: CL 6849308 - update fw common interface files
Change-Id: I3beef617a96d44e5b11c5e7cefa6c5aca7911c3d WMI: add wmi_stats_interference into REPORT_STATS_EVENT msg CRs-Fixed: 2262693
-rwxr-xr-xfw/wmi_tlv_defs.h5
-rwxr-xr-xfw/wmi_unified.h26
-rwxr-xr-xfw/wmi_version.h2
3 files changed, 31 insertions, 2 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h
index a3b33c0aa98f..d28670db411e 100755
--- a/fw/wmi_tlv_defs.h
+++ b/fw/wmi_tlv_defs.h
@@ -974,6 +974,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_roam_deauth_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_roam_idle_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_idle_trigger_monitor_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_stats_interference,
} WMITLV_TAG_ID;
/*
@@ -5092,6 +5093,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RMC_NEW_LEADER_EVENTID);
* array index is (peer_index * WLAN_MAX_AC + ac_index) * rx_mcs_array_len + MCS index
* Contains a count of rx PPDUs for each MCS of each AC of each peer.
* wmi_stats_period stats_period[]; Array length is specified by stats_period_array_len
+ * wmi_stats_interference stats_interference[]; Array length is determied by dividing array level TLV header's length value by array-element TLV header's length value.
*
* For example, if there were 2 peers (X and Y) whose stats were being reported,
* the message and its TLV arrays would look like this:
@@ -5182,7 +5184,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_RMC_NEW_LEADER_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_rx_stats, rx_stats, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, rx_mpdu_aggr, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, rx_mcs, WMITLV_SIZE_VAR) \
- WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_stats_period, stats_period, WMITLV_SIZE_VAR)
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_stats_period, stats_period, WMITLV_SIZE_VAR) \
+ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_stats_interference, stats_interference, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_REPORT_STATS_EVENTID);
#define WMITLV_TABLE_WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID(id, op, buf, len) \
diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h
index 0be5904c1977..391187455c1c 100755
--- a/fw/wmi_unified.h
+++ b/fw/wmi_unified.h
@@ -7531,6 +7531,31 @@ typedef enum {
TRIGGER_COND_ID_ONE_TIME_REQUEST = 0x3,
} wmi_report_stats_event_trigger_cond_id;
+typedef struct
+{
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stats_interference */
+
+ /** For cases where a single rx chain has options to be connected to
+ * different rx antennas, show which rx antennas were in use during
+ * receipt of a given PPDU.
+ * This sa_ant_matrix provides a bitmask of the antennas used while
+ * receiving this frame.
+ */
+ A_UINT32 sa_ant_matrix;
+
+ /** Count how many times the hal_rxerr_phy is marked, in this time period.
+ * The counter value is reset each period. The host specifies the period
+ * via WMI_PDEV_PARAM_STATS_OBSERVATION_PERIOD.
+ */
+ A_UINT32 phyerr_count;
+
+ /** The timestamp at which the WMI event is reported.
+ * In targets that have a WBTIMER_1 timer, this timestamp is taken
+ * from WBTIMER_1.
+ */
+ A_UINT32 timestamp;
+} wmi_stats_interference;
+
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_report_stats_event_fixed_param */
/** Indicate what triggered this event, check wmi_report_stats_event_trigger_cond_id for details */
@@ -7611,6 +7636,7 @@ typedef struct {
* A_UINT32 rx_mcs[][][]; Array length is (num_peer_ac_rx_stats * WLAN_MAX_AC) * rx_mcs_array_len,
* array index is (peer_index * WLAN_MAX_AC + ac_index) * rx_mcs_array_len + MCS index
* wmi_stats_period stats_period[]; Array length is specified by stats_period_array_len
+ * wmi_stats_interference stats_interference[]; Array length is determied by dividing array level TLV header's length value by array-element TLV header's length value.
**/
} wmi_report_stats_event_fixed_param;
diff --git a/fw/wmi_version.h b/fw/wmi_version.h
index 295c6ecc5a9d..bbd8a4a536db 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_ 647
+#define __WMI_REVISION_ 648
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work