From 53e9a17743d3535aea9eea0ca3ebce529de52c5d Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 23 Jun 2020 18:00:39 -0700 Subject: [PATCH] fw-api: CL 10825654 - update fw common interface files Change-Id: I6520b7b53ab6eff2c832f32c44868da4a0621d2d WMI: add optional initial and btm_response info TLVs in ROAM_STATS_EVENT msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 6 ++++- fw/wmi_unified.h | 59 +++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 65 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index ffd0334b89f6..e85d2481edc9 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1093,6 +1093,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_audio_aggr_get_sched_method, WMITLV_TAG_STRUC_wmi_audio_aggr_sched_method_event_fixed_param, WMITLV_TAG_STRUC_wmi_vdev_disconnect_event_fixed_param, + WMITLV_TAG_STRUC_wmi_roam_btm_response_info_tlv_param, + WMITLV_TAG_STRUC_wmi_roam_initial_info_tlv_param, } WMITLV_TAG_ID; /* @@ -4129,7 +4131,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLM_CONFIG_CMDID); 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_frame_info, roam_frame_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_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_initial_info, roam_initial_info, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_btm_response_info, roam_btm_response_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 c3a2ba0ea4cb..f16457b42283 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -27851,6 +27851,7 @@ typedef enum { typedef enum { WMI_ROAM_TRIGGER_REASON_STA_KICKOUT = WMI_ROAM_TRIGGER_REASON_MAX, WMI_ROAM_TRIGGER_REASON_ESS_RSSI, + WMI_ROAM_TRIGGER_REASON_WTC_BTM, WMI_ROAM_TRIGGER_EXT_REASON_MAX } WMI_ROAM_TRIGGER_EXT_REASON_ID; @@ -28120,6 +28121,12 @@ typedef enum { 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 */ + /* PERIODIC_TIMER_AFTER_INACTIVITY: + * Roam scan triggered due to periodic timer after device in + * inactivity state. + * This timer is enabled/used for roaming in a vendor-specific manner. + */ + WMI_ROAM_TRIGGER_SUB_REASCON_PERIODIC_TIMER_AFTER_INACTIVITY, } WMI_ROAM_TRIGGER_SUB_REASON_ID; typedef enum wmi_roam_invoke_status_error { @@ -28194,6 +28201,20 @@ typedef struct { * Response status Values are enumerated in the 802.11 spec. */ A_UINT32 btm_response_status_code; + + union { + /* + * If a definition of these vendor-specific files has been provided, + * use the vendor-specific names for these fields as an alias for + */ + #ifdef WMI_ROAM_TRIGGER_REASON_VENDOR_SPECIFIC1 + WMI_ROAM_TRIGGER_REASON_VENDOR_SPECIFIC1; + #endif + struct { + /* opaque space reservation for vendor-specific fields */ + A_UINT32 vendor_specific1[7]; + }; + }; } wmi_roam_trigger_reason; typedef struct { @@ -28317,6 +28338,29 @@ typedef struct { A_UINT32 neighbor_report_channel_count; /* Number of channels received in neighbor report response */ } wmi_roam_neighbor_report_info; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_btm_response_info_tlv_param */ + + /*enum STATUS_CODE_WNM_BTM defined in ieee80211_defs.h*/ + A_UINT32 btm_status; + + /* AP MAC address */ + wmi_mac_addr target_bssid; + + /* vsie_reason value: + * 0x00 Will move to Cellular + * 0x01 Unspecified + * 0x02 Not supported + * 0x03 No Cellular Network + * 0x04 Controlled by framework + * 0x05 Roam to better AP + * 0x06 Suspend mode + * 0x07 RSSI is strong enough + * 0x08-0xFF TBD + */ + A_UINT32 vsie_reason; +} wmi_roam_btm_response_info; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_neighbor_report_channel_info_tlv_param */ A_UINT32 channel; /* Channel frequency in MHz */ @@ -28337,6 +28381,21 @@ typedef struct { 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_initial_info_tlv_param */ + + /* count of full scan */ + A_UINT32 roam_full_scan_count; + A_INT32 rssi_th; /* unit: dBm */ + A_UINT32 cu_th; /* channel utilization threhold: uses units of percent */ + /* timer_canceled: + * bit0: timer1 canceled + * bit1: timer2 canceled + * bit2: inactive timer canceled + */ + A_UINT32 timer_canceled; +} wmi_roam_initial_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 65688efeeb07..9c7c836fc990 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_ 853 +#define __WMI_REVISION_ 854 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work