diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 0b53c0b3d248..6bb8e967e5aa 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -14541,6 +14541,30 @@ typedef struct { A_UINT32 btk[ROAM_OFFLOAD_BTK_BYTES>>2]; /* BTK offload. As this 4 byte aligned, we don't declare it as tlv array */ } wmi_roam_ese_offload_tlv_param; +typedef enum { + WMI_BL_REASON_NUD_FAILURE = 1, + WMI_BL_REASON_STA_KICKOUT, + WMI_BL_REASON_ROAM_HO_FAILURE, + /* Assoc resp with status code 71 - POOR RSSI CONDITIONS */ + WMI_BL_REASON_ASSOC_REJECT_POOR_RSSI, + /* Assoc resp with status code 34 - DENIED_POOR_CHANNEL_CONDITIONS */ + WMI_BL_REASON_ASSOC_REJECT_OCE, + WMI_BL_REASON_USERSPACE_BL, + WMI_BL_REASON_USERSPACE_AVOID_LIST, + WMI_BL_REASON_BTM_DIASSOC_IMMINENT, + WMI_BL_REASON_BTM_BSS_TERMINATION, + WMI_BL_REASON_BTM_MBO_RETRY, + /* Reassoc resp with status code 34 - DENIED_POOR_CHANNEL_CONDITIONS */ + WMI_BL_REASON_REASSOC_RSSI_REJECT, + /* Reassoc resp with status code 17 - DENIED_NO_MORE_STAS */ + WMI_BL_REASON_REASSOC_NO_MORE_STAS, +} WMI_BLACKLIST_REASON_ID; + +typedef enum { + WMI_BL_SOURCE_HOST = 1, + WMI_BL_SOURCE_FW, +} WMI_BLACKLIST_SOURCE_ID; + typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_blacklist_with_timeout_tlv_param */ A_UINT32 tlv_header; @@ -14550,6 +14574,18 @@ typedef struct { A_UINT32 timeout; /** rssi (dBm units) when put in blacklist */ A_INT32 rssi; + /* Blacklist reason from WMI_BLACKLIST_REASON_ID */ + A_UINT32 reason; + /* Source of adding AP to BL from WMI_BLACKLIST_SOURCE_ID */ + A_UINT32 source; + /* + * timestamp is the absolute time w.r.t host timer which is synchronized + * between the host and target. + * This timestamp indicates the time when AP added to blacklist. + */ + A_UINT32 timestamp; + /* Original timeout value in milli seconds when AP added to BL */ + A_UINT32 original_timeout; } wmi_roam_blacklist_with_timeout_tlv_param; /** WMI_ROAM_BLACKLIST_EVENT: generated whenever STA needs to move AP to blacklist for a particluar time @@ -28168,6 +28204,18 @@ typedef struct { A_UINT32 remaining_disallow_duration; /** AP will be allowed for candidate, when AP RSSI better than expected RSSI units in dBm */ A_INT32 expected_rssi; + /* Blacklist reason from WMI_BLACKLIST_REASON_ID */ + A_UINT32 reason; + /* Source of adding AP to BL from WMI_BLACKLIST_SOURCE_ID */ + A_UINT32 source; + /* + * timestamp is the absolute time w.r.t host timer which is synchronized + * between the host and target. + * This timestamp indicates the time when AP added to blacklist. + */ + A_UINT32 timestamp; + /* Original timeout value in milli seconds when AP added to BL */ + A_UINT32 original_timeout; } wmi_pdev_bssid_disallow_list_config_param; typedef enum { @@ -28402,6 +28450,10 @@ typedef struct { A_UINT32 vendor_specific1[7]; }; }; + /* 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; } wmi_roam_trigger_reason; typedef struct { @@ -28448,6 +28500,18 @@ typedef struct { A_UINT32 cu_score; /* AP current cu score */ A_UINT32 total_score; /* AP total score */ A_UINT32 etp; /* AP Estimated Throughput (ETP) value in mbps */ + /* Blacklist reason from WMI_BLACKLIST_REASON_ID */ + A_UINT32 bl_reason; + /* Source of adding AP to BL from WMI_BLACKLIST_SOURCE_ID */ + A_UINT32 bl_source; + /* + * timestamp is the absolute time w.r.t host timer which is synchronized + * between the host and target. + * This timestamp indicates the time when AP added to blacklist. + */ + A_UINT32 bl_timestamp; + /* Original timeout value in milli seconds when AP added to BL */ + A_UINT32 bl_original_timeout; } wmi_roam_ap_info; typedef enum { diff --git a/fw/wmi_version.h b/fw/wmi_version.h index a891e5dd59cf..1c9ece2f85a5 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_ 871 +#define __WMI_REVISION_ 872 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work