Преглед на файлове

fw-api: CL 20374109 - update fw common interface files

Change-Id: Iabf56aa80db4687c226fb85e106b3389f4c30842
WMI: add more roaming event info
CRs-Fixed: 2262693
spuligil преди 2 години
родител
ревизия
efd847ca2a
променени са 3 файла, в които са добавени 163 реда и са изтрити 2 реда
  1. 25 1
      fw/wmi_tlv_defs.h
  2. 137 0
      fw/wmi_unified.h
  3. 1 1
      fw/wmi_version.h

+ 25 - 1
fw/wmi_tlv_defs.h

@@ -1307,6 +1307,18 @@ typedef enum {
     WMITLV_TAG_STRUC_wmi_mlo_link_removal_tbtt_update,
     WMITLV_TAG_STRUC_wmi_mlo_link_removal_evt_fixed_param,
     WMITLV_TAG_STRUC_wmi_mlo_link_removal_cmd_fixed_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_reason_cmm_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_rssi_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_bss_load_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_deauth_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_btm_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_bmiss_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_dense_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_force_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_kickout_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_per_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_periodic_tlv_param,
+    WMITLV_TAG_STRUC_wmi_roam_trigger_hi_rssi_tlv_param,
 } WMITLV_TAG_ID;
 
 /*
@@ -4604,7 +4616,19 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLM_CONFIG_CMDID);
   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_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_msg_info, roam_msg_info, WMITLV_SIZE_VAR) \
-  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_btm_request_candidate_info, roam_btm_request_candidate_info, WMITLV_SIZE_VAR)
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_btm_request_candidate_info, roam_btm_request_candidate_info, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_reason_cmm, roam_trigger_reason_cmm, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_rssi, roam_trigger_rssi, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_bss_load, roam_trigger_bss_load, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_deauth, roam_trigger_deauth, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_btm, roam_trigger_btm, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_bmiss, roam_trigger_bmiss, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_dense, roam_trigger_dense, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_force, roam_trigger_force, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_kickout, roam_trigger_kickout, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_per, roam_trigger_per, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_periodic, roam_trigger_periodic, WMITLV_SIZE_VAR) \
+  WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_trigger_hi_rssi, roam_trigger_hi_rssi, WMITLV_SIZE_VAR)
 WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_STATS_EVENTID);
 
 /* Motion detection cmd */

+ 137 - 0
fw/wmi_unified.h

