diff options
| author | spuligil <spuligil@codeaurora.org> | 2019-04-03 00:01:08 -0700 |
|---|---|---|
| committer | spuligil <spuligil@codeaurora.org> | 2019-04-03 00:01:09 -0700 |
| commit | 06498f57fe136254e48fe67ee4310ffd0e3edb2b (patch) | |
| tree | 616b3f6baecbc90d67ded25db0b13755cae047d0 | |
| parent | 076794b45a0203db03ef4635ed72fdbc08da3b11 (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-x | fw/wmi_tlv_defs.h | 5 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 26 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
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 |
