qcacld-2.0: CL 3769298 - Update fw common interface files
Add wmi_stats_period.
Change-Id: Ie20c537de8e00e247589f6048fd2b60fd2d7314b
CRs-fixed: 865207
diff --git a/CORE/SERVICES/COMMON/wmi_tlv_defs.h b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
index 66e1c6c..5dc68ee 100644
--- a/CORE/SERVICES/COMMON/wmi_tlv_defs.h
+++ b/CORE/SERVICES/COMMON/wmi_tlv_defs.h
@@ -859,6 +859,7 @@
WMITLV_TAG_STRUC_wmi_host_swfda_event_fixed_param,
WMITLV_TAG_STRUC_wmi_bcn_offload_ctrl_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_set_ac_tx_queue_optimized_cmd_fixed_param,
+ WMITLV_TAG_STRUC_wmi_stats_period,
} WMITLV_TAG_ID;
/*
@@ -4473,6 +4474,8 @@
* 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
* 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
+ *
* 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:
* 1. fixed_param
@@ -4561,7 +4564,8 @@
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_ac_rx_stats, peer_ac_rx_stats, WMITLV_SIZE_VAR) \
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_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_CREATE_PARAM_STRUC(WMI_REPORT_STATS_EVENTID);
#define WMITLV_TABLE_WMI_VDEV_ENCRYPT_DECRYPT_DATA_RESP_EVENTID(id, op, buf, len) \
diff --git a/CORE/SERVICES/COMMON/wmi_unified.h b/CORE/SERVICES/COMMON/wmi_unified.h
index 693aed4..87e66e5 100644
--- a/CORE/SERVICES/COMMON/wmi_unified.h
+++ b/CORE/SERVICES/COMMON/wmi_unified.h
@@ -6300,6 +6300,26 @@
*/
} wmi_peer_ac_rx_stats;
+typedef struct
+{
+ A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_stats_period */
+ /*
+ * This struct provides the timestamps from a low-frequency timer
+ * for the start and end of a stats period.
+ * Each timestamp is reported twice, with different units.
+ * The _msec timestamp is in millisecond units.
+ * The _count timestamp is in clock tick units.
+ * The timestamp is reported in clock ticks as well as in milliseconds
+ * so that if the stats start and end times fall within the same
+ * millisecond, the clock tick timestamps can still be used to
+ * determine what fraction of a millisecond the stats period occupied.
+ */
+ A_UINT32 start_low_freq_msec;
+ A_UINT32 start_low_freq_count;
+ A_UINT32 end_low_freq_msec;
+ A_UINT32 end_low_freq_count;
+} wmi_stats_period;
+
typedef enum {
/** Periodic timer timed out, based on the period specified
* by WMI_PDEV_PARAM_STATS_OBSERVATION_PERIOD
@@ -6372,6 +6392,8 @@
/** Array size of rx_mcs[] which is histogram of encoding rate.
* The array indicates number of PPDUs received at a specific rate */
A_UINT32 rx_mcs_array_len;
+ /** Array size of stats_period[] which contains several stats periods. */
+ A_UINT32 stats_period_array_len;
/**
* This TLV is followed by TLVs below:
@@ -6393,6 +6415,7 @@
* array index is (peer_index * WLAN_MAX_AC + ac_index) * rx_mpdu_aggr_array_len + A-MPDU aggregation index
* 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_report_stats_event_fixed_param;
diff --git a/CORE/SERVICES/COMMON/wmi_version.h b/CORE/SERVICES/COMMON/wmi_version.h
index b456a21..51a02b3 100644
--- a/CORE/SERVICES/COMMON/wmi_version.h
+++ b/CORE/SERVICES/COMMON/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_ 471
+#define __WMI_REVISION_ 472
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work