@@ -35646,6 +35646,143 @@ typedef struct {
     A_UINT32 roam_scan_trigger_count; /* Number of roam scans triggered */
 } wmi_roam_stats_event_fixed_param;
 
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_reason_cmm_tlv_param */
+    /*
+     * timestamp is the absolute time w.r.t host timer which is synchronized
+     * between the host and target.
+     * This timestamp indicates the time when roam trigger happened.
+     */
+    A_UINT32 timestamp;      /* Timestamp in milli seconds */
+    /* trigger_reason:
+     * Roam trigger reason from WMI_ROAM_TRIGGER_REASON_ID
+     */
+    A_UINT32 trigger_reason;
+    /* trigger_sub_reason:
+     * Reason for each roam scan from WMI_ROAM_TRIGGER_SUB_REASON_ID,
+     * if multiple scans are triggered for a single roam trigger.
+     */
+    A_UINT32 trigger_sub_reason;
+    A_UINT32 current_rssi;   /* Connected AP RSSI in dBm */
+} wmi_roam_trigger_reason_cmm;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_rssi_tlv_param */
+    /* roam_rssi_threshold:
+     * RSSI threshold value in dBm for low RSSI roam trigger.
+     */
+    A_UINT32 roam_rssi_threshold;
+    /* data RSSI in dBm */
+    A_UINT32 data_rssi;
+    /* data RSSI threshold in dBm */
+    A_UINT32 data_rssi_threshold;
+    /* rx linkspeed status, 0:good linkspeed, 1:bad */
+    A_UINT32 rx_linkspeed_status;
+} wmi_roam_trigger_rssi;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_bss_load_tlv_param */
+    A_UINT32 cu_load;        /* Connected AP CU load percentage (0-100) */
+} wmi_roam_trigger_bss_load;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_deauth_tlv_param */
+    /* deauth_type:
+     * 1 -> De-authentication
+     * 2 -> Disassociation
+     */
+    A_UINT32 deauth_type;
+    /* deauth_reason:
+     * De-authentication or disassociation reason.
+     * De-authentication / disassociation Values are enumerated in the
+     * 802.11 spec.
+     */
+    A_UINT32 deauth_reason;
+} wmi_roam_trigger_deauth;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_btm_tlv_param */
+    /* btm_request_mode:
+     * Mode Values are enumerated in the 802.11 spec.
+     */
+    A_UINT32 btm_request_mode;
+    A_UINT32 disassoc_imminent_timer;  /* in Milli seconds */
+    /* validity_internal:
+     * Preferred candidate list validity interval in Milli seconds.
+     */
+    A_UINT32 validity_internal;
+    /* candidate_list_count:
+     * Number of preferred candidates from BTM request.
+     */
+    A_UINT32 candidate_list_count;
+    /* btm_response_status_code:
+     * Response status Values are enumerated in the 802.11 spec.
+     */
+    A_UINT32 btm_response_status_code;
+
+    /* BTM BSS termination timeout value in milli seconds */
+    A_UINT32 btm_bss_termination_timeout;
+    /* BTM MBO assoc retry timeout value in milli seconds */
+    A_UINT32 btm_mbo_assoc_retry_timeout;
+
+    /* btm_req_dialog_token: dialog token number in BTM request frame */
+    A_UINT32 btm_req_dialog_token;
+} wmi_roam_trigger_btm;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_bmiss_tlv_param */
+    /* B[0-6]: final bmiss cnt.
+     * B[7-23]: consecutive bmiss cnt
+     * B[24]: isQosNullSuccess: 0: success, 1:fail
+     */
+    A_UINT32 bmiss_status;
+} wmi_roam_trigger_bmiss;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_dense_tlv_param */
+    /* RX Throughput in bytes per second in dense env */
+    A_UINT32 rx_tput;
+    /* TX Throughput in bytes per second in dense env */
+    A_UINT32 tx_tput;
+    /* dense_status: b[0-7]: roamable AP count info in dense env */
+    A_UINT32 dense_status;
+} wmi_roam_trigger_dense;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_force_tlv_param */
+    A_UINT32 invoke_reason; /* from wlan_roam_invoke_reason */
+} wmi_roam_trigger_force;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_kickout_tlv_param */
+    /* consecutive tx failure threshold */
+    A_UINT32 kickout_th;
+    A_UINT32 kickout_reason; /* from PEER_KICKOUT_REASON */
+} wmi_roam_trigger_kickout;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_per_tlv_param */
+    /*  For PER roam,
+     *  If the number of PPDUs with PHY rate < low_rate_thresh exceeds
+     *  N * tx/rx_rate_thresh_percnt / 100, roaming will be triggered.
+     *  b[0-7]:  tx_rate_thresh_percnt
+     *  b[16-23]:rx_rate_thresh_percnt
+     */
+    A_UINT32 rate_thresh_percnt;
+} wmi_roam_trigger_per;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_periodic_tlv_param */
+    /*  roam scan periodic :   units = milliseconds*/
+    A_UINT32 periodic_timer_ms;
+} wmi_roam_trigger_periodic;
+
+typedef struct {
+    A_UINT32 tlv_header;     /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_trigger_hi_rssi_tlv_param */
+    /*  roam High RSSI threshold */
+    A_UINT32 hi_rssi_threshold;
+} wmi_roam_trigger_hi_rssi;
+
 typedef struct {
     A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_get_scan_channel_list_cmd_fixed_param */
     A_UINT32 vdev_id;

+ 1 - 1
fw/wmi_version.h

@@ -37,7 +37,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_ 1230
+#define __WMI_REVISION_ 1231
 
 /** The Version Namespace should not be normally changed. Only
  *  host and firmware of the same WMI namespace will work