mirror of
https://github.com/rd-stuffs/msm-4.14.git
synced 2025-02-20 11:45:48 +08:00
fw-api: CL 8030860 - update fw common interface files
Change-Id: I78b547aed0233881975cf0b61e78c75ae3eefbb8 WMI: define CFR_CAPTURE_FILTER_CMD msg CRs-Fixed: 2262693
This commit is contained in:
parent
5f903819ee
commit
3b1368b61d
@ -413,6 +413,7 @@ typedef enum {
|
|||||||
* runtime PM suspend.
|
* runtime PM suspend.
|
||||||
*/
|
*/
|
||||||
WMI_SERVICE_QMI_STATS_SUPPORT = 225,
|
WMI_SERVICE_QMI_STATS_SUPPORT = 225,
|
||||||
|
WMI_SERVICE_CFR_CAPTURE_FILTER_SUPPORT = 226, /* Indicate FW Supports Channel Frequency Response (CFR) via WMI_CFR_CAPTURE_FILTER_CMDID */
|
||||||
|
|
||||||
|
|
||||||
/******* ADD NEW SERVICES HERE *******/
|
/******* ADD NEW SERVICES HERE *******/
|
||||||
|
@ -1008,6 +1008,8 @@ typedef enum {
|
|||||||
WMITLV_TAG_STRUC_wmi_audio_aggr_del_group,
|
WMITLV_TAG_STRUC_wmi_audio_aggr_del_group,
|
||||||
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_rate,
|
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_rate,
|
||||||
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry,
|
WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry,
|
||||||
|
WMITLV_TAG_STRUC_wmi_cfr_capture_filter_cmd_fixed_param,
|
||||||
|
WMITLV_TAG_STRUC_wmi_cfr_filter_group_config,
|
||||||
} WMITLV_TAG_ID;
|
} WMITLV_TAG_ID;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1420,6 +1422,7 @@ typedef enum {
|
|||||||
OP(WMI_AUDIO_AGGR_DEL_GROUP_CMDID) \
|
OP(WMI_AUDIO_AGGR_DEL_GROUP_CMDID) \
|
||||||
OP(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID) \
|
OP(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID) \
|
||||||
OP(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID) \
|
OP(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID) \
|
||||||
|
OP(WMI_CFR_CAPTURE_FILTER_CMDID) \
|
||||||
/* add new CMD_LIST elements above this line */
|
/* add new CMD_LIST elements above this line */
|
||||||
|
|
||||||
|
|
||||||
@ -4121,6 +4124,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID);
|
|||||||
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry, wmi_audio_aggr_set_group_retry_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_audio_aggr_set_group_retry, wmi_audio_aggr_set_group_retry_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
|
||||||
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID);
|
WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID);
|
||||||
|
|
||||||
|
/* CFR Capture Filter cmd */
|
||||||
|
#define WMITLV_TABLE_WMI_CFR_CAPTURE_FILTER_CMDID(id,op,buf,len) \
|
||||||
|
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_cfr_capture_filter_cmd_fixed_param, wmi_cfr_capture_filter_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
|
||||||
|
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_cfr_filter_group_config, filter_group_config, WMITLV_SIZE_VAR)
|
||||||
|
WMITLV_CREATE_PARAM_STRUC(WMI_CFR_CAPTURE_FILTER_CMDID);
|
||||||
|
|
||||||
|
|
||||||
/************************** TLV definitions of WMI events *******************************/
|
/************************** TLV definitions of WMI events *******************************/
|
||||||
|
|
||||||
|
333
fw/wmi_unified.h
333
fw/wmi_unified.h
@ -258,6 +258,7 @@ typedef enum {
|
|||||||
WMI_GRP_ESP, /* 0x41 Estimate Service Parameters (802.11mc) */
|
WMI_GRP_ESP, /* 0x41 Estimate Service Parameters (802.11mc) */
|
||||||
WMI_GRP_HPCS_PULSE, /* 0x42 */
|
WMI_GRP_HPCS_PULSE, /* 0x42 */
|
||||||
WMI_GRP_AUDIO, /* 0x43 */
|
WMI_GRP_AUDIO, /* 0x43 */
|
||||||
|
WMI_GRP_CFR_CAPTURE, /* 0x44 */
|
||||||
} WMI_GRP_ID;
|
} WMI_GRP_ID;
|
||||||
|
|
||||||
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
|
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
|
||||||
@ -1249,6 +1250,9 @@ typedef enum {
|
|||||||
WMI_AUDIO_AGGR_DEL_GROUP_CMDID,
|
WMI_AUDIO_AGGR_DEL_GROUP_CMDID,
|
||||||
WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID,
|
WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID,
|
||||||
WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID,
|
WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID,
|
||||||
|
|
||||||
|
/** WMI commands related to Channel Frequency Response Capture **/
|
||||||
|
WMI_CFR_CAPTURE_FILTER_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_CFR_CAPTURE),
|
||||||
} WMI_CMD_ID;
|
} WMI_CMD_ID;
|
||||||
|
|
||||||
typedef enum {
|
typedef enum {
|
||||||
@ -24594,6 +24598,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
|
|||||||
WMI_RETURN_STRING(WMI_AUDIO_AGGR_DEL_GROUP_CMDID);
|
WMI_RETURN_STRING(WMI_AUDIO_AGGR_DEL_GROUP_CMDID);
|
||||||
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID);
|
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_RATE_CMDID);
|
||||||
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID);
|
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_GROUP_RETRY_CMDID);
|
||||||
|
WMI_RETURN_STRING(WMI_CFR_CAPTURE_FILTER_CMDID);
|
||||||
}
|
}
|
||||||
|
|
||||||
return "Invalid WMI cmd";
|
return "Invalid WMI cmd";
|
||||||
@ -27713,6 +27718,334 @@ typedef struct {
|
|||||||
} wmi_audio_aggr_set_group_retry_cmd_fixed_param;
|
} wmi_audio_aggr_set_group_retry_cmd_fixed_param;
|
||||||
|
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_TA_ADDR_VALID_BIT_POS 0
|
||||||
|
#define WMI_CFR_GROUP_TA_ADDR_MASK_VALID_BIT_POS 1
|
||||||
|
#define WMI_CFR_GROUP_RA_ADDR_VALID_BIT_POS 2
|
||||||
|
#define WMI_CFR_GROUP_RA_ADDR_MASK_VALID_BIT_POS 3
|
||||||
|
#define WMI_CFR_GROUP_BW_VALID_BIT_POS 4
|
||||||
|
#define WMI_CFR_GROUP_NSS_VALID_BIT_POS 5
|
||||||
|
#define WMI_CFR_GROUP_MGMT_SUBTYPE_VALID_BIT_POS 6
|
||||||
|
#define WMI_CFR_GROUP_CTRL_SUBTYPE_VALID_BIT_POS 7
|
||||||
|
#define WMI_CFR_GROUP_DATA_SUBTYPE_VALID_BIT_POS 8
|
||||||
|
|
||||||
|
/* The bits in this mask mapped to WMI_PEER_CFR_CAPTURE_BW enum */
|
||||||
|
#define WMI_CFR_GROUP_BW_MASK_NUM_BITS 5
|
||||||
|
#define WMI_CFR_GROUP_BW_BIT_POS 0
|
||||||
|
|
||||||
|
/* The bits in this mask correspond to the values as below
|
||||||
|
* bit 0 -> Nss 1
|
||||||
|
* bit 1 -> Nss 2
|
||||||
|
* ...
|
||||||
|
* bit 7 -> Nss 8
|
||||||
|
*/
|
||||||
|
#define WMI_CFR_GROUP_NSS_MASK_NUM_BITS 8
|
||||||
|
#define WMI_CFR_GROUP_NSS_BIT_POS 16
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_TA_ADDR_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_TA_ADDR_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_TA_ADDR_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_TA_ADDR_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_TA_ADDR_MASK_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_TA_ADDR_MASK_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_TA_ADDR_MASK_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_TA_ADDR_MASK_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_RA_ADDR_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_RA_ADDR_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_RA_ADDR_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_RA_ADDR_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_RA_ADDR_MASK_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_RA_ADDR_MASK_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_RA_ADDR_MASK_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_RA_ADDR_MASK_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_BW_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_BW_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_BW_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_BW_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_NSS_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_NSS_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_NSS_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_NSS_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_MGMT_SUBTYPE_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_MGMT_SUBTYPE_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_MGMT_SUBTYPE_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_MGMT_SUBTYPE_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_CTRL_SUBTYPE_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_CTRL_SUBTYPE_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_CTRL_SUBTYPE_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_CTRL_SUBTYPE_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_DATA_SUBTYPE_VALID_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_DATA_SUBTYPE_VALID_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_DATA_SUBTYPE_VALID_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_DATA_SUBTYPE_VALID_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_BW_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_BW_BIT_POS, WMI_CFR_GROUP_BW_MASK_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_BW_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_BW_BIT_POS, WMI_CFR_GROUP_BW_MASK_NUM_BITS)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_NSS_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_GROUP_NSS_BIT_POS, WMI_CFR_GROUP_NSS_MASK_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_GROUP_NSS_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_GROUP_NSS_BIT_POS, WMI_CFR_GROUP_NSS_MASK_NUM_BITS)
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/* Filter group number for which the below filters needs to be applied */
|
||||||
|
A_UINT32 filter_group_id;
|
||||||
|
/* Indicates which of the below filter's value is valid
|
||||||
|
* Bit 0: Ta_addr is valid if set
|
||||||
|
* Bit 1: Ta_addr_mask is valid if set
|
||||||
|
* Bit 2: Ra_addr is valid if set
|
||||||
|
* Bit 3: Ra_addr_mask is valid if set
|
||||||
|
* Bit 4: Bandwidth is valid if set
|
||||||
|
* Bit 5: NSS is valid if set
|
||||||
|
* Bit 6: Mgmt_subtype is valid if set
|
||||||
|
* Bit 7: Ctrl_subtype is valid if set
|
||||||
|
* Bit 8: Data_subtype is valid if set
|
||||||
|
* Bits 31:9 Reserved for future use
|
||||||
|
*/
|
||||||
|
A_UINT32 filter_set_valid_mask;
|
||||||
|
/* ta_addr:
|
||||||
|
* Packets matching the TA_mac addr will be filtered in by MAC
|
||||||
|
* for CFR capture.
|
||||||
|
*/
|
||||||
|
wmi_mac_addr ta_addr;
|
||||||
|
/* ta_addr_mask:
|
||||||
|
* Packets matching the TA_mac addr Mask will be filtered in by MAC
|
||||||
|
* for CFR capture.
|
||||||
|
*/
|
||||||
|
wmi_mac_addr ta_addr_mask;
|
||||||
|
/* ra_addr:
|
||||||
|
* Packets matching the RA_mac addr will be filtered in by MAC
|
||||||
|
* for CFR capture.
|
||||||
|
*/
|
||||||
|
wmi_mac_addr ra_addr;
|
||||||
|
/* ra_addr_mask:
|
||||||
|
* Packets matching the RA_mac addr Mask will be filtered in by MAC
|
||||||
|
* for CFR capture.
|
||||||
|
*/
|
||||||
|
wmi_mac_addr ra_addr_mask;
|
||||||
|
/* bw_nss_filter:
|
||||||
|
* Indicates which bw and nss packets will be filtered for CFR capture
|
||||||
|
* Bits 4:0 CFR capture will be done for packets matching the bandwidths
|
||||||
|
* specified within this bitmask
|
||||||
|
* Bits 15:5 Reserved for future
|
||||||
|
* Bits 23:16 CFR capture will be done for packets matching the Nss
|
||||||
|
* specified within this bitmask
|
||||||
|
* Bits 31:24 Reserved for future
|
||||||
|
*/
|
||||||
|
A_UINT32 bw_nss_filter;
|
||||||
|
/* mgmt_subtype_filter:
|
||||||
|
* Managments Packets matching the subtype filter categories will be
|
||||||
|
* filtered in by MAC for CFR capture.
|
||||||
|
* This is a bitmask, in which each bit represents the corresponding
|
||||||
|
* mgmt subtype value as per ieee80211_defs.h
|
||||||
|
*/
|
||||||
|
A_UINT32 mgmt_subtype_filter;
|
||||||
|
/* ctrl_subtype_filter:
|
||||||
|
* Control Packets matching the subtype filter category will be
|
||||||
|
* filtered in by MAC for CFR capture.
|
||||||
|
* This is a bitmask, in which each bit represents the corresponding
|
||||||
|
* ctrl subtype value as per ieee80211_defs.h
|
||||||
|
*/
|
||||||
|
A_UINT32 ctrl_subtype_filter;
|
||||||
|
/* data_subtype_filter:
|
||||||
|
* Data Packets matching the subtype filter category will be
|
||||||
|
* filtered in by MAC for CFR capture.
|
||||||
|
* This is a bitmask, in which each bit represents the corresponding
|
||||||
|
* data subtype value as per ieee80211_defs.h
|
||||||
|
*/
|
||||||
|
A_UINT32 data_subtype_filter;
|
||||||
|
} wmi_cfr_filter_group_config;
|
||||||
|
|
||||||
|
#define WMI_CFR_DIRECTED_FTM_ACK_EN_BIT_POS 0
|
||||||
|
#define WMI_CFR_ALL_FTM_ACK_EN_BIT_POS 1
|
||||||
|
#define WMI_CFR_NDPA_NDP_DIRECTED_EN_BIT_POS 2
|
||||||
|
#define WMI_CFR_NDPA_NDP_ALL_EN_BIT_POS 3
|
||||||
|
#define WMI_CFR_TA_RA_TYPE_FILTER_EN_BIT_POS 4
|
||||||
|
#define WMI_CFR_ALL_PACKET_EN_BIT_POS 5
|
||||||
|
|
||||||
|
#define WMI_CFR_CAPTURE_INTERVAL_NUM_BITS 24
|
||||||
|
#define WMI_CFR_CAPTURE_INTERVAL_BIT_POS 0
|
||||||
|
|
||||||
|
#define WMI_CFR_CAPTURE_DURATION_NUM_BITS 24
|
||||||
|
#define WMI_CFR_CAPTURE_DURATION_BIT_POS 0
|
||||||
|
|
||||||
|
#define WMI_CFR_FILTER_GROUP_BITMAP_NUM_BITS 16
|
||||||
|
#define WMI_CFR_FILTER_GROUP_BITMAP_BIT_POS 0
|
||||||
|
|
||||||
|
#define WMI_CFR_UL_MU_USER_UPPER_NUM_BITS 5
|
||||||
|
#define WMI_CFR_UL_MU_USER_UPPER_BIT_POS 0
|
||||||
|
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_EN_MASK 1
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_EN_BIT_POS 0
|
||||||
|
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_THR_NUM_BITS 8
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_THR_BIT_POS 1
|
||||||
|
|
||||||
|
#define WMI_CFR_DIRECTED_FTM_ACK_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_DIRECTED_FTM_ACK_EN_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_DIRECTED_FTM_ACK_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_DIRECTED_FTM_ACK_EN_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_ALL_FTM_ACK_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_ALL_FTM_ACK_EN_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_ALL_FTM_ACK_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_ALL_FTM_ACK_EN_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_NDPA_NDP_DIRECTED_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_NDPA_NDP_DIRECTED_EN_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_NDPA_NDP_DIRECTED_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_NDPA_NDP_DIRECTED_EN_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_NDPA_NDP_ALL_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_NDPA_NDP_ALL_EN_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WWMI_CFR_NDPA_NDP_ALL_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_NDPA_NDP_ALL_EN_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_TA_RA_TYPE_FILTER_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_TA_RA_TYPE_FILTER_EN_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_TA_RA_TYPE_FILTER_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_TA_RA_TYPE_FILTER_EN_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WWMI_CFR_ALL_PACKET_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_ALL_PACKET_EN_BIT_POS, 1, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_ALL_PACKET_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_ALL_PACKET_EN_BIT_POS, 1)
|
||||||
|
|
||||||
|
#define WMI_CFR_CAPTURE_INTERVAL_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_CAPTURE_INTERVAL_BIT_POS, WMI_CFR_CAPTURE_INTERVAL_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_CAPTURE_INTERVAL_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_CAPTURE_INTERVAL_BIT_POS, WMI_CFR_CAPTURE_INTERVAL_NUM_BITS)
|
||||||
|
|
||||||
|
#define WMI_CFR_CAPTURE_DURATION_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_CAPTURE_DURATION_BIT_POS, WMI_CFR_CAPTURE_DURATION_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_CAPTURE_DURATION_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_CAPTURE_DURATION_BIT_POS, WMI_CFR_CAPTURE_DURATION_NUM_BITS)
|
||||||
|
|
||||||
|
#define WMI_CFR_FILTER_GROUP_BITMAP_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_FILTER_GROUP_BITMAP_BIT_POS, WMI_CFR_FILTER_GROUP_BITMAP_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_FILTER_GROUP_BITMAP_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_FILTER_GROUP_BITMAP_BIT_POS, WMI_CFR_FILTER_GROUP_BITMAP_NUM_BITS)
|
||||||
|
|
||||||
|
#define WMI_CFR_UL_MU_USER_UPPER_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_UL_MU_USER_UPPER_BIT_POS, WMI_CFR_UL_MU_USER_UPPER_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_UL_MU_USER_UPPER_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_UL_MU_USER_UPPER_BIT_POS, WMI_CFR_UL_MU_USER_UPPER_NUM_BITS)
|
||||||
|
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_EN_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_FREEZE_DELAY_CNT_EN_BIT_POS, WMI_CFR_FREEZE_DELAY_CNT_EN_MASK, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_EN_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_FREEZE_DELAY_CNT_EN_BIT_POS, WMI_CFR_FREEZE_DELAY_CNT_EN_MASK)
|
||||||
|
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_THR_SET(param, value) \
|
||||||
|
WMI_SET_BITS(param, WMI_CFR_FREEZE_DELAY_CNT_THR_BIT_POS, WMI_CFR_FREEZE_DELAY_CNT_THR_NUM_BITS, value)
|
||||||
|
|
||||||
|
#define WMI_CFR_FREEZE_DELAY_CNT_THR_GET(param) \
|
||||||
|
WMI_GET_BITS(param, WMI_CFR_FREEZE_DELAY_CNT_THR_BIT_POS, WMI_CFR_FREEZE_DELAY_CNT_THR_NUM_BITS)
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
/** TLV tag and len; tag equals
|
||||||
|
* WMITLV_TAG_STRUC_wmi_peer_cfr_capture_filter_cmd_fixed_param */
|
||||||
|
A_UINT32 tlv_header;
|
||||||
|
/** pdev_id for identifying the MAC
|
||||||
|
* See macros starting with WMI_PDEV_ID_ for values.
|
||||||
|
* In non-DBDC case host should set it to 0
|
||||||
|
*/
|
||||||
|
A_UINT32 pdev_id;
|
||||||
|
/* filter_type:
|
||||||
|
* Indicates the type of filter to be enabled
|
||||||
|
* Bit 0: Filter Directed FTM ACK frames for CFR capture
|
||||||
|
* Bit 1: Filter All FTM ACK frames for CFR capture
|
||||||
|
* Bit 2: Filter NDPA NDP Directed Frames for CFR capture
|
||||||
|
* Bit 3: Filter Frames based on TA/RA/Subtype as provided
|
||||||
|
* in CFR Group config
|
||||||
|
* Bit 4: Filter in All packets for CFR Capture
|
||||||
|
* Bits 31:5 Reserved for future use
|
||||||
|
*/
|
||||||
|
A_UINT32 filter_type;
|
||||||
|
/* capture_interval:
|
||||||
|
* Capture interval field which is time in between consecutive
|
||||||
|
* CFR capture, in microsecond units
|
||||||
|
* Bits 23:0 Capture interval
|
||||||
|
* Bits 31:24 Reserved for future use
|
||||||
|
*/
|
||||||
|
A_UINT32 capture_interval;
|
||||||
|
/* capture_duration:
|
||||||
|
* Capture Duration field for which CFR capture has to happen,
|
||||||
|
* in microsecond units
|
||||||
|
* Bits 23:0 Capture Duration
|
||||||
|
* Bits 31:24 Reserved for future use
|
||||||
|
*/
|
||||||
|
A_UINT32 capture_duration;
|
||||||
|
/* Bitfields set indicates which of the CFR group config is enabled
|
||||||
|
* Bits 15:0 Filter Group enable Bits
|
||||||
|
* Bits 31:16 Reserved for future use
|
||||||
|
* If Bit 0 is set, then CFR filter group 0 alone is enabled and so on
|
||||||
|
*/
|
||||||
|
A_UINT32 filter_group_bitmap;
|
||||||
|
/* ul_mu_user_mask_lower:
|
||||||
|
* Bitfields indicates which of the users in the current UL MU
|
||||||
|
* tranmission are enabled for CFR capture.
|
||||||
|
* Bits 31 to 0 indicates user indexes for 32 users in a UL MU transmission.
|
||||||
|
* If bit 0 is set, then the CFR capture will happen for user index 0
|
||||||
|
* in the current UL MU Transmission.
|
||||||
|
* If bits 0,2 are set, then CFR capture for UL MU TX corresponds to
|
||||||
|
* user indices 0 and 2.
|
||||||
|
*/
|
||||||
|
A_UINT32 ul_mu_user_mask_lower;
|
||||||
|
/* ul_mu_user_mask_upper:
|
||||||
|
* This is contiuation of the above lower mask.
|
||||||
|
* Bits 4:0 Bitfields indicates user indices from 33 to 37 users.
|
||||||
|
* Bits 31:5 Reserved for future use
|
||||||
|
* If bit 0 is set, then CFR capture is enabled for user index 33
|
||||||
|
* in a UL MU transmission.
|
||||||
|
*/
|
||||||
|
A_UINT32 ul_mu_user_mask_upper;
|
||||||
|
/* freeze_tlv_delay_cnt
|
||||||
|
* Indicates the number of consecutive Rx packets to be skipped
|
||||||
|
* before CFR capture is enabled again.
|
||||||
|
* Bits 8:0 Freeze Delay Count value
|
||||||
|
* Bits 31:9 Reserved for future use
|
||||||
|
*/
|
||||||
|
A_UINT32 freeze_tlv_delay_cnt;
|
||||||
|
/*
|
||||||
|
* A variable-length TLV array of wmi_cfr_filter_group_config will
|
||||||
|
* follow this fixed_param TLV
|
||||||
|
* wmi_cfr_filter_group_config filter_group_config[];
|
||||||
|
*/
|
||||||
|
} wmi_cfr_capture_filter_cmd_fixed_param;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* ADD NEW DEFS HERE */
|
/* ADD NEW DEFS HERE */
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
#define __WMI_VER_MINOR_ 0
|
#define __WMI_VER_MINOR_ 0
|
||||||
/** WMI revision number has to be incremented when there is a
|
/** WMI revision number has to be incremented when there is a
|
||||||
* change that may or may not break compatibility. */
|
* change that may or may not break compatibility. */
|
||||||
#define __WMI_REVISION_ 717
|
#define __WMI_REVISION_ 718
|
||||||
|
|
||||||
/** The Version Namespace should not be normally changed. Only
|
/** The Version Namespace should not be normally changed. Only
|
||||||
* host and firmware of the same WMI namespace will work
|
* host and firmware of the same WMI namespace will work
|
||||||
|
Loading…
x
Reference in New Issue
Block a user