mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-14 00:24:41 -04:00
fw-api: CL 6097607 - update fw common interface files
Change-Id: If2a15f3fe16c16bb01581f1709137f015263d1ad WMI: add roam AP load config + AP blacklist event msg defs CRs-Fixed: 2262693
This commit is contained in:
parent
1ea956a3a9
commit
0532e19097
3 changed files with 83 additions and 8 deletions
|
|
@ -839,6 +839,8 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_roam_lca_disallow_config_tlv_param,
|
||||
WMITLV_TAG_STRUC_wmi_vdev_limit_offchan_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_roam_rssi_rejection_oce_config_param,
|
||||
WMITLV_TAG_STRUC_wmi_roam_rejection_list_config_param = /* alias */
|
||||
WMITLV_TAG_STRUC_wmi_roam_rssi_rejection_oce_config_param,
|
||||
WMITLV_TAG_STRUC_wmi_unit_test_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_roam_fils_offload_tlv_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_update_pmk_cache_cmd_fixed_param,
|
||||
|
|
@ -951,6 +953,8 @@ typedef enum {
|
|||
WMITLV_TAG_STRUC_wmi_tlv_arrays_len_param,
|
||||
WMITLV_TAG_STRUC_wmi_peer_unmap_response_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_pdev_csc_switch_count_status_event_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_roam_bss_load_config_cmd_fixed_param,
|
||||
WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param,
|
||||
} WMITLV_TAG_ID;
|
||||
|
||||
/*
|
||||
|
|
@ -1341,6 +1345,7 @@ typedef enum {
|
|||
OP(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID) \
|
||||
OP(WMI_PEER_TX_PN_REQUEST_CMDID) \
|
||||
OP(WMI_PEER_UNMAP_RESPONSE_CMDID) \
|
||||
OP(WMI_ROAM_BSS_LOAD_CONFIG_CMDID) \
|
||||
/* add new CMD_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -1556,6 +1561,7 @@ typedef enum {
|
|||
OP(WMI_VDEV_BCN_RECEPTION_STATS_EVENTID) \
|
||||
OP(WMI_PEER_TX_PN_RESPONSE_EVENTID) \
|
||||
OP(WMI_PDEV_CSC_SWITCH_COUNT_STATUS_EVENTID) \
|
||||
OP(WMI_ROAM_BLACKLIST_EVENTID) \
|
||||
/* add new EVT_LIST elements above this line */
|
||||
|
||||
|
||||
|
|
@ -2967,6 +2973,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_LPI_STOP_SCAN_CMDID);
|
|||
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_ROAM_SCAN_STATS_CMDID);
|
||||
|
||||
/* BSS load parameters for roam trigger */
|
||||
#define WMITLV_TABLE_WMI_ROAM_BSS_LOAD_CONFIG_CMDID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_bss_load_config_cmd_fixed_param, wmi_roam_bss_load_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_BSS_LOAD_CONFIG_CMDID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_ROAM_BLACKLIST_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param, wmi_roam_blacklist_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_blacklist_with_timeout_tlv_param, blacklist_with_timeout, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_BLACKLIST_EVENTID);
|
||||
|
||||
#define WMITLV_TABLE_WMI_LPI_RESULT_EVENTID(id,op,buf,len) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_lpi_result_event_fixed_param, wmi_lpi_result_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR)
|
||||
|
|
@ -3314,7 +3330,7 @@ WMITLV_CREATE_PARAM_STRUC(WMI_DCC_UPDATE_NDL_CMDID);
|
|||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, bssid_preferred_list, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, bssid_preferred_factor, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_lca_disallow_config_tlv_param, lca_disallow_param, WMITLV_SIZE_VAR) \
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_rssi_rejection_oce_config_param, rssi_rejection_list, WMITLV_SIZE_VAR)
|
||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_rejection_list_config_param, rssi_rejection_list, WMITLV_SIZE_VAR)
|
||||
WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_FILTER_CMDID);
|
||||
|
||||
/* TSF timestamp action cmd */
|
||||
|
|
|
|||
|
|
@ -671,7 +671,9 @@ typedef enum {
|
|||
/** Enable or Disable Fast Initial Link Setup (FILS) feature */
|
||||
WMI_ENABLE_FILS_CMDID,
|
||||
/** Request for roam scan stats */
|
||||
WMI_REQUEST_ROAM_SCAN_STATS_CMDID,
|
||||
WMI_REQUEST_ROAM_SCAN_STATS_CMDID,
|
||||
/** Configure BSS load parameters for roam trigger */
|
||||
WMI_ROAM_BSS_LOAD_CONFIG_CMDID,
|
||||
|
||||
/** offload scan specific commands */
|
||||
/** set offload scan AP profile */
|
||||
|
|
@ -1441,7 +1443,9 @@ typedef enum {
|
|||
/** roam synch frame event */
|
||||
WMI_ROAM_SYNCH_FRAME_EVENTID,
|
||||
/** various roam scan stats */
|
||||
WMI_ROAM_SCAN_STATS_EVENTID,
|
||||
WMI_ROAM_SCAN_STATS_EVENTID,
|
||||
/** Blacklisted AP information event */
|
||||
WMI_ROAM_BLACKLIST_EVENTID,
|
||||
|
||||
/** P2P disc found */
|
||||
WMI_P2P_DISC_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_P2P),
|
||||
|
|
@ -11227,7 +11231,9 @@ typedef struct {
|
|||
* BIT 1-2 : Action on non matching candidate with cache. Used WMI_ROAM_BTM_OFLD_NON_MATCHING_CND_XXX
|
||||
* BIT 3-5 : Roaming handoff decisions. Use WMI_ROAM_BTM_OFLD_CNDS_MATCH_XXX
|
||||
* BIT 6 : Enable/Disable solicited BTM
|
||||
* BIT 7-31 : Reserved
|
||||
* BIT 7 : Roam BTM candidates based on the roam score instead of BTM preferred value
|
||||
* BIT 8 : BTM query preference over 11k neighbor report request
|
||||
* BIT 9-31 : Reserved
|
||||
*/
|
||||
#define WMI_ROAM_BTM_SET_ENABLE(flags, val) WMI_SET_BITS(flags, 0, 1, val)
|
||||
#define WMI_ROAM_BTM_GET_ENABLE(flags) WMI_GET_BITS(flags, 0, 1)
|
||||
|
|
@ -11237,6 +11243,10 @@ typedef struct {
|
|||
#define WMI_ROAM_BTM_GET_CNDS_MATCH_CONDITION(flags) WMI_GET_BITS(flags, 3, 3)
|
||||
#define WMI_ROAM_BTM_SET_SOLICITED_BTM_ENABLE(flags, val) WMI_SET_BITS(flags, 6, 1, val)
|
||||
#define WMI_ROAM_BTM_GET_SOLICITED_BTM_ENABLE(flags) WMI_GET_BITS(flags, 6, 1)
|
||||
#define WMI_ROAM_BTM_SET_CNDS_SELECT_BASED_ON_SCORE(flags) WMI_SET_BITS(flags, 7, 1, val)
|
||||
#define WMI_ROAM_BTM_GET_CNDS_SELECT_BASED_ON_SCORE(flags) WMI_GET_BITS(flags, 7, 1)
|
||||
#define WMI_ROAM_BTM_SET_BTM_QUERY_PREFERENCE_OVER_11K(flags) WMI_SET_BITS(flags, 8, 1, val)
|
||||
#define WMI_ROAM_BTM_GET_BTM_QUERY_PREFERENCE_OVER_11K(flags) WMI_GET_BITS(flags, 8, 1)
|
||||
|
||||
/** WMI_ROAM_BTM_SET_NON_MATCHING_CNDS_ACTION definition: When BTM candidate is not matched with cache by WMI_ROAM_BTM_SET_CNDS_MATCH_CONDITION, determine what to do */
|
||||
#define WMI_ROAM_BTM_NON_MATCHING_CNDS_SCAN_CONSUME 0 /** Invoke roam scan and consume within firmware. Applicable only when ROAM_SCAN_MODE is enabled. If ROAM_SCAN_MODE is disabled, firmware won't scan and forward it to host */
|
||||
|
|
@ -11273,6 +11283,14 @@ typedef struct {
|
|||
* Default value: 300 will be set if invalid value is given
|
||||
*/
|
||||
A_UINT32 stick_time_seconds;
|
||||
/* Disassoc time threshold in milli seconds
|
||||
* This time threshold allows the target to judge whether the STA
|
||||
* should can move to another AP immediately, or if the STA has time
|
||||
* to calculate roaming candidates.
|
||||
* If the disassoc_timer_threshold value is 0x0, the field should be
|
||||
* disregarded.
|
||||
*/
|
||||
A_UINT32 disassoc_timer_threshold;
|
||||
} wmi_btm_config_fixed_param;
|
||||
|
||||
#define WMI_ROAM_5G_BOOST_PENALIZE_ALGO_FIXED 0x0
|
||||
|
|
@ -11603,6 +11621,8 @@ typedef struct {
|
|||
nss_scoring :- NSS scoring percentage information.
|
||||
esp_qbss_scoring :- ESP/QBSS scoring percentage information
|
||||
oce_wan_scoring : OCE WAN metrics percentage information
|
||||
roam_score_delta_pcnt :- consider scanned AP as roam eligible candidate only if scanned AP score is at least roam_score_delta % better than connected AP score
|
||||
roam_score_delta_mask :- roam trigger bitmap for which roam_score_delta needs to apply. The WMI_ROAM_TRIGGER_REASON_ID enum values identify which bit within the mask is used for which roam trigger cause.
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_cnd_scoring_param */
|
||||
|
|
@ -11624,6 +11644,8 @@ typedef struct {
|
|||
wmi_roam_cnd_nss_scoring nss_scoring;
|
||||
wmi_roam_cnd_esp_qbss_scoring esp_qbss_scoring;
|
||||
wmi_roam_cnd_oce_wan_scoring oce_wan_scoring;
|
||||
A_UINT32 roam_score_delta_pcnt;
|
||||
A_UINT32 roam_score_delta_mask;
|
||||
} wmi_roam_cnd_scoring_param;
|
||||
|
||||
/** To match an open AP, the rs_authmode should be set to WMI_AUTH_NONE
|
||||
|
|
@ -11878,6 +11900,7 @@ typedef struct {
|
|||
A_UINT32 handoff_delay_for_rx; /* In msec. Delay Hand-Off by this duration to receive pending Rx frames from current BSS */
|
||||
A_UINT32 max_mlme_sw_retries; /* maximum number of software retries for preauth and reassoc req */
|
||||
A_UINT32 no_ack_timeout; /* In msec. duration to wait before another SW retry made if no ack seen for previous frame */
|
||||
A_UINT32 roam_candidate_validity_time; /* In msec. validity duration of each entry in roam cache. If the value is 0x0, this field should be disregarded. */
|
||||
} wmi_roam_offload_tlv_param;
|
||||
|
||||
|
||||
|
|
@ -11938,6 +11961,27 @@ 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 struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_blacklist_with_timeout_tlv_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** Blaclisted AP mac address */
|
||||
wmi_mac_addr bssid;
|
||||
/** How much time in milli seconds to keep AP in blacklist */
|
||||
A_UINT32 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
|
||||
* Ex: AP which sends BTM request with disassoc imminent is set should be
|
||||
* moved to blacklist until disassociation timer expires
|
||||
*/
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_blacklist_event_fixed_param */
|
||||
A_UINT32 vdev_id;
|
||||
/* This TLV is followed by further TLVs:
|
||||
* wmi_roam_blacklist_with_timeout_tlv_param blacklist_with_timeout[]
|
||||
*/
|
||||
} wmi_roam_blacklist_event_fixed_param;
|
||||
|
||||
/** WMI_ROAM_EVENT: roam event triggering the host roam logic.
|
||||
* generated when ever a better AP is found in the recent roam scan (or)
|
||||
* when beacon miss is detected (or) when a DEAUTH/DISASSOC is received
|
||||
|
|
@ -12147,7 +12191,7 @@ enum {
|
|||
#define WMI_ROAM_LCA_DISALLOW_SOURCE_FORCED 0x100
|
||||
|
||||
typedef struct {
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_rssi_rejection_oce_config_param */
|
||||
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_rejection_list_config_param */
|
||||
A_UINT32 tlv_header;
|
||||
/** BSSID of AP, who reject (re-)assoc due to low RSSI */
|
||||
wmi_mac_addr bssid;
|
||||
|
|
@ -12155,7 +12199,8 @@ 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 requested_rssi;
|
||||
} wmi_roam_rssi_rejection_oce_config_param;
|
||||
} wmi_roam_rejection_list_config_param;
|
||||
typedef wmi_roam_rejection_list_config_param wmi_roam_rssi_rejection_oce_config_param; /* retain old struct name as an alias for the new name */
|
||||
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_filter_list_fixed_param */
|
||||
|
|
@ -12174,7 +12219,7 @@ typedef struct {
|
|||
* wmi_mac_addr bssid_preferred_list[];
|
||||
* A_UINT32 bssid_preferred_factor[];
|
||||
* wmi_roam_lca_disallow_config_tlv_param lca_disallow_param[0/1] (opt)
|
||||
* wmi_roam_rssi_rejection_oce_config_param rssi_rejection_list[]
|
||||
* wmi_roam_rejection_list_config_param rssi_rejection_list[]
|
||||
*/
|
||||
} wmi_roam_filter_fixed_param;
|
||||
|
||||
|
|
@ -22818,6 +22863,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||
WMI_RETURN_STRING(WMI_SET_CURRENT_COUNTRY_CMDID);
|
||||
WMI_RETURN_STRING(WMI_VDEV_GET_BCN_RECEPTION_STATS_CMDID);
|
||||
WMI_RETURN_STRING(WMI_PEER_TX_PN_REQUEST_CMDID);
|
||||
WMI_RETURN_STRING(WMI_ROAM_BSS_LOAD_CONFIG_CMDID);
|
||||
}
|
||||
|
||||
return "Invalid WMI cmd";
|
||||
|
|
@ -23823,6 +23869,7 @@ typedef enum {
|
|||
WMI_ROAM_TRIGGER_REASON_FORCED,
|
||||
WMI_ROAM_TRIGGER_REASON_BTM,
|
||||
WMI_ROAM_TRIGGER_REASON_UNIT_TEST,
|
||||
WMI_ROAM_TRIGGER_REASON_BSS_LOAD,
|
||||
WMI_ROAM_TRIGGER_REASON_MAX,
|
||||
} WMI_ROAM_TRIGGER_REASON_ID;
|
||||
|
||||
|
|
@ -23850,6 +23897,18 @@ typedef struct {
|
|||
A_UINT32 vdev_id;
|
||||
} wmi_request_roam_scan_stats_cmd_fixed_param;
|
||||
|
||||
/** BSS load configuration parameters for roam trigger */
|
||||
typedef struct {
|
||||
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_bss_load_cmd_fixed_param */
|
||||
A_UINT32 vdev_id;
|
||||
/** Minimum number of beacons to be consider for calculating average AP BSS load within time monitor_time_window */
|
||||
A_UINT32 beacons_min_count;
|
||||
/** Monitor time window in seconds */
|
||||
A_UINT32 monitor_time_window;
|
||||
/** BSS load threshold after which roam scan should trigger */
|
||||
A_UINT32 bss_load_threshold;
|
||||
} wmi_roam_bss_load_config_cmd_fixed_param;
|
||||
|
||||
typedef struct {
|
||||
/*
|
||||
* The timestamp is in units of ticks of a 19.2MHz clock.
|
||||
|
|
|
|||
|
|
@ -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_ 607
|
||||
#define __WMI_REVISION_ 608
|
||||
|
||||
/** The Version Namespace should not be normally changed. Only
|
||||
* host and firmware of the same WMI namespace will work
|
||||
|
|
|
|||
Loading…
Reference in a new issue