From a5a81247517465a4180dd92df911fb64d745c00d Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 3 Jan 2020 12:00:37 -0800 Subject: [PATCH] fw-api: CL 9205391 - update fw common interface files Change-Id: Icd46c1d35a7a89f93b928e6f066fb04ea9e3d1d4 WMI: add frame info into ROAM_STATS_EVENT msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 32 ++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 36 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index df56d3128e62..4ec83dd6f156 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1040,6 +1040,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_audio_sync_start_stop_event_fixed_param, WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_offset_event_fixed_param, WMITLV_TAG_STRUC_wmi_audio_sync_q_master_slave_times, + WMITLV_TAG_STRUC_wmi_roam_frame_info_tlv_param, } WMITLV_TAG_ID; /* @@ -4021,7 +4022,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLM_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_ap_info, roam_ap_info, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_result, roam_result, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_neighbor_report_info, roam_neighbor_report_info, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_neighbor_report_channel_info, roam_neighbor_report_chan_info, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_neighbor_report_channel_info, roam_neighbor_report_chan_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_frame_info, roam_frame_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_STATS_EVENTID); /* Motion detection cmd */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index e91cd7413168..ad3990e726b7 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -26574,6 +26574,8 @@ typedef enum { WMI_ROAM_TRIGGER_SUB_REASON_INACTIVITY_TIMER, /* Roam scan triggered due to inactivity detection */ WMI_ROAM_TRIGGER_SUB_REASON_BTM_DI_TIMER, /* Roam scan triggered due to BTM Disassoc Imminent timeout */ WMI_ROAM_TRIGGER_SUB_REASON_FULL_SCAN, /* Roam scan triggered due to partial scan failure */ + WMI_ROAM_TRIGGER_SUB_REASON_LOW_RSSI_PERIODIC, /* Roam scan triggered due to Low rssi periodic timer */ + WMI_ROAM_TRIGGER_SUB_REASON_CU_PERIODIC, /* Roam scan triggered due to CU periodic timer */ } WMI_ROAM_TRIGGER_SUB_REASON_ID; typedef struct { @@ -26642,6 +26644,7 @@ typedef struct { A_UINT32 next_rssi_trigger_threshold; A_UINT32 roam_scan_channel_count; /* Number of channels scanned during roam scan */ A_UINT32 roam_ap_count; /* Number of roamable APs */ + A_UINT32 frame_info_count; /* Number of frame info */ } wmi_roam_scan_info; typedef struct { @@ -26677,6 +26680,7 @@ typedef struct { typedef enum { /* Failures reasons for not triggering roaming */ WMI_ROAM_FAIL_REASON_NO_SCAN_START = 1, /* Roam scan not started */ + WMI_ROAM_FAIL_REASON_SCAN_NOT_ALLOWED = WMI_ROAM_FAIL_REASON_NO_SCAN_START, /* Roam scan is not allowed to start */ WMI_ROAM_FAIL_REASON_NO_AP_FOUND, /* No roamable APs found during roam scan */ WMI_ROAM_FAIL_REASON_NO_CAND_AP_FOUND, /* No candidate APs found during roam scan */ @@ -26689,8 +26693,21 @@ typedef enum { WMI_ROAM_FAIL_REASON_REASSOC_RECV, /* Received reassoc response with error status code */ WMI_ROAM_FAIL_REASON_NO_REASSOC_RESP, /* Not receiving reassoc response frame */ WMI_ROAM_FAIL_REASON_EAPOL_TIMEOUT, /* EAPOL TIMEOUT */ + WMI_ROAM_FAIL_REASON_EAPOL_M1_TIMEOUT = WMI_ROAM_FAIL_REASON_EAPOL_TIMEOUT, /* EAPOL M1 is not received */ WMI_ROAM_FAIL_REASON_MLME, /* MLME internal error */ WMI_ROAM_FAIL_REASON_INTERNAL_ABORT, /* Internal abort */ + WMI_ROAM_FAIL_REASON_SCAN_START, /* Unable to start roam scan */ + WMI_ROAM_FAIL_REASON_AUTH_NO_ACK, /* No ACK is received for Auth request */ + WMI_ROAM_FAIL_REASON_AUTH_INTERNAL_DROP, /* Auth request is dropped internally */ + WMI_ROAM_FAIL_REASON_REASSOC_NO_ACK, /* No ACK is received for Reassoc request */ + WMI_ROAM_FAIL_REASON_REASSOC_INTERNAL_DROP, /* Reassoc request is dropped internally */ + WMI_ROAM_FAIL_REASON_EAPOL_M2_SEND, /* Unable to send EAPOL M2 frame */ + WMI_ROAM_FAIL_REASON_EAPOL_M2_INTERNAL_DROP, /* EAPOL M2 frame dropped internally */ + WMI_ROAM_FAIL_REASON_EAPOL_M2_NO_ACK, /* No Ack is recieved for EAPOL M2 frame */ + WMI_ROAM_FAIL_REASON_EAPOL_M3_TIMEOUT, /* M3 is not received */ + WMI_ROAM_FAIL_REASON_EAPOL_M4_SEND, /* Unable to send EAPOL M4 frame */ + WMI_ROAM_FAIL_REASON_EAPOL_M4_INTERNAL_DROP, /* EAPOL M4 frame dropped internally */ + WMI_ROAM_FAIL_REASON_EAPOL_M4_NO_ACK, /* No Ack is recieved for EAPOL M4 frame */ WMI_ROAM_FAIL_REASON_UNKNOWN = 255, @@ -26734,6 +26751,21 @@ typedef struct { A_UINT32 channel; /* Channel frequency in MHz */ } wmi_roam_neighbor_report_channel_info; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_frame_info_tlv_param */ + /* timestamp is the absolute time w.r.t host timer which is synchronized between the host and target */ + A_UINT32 timestamp; /* Timestamp when frame is sent or received */ + /* + * frame_info = frame_type | (frame_subtype << 2) | (request_or_response << 6)| (seq_num << 16) + * frame_type(2 bits), frame_subtype(4 bits) are from 802.11 spec. + * request_or_response(1 bit) - Valid if frame_subtype is authentication. + * 0 - Authentication request 1 - Authentication response + * seq_num(16 bits) - frame sequence number + */ + A_UINT32 frame_info; + A_UINT32 status_code; /* Status code from 802.11 spec, section 9.4.1.9 */ +} wmi_roam_frame_info; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_stats_event_fixed_param */ A_UINT32 vdev_id; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index ce4b92f5791b..0ea4149dc815 100644 --- 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_ 759 +#define __WMI_REVISION_ 760 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work