fw-api: CL 21817763 - update fw common interface files

Change-Id: I1d2b261a12d7c9dc5ac029e96a8182326b7c8a85
WMI: add VDEV_STANDALONE SOUND_CMD + SOUND_COMPLETE_EVENT msg defs
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2023-02-28 18:01:13 -08:00
commit a68a213d9b
4 changed files with 166 additions and 2 deletions

View file

@ -619,6 +619,7 @@ typedef enum {
WMI_SERVICE_CFR_CAPTURE_PDEV_ID_SOC = 366, /* Host can send PDEV_ID_SOC with CFR capture request and FW can derive pdev_id from TA address */
WMI_SERVICE_11BE_MLO_TDLS_SUPPORT = 367, /* Indicates FW supports 11be MLO TDLS. Host should enable 11be on TDLS only when FW indicates the support. */
WMI_SERVICE_MANUAL_ULOFDMA_TRIGGER_SUPPORT = 368, /* Support for Host triggered Manual UL OFDMA trigger frame feature */
WMI_SERVICE_STANDALONE_SOUND = 369, /* FW supports standalone sounding */
WMI_MAX_EXT2_SERVICE

View file

@ -1350,6 +1350,9 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_vdev_set_manual_mu_trig_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_manual_ul_ofdma_trig_feedback_evt_fixed_param,
WMITLV_TAG_STRUC_wmi_mlo_peer_link_control_param,
WMITLV_TAG_STRUC_wmi_dma_buf_release_cv_upload_meta_data,
WMITLV_TAG_STRUC_wmi_standalone_sounding_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_standalone_sounding_evt_fixed_param,
} WMITLV_TAG_ID;
/*
@ -1873,6 +1876,7 @@ typedef enum {
OP(WMI_MLO_VDEV_GET_LINK_INFO_CMDID) \
OP(WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID) \
OP(WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID) \
OP(WMI_VDEV_STANDALONE_SOUND_CMDID) \
/* add new CMD_LIST elements above this line */
@ -2176,6 +2180,7 @@ typedef enum {
OP(WMI_CSA_IE_RECEIVED_EVENTID) \
OP(WMI_MLO_VDEV_LINK_INFO_EVENTID) \
OP(WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID) \
OP(WMI_VDEV_STANDALONE_SOUND_COMPLETE_EVENTID) \
/* add new EVT_LIST elements above this line */
@ -5323,6 +5328,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID);
WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, peer_macaddr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID);
/* Standalone Sound Cmd */
#define WMITLV_TABLE_WMI_VDEV_STANDALONE_SOUND_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_standalone_sounding_cmd_fixed_param, wmi_standalone_sounding_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, peer_list, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_STANDALONE_SOUND_CMDID);
/************************** TLV definitions of WMI events *******************************/
@ -6834,7 +6845,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DMA_RING_CFG_RSP_EVENTID);
#define WMITLV_TABLE_WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_dma_buf_release_fixed_param, wmi_dma_buf_release_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dma_buf_release_entry, entries, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dma_buf_release_spectral_meta_data, meta_data, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dma_buf_release_spectral_meta_data, meta_data, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dma_buf_release_cv_upload_meta_data, cv_meta_data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_DMA_RING_BUF_RELEASE_EVENTID);
/* ctl failsafe check event */
@ -7223,6 +7235,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_VDEV_LINK_INFO_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_FIXED_STRUC, wmi_mac_addr, peer_macaddr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MANUAL_UL_OFDMA_TRIG_FEEDBACK_EVENTID);
/* WMI standalone sound complete event */
#define WMITLV_TABLE_WMI_VDEV_STANDALONE_SOUND_COMPLETE_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_standalone_sounding_evt_fixed_param, wmi_standalone_sounding_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, snd_failed, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_STANDALONE_SOUND_COMPLETE_EVENTID);
#ifdef __cplusplus

View file

