From 165ae02dc7884bdc3c54ff1fbe0107936b3269b9 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 12 Sep 2021 12:00:49 -0700 Subject: [PATCH] fw-api: CL 15605795 - update fw common interface files Change-Id: I3d0eebf06ff8654a3e09fd591f25e4b1b1d0750e WMI: add VDEV_SET_MU_SNIF_CMD msg def CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 8 ++++++++ fw/wmi_unified.h | 25 +++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 35 insertions(+), 1 deletion(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index ce31fc216f6f..2ebf8eacad4a 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -556,6 +556,7 @@ typedef enum { * WMI_PDEV_PARAM_CTRL_FRAME_OBSS_PD_THRESHOLD */ WMI_SERVICE_SPATIAL_REUSE_ENHANCEMENT_SUPPORT = 306, + WMI_SERVICE_MU_SNIF = 307, /* FW support MU sniffer */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index f523df69dfc9..41f1ba412892 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1200,6 +1200,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ctrl_path_awgn_stats_struct, WMITLV_TAG_STRUC_wmi_htt_msdu_idx_to_htt_msdu_qtype, WMITLV_TAG_STRUC_wmi_pdev_set_bios_interface_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_set_mu_snif_cmd_param, } WMITLV_TAG_ID; /* @@ -1675,6 +1676,7 @@ typedef enum { OP(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID) \ OP(WMI_REQUEST_THERMAL_STATS_CMDID) \ OP(WMI_PDEV_SET_BIOS_INTERFACE_CMDID) \ + OP(WMI_VDEV_SET_MU_SNIF_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -4805,6 +4807,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ENABLE_DISABLE_INTRA_BSS_CMDID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_thermal_stats_cmd_fixed_param, wmi_thermal_stats_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_REQUEST_THERMAL_STATS_CMDID); +/** WMI cmd used to set mu sniffer param */ +#define WMITLV_TABLE_WMI_VDEV_SET_MU_SNIF_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_set_mu_snif_cmd_param, wmi_vdev_set_mu_snif_cmd_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, aids, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_MU_SNIF_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index bd71fefeaf68..ff0ed4f9c867 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -556,6 +556,8 @@ typedef enum { WMI_VDEV_IGMP_OFFLOAD_CMDID, /** Enable/Disable Intra Bss for each vdev */ WMI_VDEV_ENABLE_DISABLE_INTRA_BSS_CMDID, + /* set vdev mu sniffer param */ + WMI_VDEV_SET_MU_SNIF_CMDID, /* peer specific commands */ @@ -29604,6 +29606,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_ROAM_MLO_CONFIG_CMDID); WMI_RETURN_STRING(WMI_REQUEST_THERMAL_STATS_CMDID); WMI_RETURN_STRING(WMI_PDEV_SET_BIOS_INTERFACE_CMDID); + WMI_RETURN_STRING(WMI_VDEV_SET_MU_SNIF_CMDID); } return "Invalid WMI cmd"; @@ -36058,6 +36061,28 @@ typedef struct { */ } wmi_pdev_multiple_vdev_set_param_cmd_fixed_param; +typedef enum { + WMI_MU_SNIF_DISABLE, + WMI_MU_SNIF_USER_INPUT, + WMI_MU_SNIF_WILDCARD, +} WMI_MU_SNIF_MODE; + +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_vdev_set_mu_snif_cmd_param */ + A_UINT32 tlv_header; + /* VDEV identifier */ + A_UINT32 vdev_id; + /* MU sniffer mode - refer to WMI_MU_SNIF_MODE enum */ + A_UINT32 mode; + /* max num of user to decode */ + A_UINT32 max_num_user; +/** + * TLV (tag length value) parameters follow setting MU sniffer command + * structure. The TLV's are: + * A_UINT32 aids[]; + */ +} wmi_vdev_set_mu_snif_cmd_param; /* ADD NEW DEFS HERE */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 20a5192e2c11..b72f59979859 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_ 1054 +#define __WMI_REVISION_ 1055 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work