From b1adfcc5872f86c92f66bcd8418c2ba399bee5d3 Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 2 Sep 2020 18:00:51 -0700 Subject: [PATCH] fw-api: CL 11506582 - update fw common interface files Change-Id: Ice16db64ce98229511348bcab84228a109944db2 WMI: add data_rssi_param TLV to ROAM_SCAN_RSSI_THRESHOLD msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 29 +++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 7566ea2e9e8b..c600756d7383 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1106,6 +1106,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_wfa_config_csa, WMITLV_TAG_STRUC_wmi_wfa_config_ocv, WMITLV_TAG_STRUC_wmi_wfa_config_saquery, + WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param, } WMITLV_TAG_ID; /* @@ -1978,7 +1979,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_MODE); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_scan_extended_threshold_param, extended_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_earlystop_rssi_thres_param, earlystop_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_dense_thres_param, dense_param, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bg_scan_roaming_param, bg_scan_param, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_bg_scan_roaming_param, bg_scan_param, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_roam_data_rssi_roaming_param, data_rssi_param, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ROAM_SCAN_RSSI_THRESHOLD); diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 9587726b2b41..087709a74410 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -13810,6 +13810,7 @@ typedef struct { * wmi_roam_earlystop_rssi_thres_param earlystop_param; * wmi_roam_dense_thres_param dense_param; * wmi_roam_bg_scan_roaming_param bg_scan_param; + * wmi_roam_data_rssi_roaming_param data_rssi_param; */ } wmi_roam_scan_rssi_threshold_fixed_param; @@ -14428,6 +14429,34 @@ typedef struct { A_UINT32 flags; } wmi_roam_bg_scan_roaming_param; +/* + * If there's rx activity during rx_inactivity_ms and avg of data_rssi + * is better than roam_data_rssi_thres, then suppress low rssi roaming. + */ +#define WMI_ROAM_DATA_RSSI_FLAG_LOW_RSSI 0x00000001 +/* + * If there's no rx activity during rx_inactivity_ms or avg of data_rssi + * is better than roam_data_rssi_thres, then suppress this background roaming. + */ +#define WMI_ROAM_DATA_RSSI_FLAG_BACKGROUND 0x00000002 + +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param */ + A_UINT32 tlv_header; + /* flags for when consider data_rssi, + * valid values are OR operation of WMI_ROAM_DATA_RSSI_FLAG_ . + * value 0 to disable the feature. + */ + A_UINT32 flags; + /** + * RSSI threshold in dBm above which roaming scan will be supressed + * during some roaming trigger. + */ + A_INT32 roam_data_rssi_thres; + /** rx inactivity time, in unit of milliseconds. */ + A_UINT32 rx_inactivity_ms; +} wmi_roam_data_rssi_roaming_param; + /** Beacon filter wmi command info */ #define BCN_FLT_MAX_SUPPORTED_IES 256 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index dfa893907a41..992f84c1f9bf 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_ 888 +#define __WMI_REVISION_ 889 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work