@ -1230,6 +1230,9 @@ typedef enum {
/* H2T HPA message */
WMI_HPA_CMDID,
/* WMI comamnd for standalone sounding */
WMI_VDEV_STANDALONE_SOUND_CMDID,
/* Offload 11k related requests */
WMI_11K_OFFLOAD_REPORT_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_11K_OFFLOAD),
/* invoke neighbor report from FW */
@ -2207,6 +2210,9 @@ typedef enum {
/* T2H HPA message */
WMI_HPA_EVENTID,
/* WMI standalone command complete Event */
WMI_VDEV_STANDALONE_SOUND_COMPLETE_EVENTID,
/* GPIO Event */
WMI_GPIO_INPUT_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_GPIO),
@ -33440,6 +33446,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_MLO_VDEV_GET_LINK_INFO_CMDID);
WMI_RETURN_STRING(WMI_VDEV_SET_ULOFDMA_MANUAL_SU_TRIG_CMDID);
WMI_RETURN_STRING(WMI_VDEV_SET_ULOFDMA_MANUAL_MU_TRIG_CMDID);
WMI_RETURN_STRING(WMI_VDEV_STANDALONE_SOUND_CMDID);
}
return (A_UINT8 *) "Invalid WMI cmd";
@ -35275,6 +35282,7 @@ typedef struct {
typedef enum {
WMI_DMA_RING_CONFIG_MODULE_SPECTRAL,
WMI_DMA_RING_CONFIG_MODULE_RTT,
WMI_DMA_RING_CONFIG_MODULE_CV_UPLOAD,
} WMI_DMA_RING_SUPPORTED_MODULE;
typedef struct {
@ -35433,6 +35441,7 @@ typedef struct {
/* This TLV is followed by another TLV of array of structs.
* wmi_dma_buf_release_entry entries[num_buf_release_entry];
* wmi_dma_buf_release_spectral_meta_data meta_datat[num_meta_data_entry];
* wmi_dma_buf_release_cv_upload_meta_data cv_meta_data[num_meta_data_entry]
*/
} wmi_dma_buf_release_fixed_param;
@ -42153,6 +42162,142 @@ typedef struct {
} wmi_vdev_set_manual_su_trig_cmd_fixed_param;
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_SET_ASNR_LENGTH(asnr_params, value) \
WMI_SET_BITS(asnr_params, 0, 16, value)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_GET_ASNR_LENGTH(asnr_params) \
WMI_GET_BITS(asnr_params, 0, 16)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_SET_ASNR_OFFSET(asnr_params, value) \
WMI_SET_BITS(asnr_params, 16, 16, value)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_GET_ASNR_OFFSET(asnr_params) \
WMI_GET_BITS(asnr_params, 16, 16)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_SET_DSNR_LENGTH(dsnr_params, value) \
WMI_SET_BITS(dsnr_params, 0, 16, value)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_GET_DSNR_LENGTH(dsnr_params) \
WMI_GET_BITS(dsnr_params, 0, 16)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_SET_DSNR_OFFSET(dsnr_params, value) \
WMI_SET_BITS(dsnr_params, 16, 16, value)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_GET_DSNR_OFFSET(dsnr_params) \
WMI_GET_BITS(dsnr_params, 16, 16)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_SET_FB_PARAMS_NC(fb_params, value) \
WMI_SET_BITS(fb_params, 0, 2, value)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_GET_FB_PARAMS_NC(fb_params) \
WMI_GET_BITS(fb_params, 0, 2)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_SET_FB_PARAMS_NSS_NUM(fb_params, value) \
WMI_SET_BITS(fb_params, 2, 2, value)
#define WMI_DMA_BUF_RELEASE_CV_UPLOAD_GET_FB_PARAMS_NSS_NUM(fb_params) \
WMI_GET_BITS(fb_params, 2, 2)
#define WMI_SET_STANDALONE_SOUND_PARAMS_FB_TYPE(snd_params, value) \
WMI_SET_BITS(snd_params, 0, 1, value)
#define WMI_GET_STANDALONE_SOUND_PARAMS_FB_TYPE(snd_params) \
WMI_GET_BITS(snd_params, 0, 1)
#define WMI_SET_STANDALONE_SOUND_PARAMS_NG(snd_params, value) \
WMI_SET_BITS(snd_params, 1, 2, value)
#define WMI_GET_STANDALONE_SOUND_PARAMS_NG(snd_params) \
WMI_GET_BITS(snd_params, 1, 2)
#define WMI_SET_STANDALONE_SOUND_PARAMS_CB(snd_params, value) \
WMI_SET_BITS(snd_params, 3, 1, value)
#define WMI_GET_STANDALONE_SOUND_PARAMS_CB(snd_params) \
WMI_GET_BITS(snd_params, 3, 1)
#define WMI_SET_STANDALONE_SOUND_PARAMS_BW(snd_params, value) \
WMI_SET_BITS(snd_params, 4, 3, value)
#define WMI_GET_STANDALONE_SOUND_PARAMS_BW(snd_params) \
WMI_GET_BITS(snd_params, 4, 3)
typedef enum _WMI_STANDALONE_SOUND_STATUS_T {
WMI_STANDALONE_SOUND_STATUS_OK,
WMI_STANDALONE_SOUND_STATUS_ERR_NUM_PEERS_EXCEEDED,
WMI_STANDALONE_SOUND_STATUS_ERR_NG_INVALID,
WMI_STANDALONE_SOUND_STATUS_ERR_NUM_REPEAT_EXCEEDED,
WMI_STANDALONE_SOUND_STATUS_ERR_PEER_DOESNOT_SUPPORT_BW,
WMI_STANDALONE_SOUND_STATUS_ERR_INVALID_PEER,
WMI_STANDALONE_SOUND_STATUS_ERR_INVALID_VDEV,
WMI_STANDALONE_SOUND_STATUS_ERR_PEER_DOES_NOT_SUPPORT_MU_FB,
WMI_STANDALONE_SOUND_STATUS_ERR_DMA_NOT_CONFIGURED,
WMI_STANDALONE_SOUND_STATUS_ERR_COMPLETE_FAILURE,
} WMI_STANDALONE_SOUND_STATUS_T;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_dma_buf_release_cv_upload_meta_data */
/** Set if the CV is valid */
A_UINT32 is_valid;
/** Feedback type */
A_UINT32 fb_type;
/**
* [15:0] ASNR length
* [31:16] ASNR offset
*/
A_UINT32 asnr_params;
/**
* [15:0] DSNR length
* [31:16] DSNR offset
*/
A_UINT32 dsnr_params;
/** Peer mac address */
wmi_mac_addr peer_mac_address;
/**
* [1:0] Nc
* [3:2] nss_num
*/
A_UINT32 fb_params;
} wmi_dma_buf_release_cv_upload_meta_data;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_standalone_sounding_cmd_fixed_param */
/** vdev identifier */
A_UINT32 vdev_id;
/** sounding_params:
* [0] Feedback type
* [2:1] Ng
* [3] Codebook
* [6:4] BW
* 0 = 20 MHz
* 1 = 40 MHz
* 2 = 80 MHz
* 3 = 160 MHz
* 4 = 320 MHz
* [31:7] Reserved
*/
A_UINT32 sounding_params;
/** The number of sounding repeats */
A_UINT32 num_sounding_repeats;
/**
* TLV (tag length value) parameters follow the
* structure. The TLV's are:
* wmi_mac_addr peer_list[num_peers];
*/
} wmi_standalone_sounding_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_standalone_sounding_evt_fixed_param */
/** vdev identifier */
A_UINT32 vdev_id;
/** status:
* standalone sounding command status -
* refer to WMI_STANDALONE_SOUND_STATUS_T
*/
A_UINT32 status;
/** number of CV buffers uploaded */
A_UINT32 buffer_uploaded;
/** TLV (tag length value) parameters follow the
* structure. The TLV's are:
* A_UINT32 snd_failed[num_sounding_repeats];
* snd_failed[] array's elements hold the number of failures
* for each sounding.
*/
} wmi_standalone_sounding_evt_fixed_param;
/* ADD NEW DEFS HERE */

View file

@ -37,7 +37,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_ 1295
#define __WMI_REVISION_ 1296
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work