diff --git a/target/inc/wmi_tlv_defs.h b/target/inc/wmi_tlv_defs.h index 532d9123de..4fa2799b31 100644 --- a/target/inc/wmi_tlv_defs.h +++ b/target/inc/wmi_tlv_defs.h @@ -730,6 +730,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_antdiv_info, WMITLV_TAG_STRUC_wmi_pdev_get_antdiv_status_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_antdiv_status_event_fixed_param, + WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param, } WMITLV_TAG_ID; /* @@ -1028,6 +1029,7 @@ typedef enum { OP(WMI_PDEV_SET_WAKEUP_CONFIG_CMDID) \ OP(WMI_PEER_ANTDIV_INFO_REQ_CMDID) \ OP(WMI_PDEV_GET_ANTDIV_STATUS_CMDID) \ + OP(WMI_MNT_FILTER_CMDID) \ /* add new CMD_LIST elements above this line */ /* @@ -2955,6 +2957,10 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_SETUP_CMDID); WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_peer_reorder_queue_remove_cmd_fixed_param, wmi_peer_reorder_queue_remove_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_PEER_REORDER_QUEUE_REMOVE_CMDID); +/* Filter in monitor mode paramters Cmd */ +#define WMITLV_TABLE_WMI_MNT_FILTER_CMDID(id, op, buf, len) \ + WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_mnt_filter_cmd_fixed_param, wmi_mnt_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_MNT_FILTER_CMDID); /************************** TLV definitions of WMI events *******************************/ diff --git a/target/inc/wmi_unified.h b/target/inc/wmi_unified.h index c91ad3e25c..3ce9602bf4 100644 --- a/target/inc/wmi_unified.h +++ b/target/inc/wmi_unified.h @@ -235,6 +235,7 @@ typedef enum { WMI_GRP_BPF_OFFLOAD, /* 0x36 Berkeley Packet Filter */ WMI_GRP_NAN_DATA, /* 0x37 */ WMI_GRP_PROTOTYPE, /* 0x38 */ + WMI_GRP_MONITOR, /* 0x39 */ } WMI_GRP_ID; #define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1) @@ -991,6 +992,10 @@ typedef enum { WMI_BPF_GET_VDEV_STATS_CMDID, WMI_BPF_SET_VDEV_INSTRUCTIONS_CMDID, WMI_BPF_DEL_VDEV_INSTRUCTIONS_CMDID, + + /** WMI commands related to monitor mode. */ + WMI_MNT_FILTER_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_MONITOR), + /** * Nan Data commands * NDI - NAN Data Interface @@ -8386,6 +8391,21 @@ typedef struct { A_UINT32 reason; /* refer to p2p_lo_stopped_reason_e */ } wmi_p2p_lo_stopped_event_fixed_param; +typedef enum { + WMI_MNT_FILTER_CONFIG_MANAGER, + WMI_MNT_FILTER_CONFIG_CONTROL, + WMI_MNT_FILTER_CONFIG_DATA, + WMI_MNT_FILTER_CONFIG_ALL, + WMI_MNT_FILTER_CONFIG_UNKNOWN, +} WMI_MNT_FILTER_CONFIG_TYPE; + +typedef struct { + A_UINT32 tlv_header; + A_UINT32 vdev_id; + A_UINT32 clear_or_set; + A_UINT32 configure_type; /* see WMI_MNT_FILTER_CONFIG_TYPE */ +} wmi_mnt_filter_cmd_fixed_param; + typedef struct { A_UINT32 time32; /* upper 32 bits of time stamp */ A_UINT32 time0; /* lower 32 bits of time stamp */ @@ -14472,6 +14492,15 @@ typedef struct { */ } wmi_soc_set_pcl_cmd_fixed_param; +/* Values for channel_weight */ +typedef enum { + WMI_PCL_WEIGHT_DISALLOW = 0, + WMI_PCL_WEIGHT_LOW = 1, + WMI_PCL_WEIGHT_MEDIUM = 2, + WMI_PCL_WEIGHT_HIGH = 3, + WMI_PCL_WEIGHT_VERY_HIGH = 4, +} wmi_pcl_chan_weight; + typedef struct { /* TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_pdev_set_pcl_cmd_fixed_param diff --git a/target/inc/wmi_version.h b/target/inc/wmi_version.h index 7144897209..27ca2ffe11 100644 --- a/target/inc/wmi_version.h +++ b/target/inc/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_ 280 +#define __WMI_REVISION_ 282 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work