From 994443d7a0da64c0c0c223caed1c0ad8bd12301a Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 25 Aug 2020 03:40:04 -0700 Subject: [PATCH] fw-api: CL 11393133 - update fw common interface files Change-Id: If271b3e160d816a7a68b4e572a943da2e0de5392 WMI: define WFA_CONFIG_CMD msg CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 15 ++++++++++ fw/wmi_unified.h | 71 +++++++++++++++++++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 87 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 8553675e16..7566ea2e9e 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1101,6 +1101,11 @@ typedef enum { WMITLV_TAG_STRUC_wmi_vdev_extd_stats, WMITLV_TAG_STRUC_wmi_twt_add_dialog_additional_params, WMITLV_TAG_STRUC_WMI_SCAN_RADIO_CAPABILITIES_EXT2, + WMITLV_TAG_STRUC_wmi_wfa_config_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_wfa_config_rsnxe, + WMITLV_TAG_STRUC_wmi_wfa_config_csa, + WMITLV_TAG_STRUC_wmi_wfa_config_ocv, + WMITLV_TAG_STRUC_wmi_wfa_config_saquery, } WMITLV_TAG_ID; /* @@ -1549,6 +1554,7 @@ typedef enum { OP(WMI_PDEV_GET_TPC_STATS_CMDID) \ OP(WMI_AUDIO_AGGR_SET_SCHED_METHOD_CMDID) \ OP(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID) \ + OP(WMI_WFA_CONFIG_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4447,6 +4453,15 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_SRG_PARTIAL_BSSID_BITMAP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SIMULATION_TEST_CMDID); +/* WFA test config command */ +#define WMITLV_TABLE_WMI_WFA_CONFIG_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_wfa_config_cmd_fixed_param, wmi_wfa_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_rsnxe, wfa_config_rsnxe, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_csa, wfa_config_csa, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_ocv, wfa_config_ocv, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_wfa_config_saquery, wfa_config_saquery, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_WFA_CONFIG_CMDID); + /* SRG OBSS color Enable Bitmap */ #define WMITLV_TABLE_WMI_PDEV_SET_SRG_OBSS_COLOR_ENABLE_BITMAP_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param, wmi_pdev_srg_obss_color_enable_bitmap_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 6477411beb..ed0341e93c 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1074,6 +1074,8 @@ typedef enum { WMI_QBOOST_CFG_CMDID, /* Simulation Test command */ WMI_SIMULATION_TEST_CMDID, + /* WFA test config command */ + WMI_WFA_CONFIG_CMDID, /** TDLS Configuration */ /** enable/disable TDLS */ @@ -31678,6 +31680,75 @@ typedef struct { */ } wmi_simulation_test_cmd_fixed_param; +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wfa_config_rsnxe */ + A_UINT32 tlv_header; + /* rsnxe_param + * Override RSNXE Used bit in FT reassoc request. + * Possible values from host are: + * 0 use default value based on capability + * 1 override with 1 + * 2 override with 0 + */ + A_UINT32 rsnxe_param; +} wmi_wfa_config_rsnxe; + +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wfa_config_csa */ + A_UINT32 tlv_header; + /* ignore_csa + * Ignore CSA from AP and keep STA in current channel and don't deauth AP. + * Possible values from host are: + * 0 default behavior + * 1 ignore CSA + */ + A_UINT32 ignore_csa; +} wmi_wfa_config_csa; + +typedef enum { + WMI_WFA_CONFIG_OCV_FRMTYPE_SAQUERY_REQ = 0x00000001, + WMI_WFA_CONFIG_OCV_FRMTYPE_SAQUERY_RSP = 0x00000002, + WMI_WFA_CONFIG_OCV_FRMTYPE_FT_REASSOC_REQ = 0x00000004, + WMI_WFA_CONFIG_OCV_FRMTYPE_FILS_REASSOC_REQ = 0x00000008, +} WMI_WFA_CONFIG_OCV_FRMTYPE; + +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wfa_config_ocv */ + A_UINT32 tlv_header; + /* frame_types + * Override OCI channel number in specified frames. + * Possible frame types from host are enum WMI_WFA_CONFIG_OCV_FRMTYPE. + */ + A_UINT32 frame_types; + /* Frequency value in mhz to override in specified frame type */ + A_UINT32 chan_freq; +} wmi_wfa_config_ocv; + +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wfa_config_saquery */ + A_UINT32 tlv_header; + /* remain_connect_on_saquery_timeout + * Don't send deauth on SA Query response timeout. + * Possible values from host are: + * 0 default behavior + * 1 don't send deauth on SA Query response timeout + */ + A_UINT32 remain_connect_on_saquery_timeout; +} wmi_wfa_config_saquery; + +typedef struct { + /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_wfa_config_cmd_fixed_param */ + A_UINT32 tlv_header; + /** VDEV identifier */ + A_UINT32 vdev_id; + /* The below TLV arrays follow this structure: + * wmi_wfa_config_rsnxe wfa_config_rsnxe[]; (0 or 1 elements) + * wmi_wfa_config_csa wfa_config_csa[]; (0 or 1 elements) + * wmi_wfa_config_ocv wfa_config_ocv[]; (0 or 1 elements) + * wmi_wfa_config_saquery wfa_config_saquery[]; (0 or 1 elements) + */ +} wmi_wfa_config_cmd_fixed_param; + #define WMI_TWT_SESSION_FLAG_FLOW_ID_GET(_var) WMI_GET_BITS(_var, 0, 16) #define WMI_TWT_SESSION_FLAG_FLOW_ID_SET(_var, _val) WMI_SET_BITS(_var, 0, 16, _val) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 0d860e6243..f2ec1970c3 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_ 884 +#define __WMI_REVISION_ 885 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work