From 3fce59ed6ef1017ebbfe1cabe9e9e3cc4fac715b Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 28 Jul 2021 18:00:43 -0700 Subject: [PATCH] fw-api: CL 14952614 - update fw common interface files Change-Id: I68a305299dcfaf559a1304ffb447c86631ec1106 WMI: add vendor scoring params to roam AP profile CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 31 +++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 35 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 68582b83b5bb..260daedd9f48 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1192,6 +1192,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_roam_mlo_config_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_roam_ml_setup_links_param, WMITLV_TAG_STRUC_wmi_roam_ml_key_material_param, + WMITLV_TAG_STRUC_wmi_roam_cnd_vendor_scoring_param, } WMITLV_TAG_ID; /* @@ -2959,7 +2960,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_MCAST_GROUP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_ap_profile, wmi_ap_profile, ap_profile, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_roam_cnd_scoring_param, wmi_roam_cnd_scoring_param, roam_cnd_scoring_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_score_delta_param, roam_score_delta_param_list, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_cnd_min_rssi_param, roam_cnd_min_rssi_param_list, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_cnd_min_rssi_param, roam_cnd_min_rssi_param_list, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_cnd_vendor_scoring_param, roam_cnd_vendor_scoring_param, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_AP_PROFILE); diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index aee51fb2cbf2..5a82d28f4027 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -15806,6 +15806,30 @@ typedef struct { A_UINT32 bg_rssi_threshold; } wmi_ap_profile; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_cnd_vendor_scoring_param */ + A_UINT32 tlv_header; + /** Indicates the channel band for which these vendor scoring params needs to be applied. + * Refer WLAN_ROAM_SCORE_MAX_BAND_INDEX for possible band_idx values. + */ + A_UINT32 band_idx; + /** Below rssi/cu factor_value & factor_score param values are configured by vendor */ + A_UINT32 rssi_factor_value1; + A_UINT32 rssi_factor_value2; + A_UINT32 rssi_factor_value3; + A_UINT32 rssi_factor_value4; + A_UINT32 rssi_factor_value5; + A_UINT32 rssi_factor_score1; + A_UINT32 rssi_factor_score2; + A_UINT32 rssi_factor_score3; + A_UINT32 rssi_factor_score4; + A_UINT32 rssi_factor_score5; + A_UINT32 cu_factor_value1; + A_UINT32 cu_factor_value2; + A_UINT32 cu_factor_score1; + A_UINT32 cu_factor_score2; +} wmi_roam_cnd_vendor_scoring_param; + /** Support early stop roaming scanning when finding a strong candidate AP * A 'strong' candidate is * 1) Is eligible candidate @@ -15985,6 +16009,7 @@ typedef struct { * wmi_roam_cnd_scoring_param roam_cnd_scoring_param * wmi_roam_score_delta_param roam_score_delta_param_list[] * wmi_roam_cnd_min_rssi_param roam_cnd_min_rssi_param_list[] + * wmi_roam_cnd_vendor_scoring_param roam_cnd_vendor_scoring_param[] */ } wmi_roam_ap_profile_fixed_param; @@ -31044,6 +31069,12 @@ typedef struct { * than rssi_5g_threshold. */ A_INT32 rssi_5g_threshold; /* units = dbm */ + /** rssi_6g_threshold + * If connected AP is in 6Ghz, then consider bss load roam triggered + * only if load % > bss_load_threshold && connected AP rssi is worse + * than rssi_6g_threshold. If rssi_6g_threshold is 0, it should be ignored. + */ + A_INT32 rssi_6g_threshold; /* units = dbm */ } wmi_roam_bss_load_config_cmd_fixed_param; /** Deauth roam trigger parameters */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 4a4c8d07222e..2776fa03f029 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_ 1036 +#define __WMI_REVISION_ 1037 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work