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

Change-Id: I564e45fcce93833a171a8e9c4898a52ecf9467bb
WMI: host specify QoS NULL frame for tgt to transmit
CRs-Fixed: 2262693
This commit is contained in:
spuligil 2020-09-25 18:02:08 -07:00
commit 295f2cd53a
4 changed files with 63 additions and 1 deletions

View file

@ -481,6 +481,7 @@ typedef enum {
WMI_SERVICE_UNIFIED_LL_GET_STA_CMD_SUPPORT = 261, /* Indicates that FW supports handling Link Layer and Get Station stats Commands together (WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID) */
WMI_SERVICE_FSE_CMEM_ALLOC_SUPPORT = 262, /* Indicates that FW supports non-secure CMEM allocation for FSE table */
WMI_SERVICE_PASSIVE_SCAN_START_TIME_ENHANCE = 263, /* Indicates FW support to not skip beacon if passive scan dwell time + channel switch delay is lesser than beacon interval */
WMI_SERVICE_QOS_NULL_FRAME_TX_OVER_WMI = 264, /* Indicates that FW supports tx of QoS null frame downloaded through WMI interface */
WMI_MAX_EXT2_SERVICE

View file

@ -1109,6 +1109,8 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_roam_data_rssi_roaming_param,
WMITLV_TAG_STRUC_wmi_request_unified_ll_get_sta_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_sscan_evt_message_fixed_param,
WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_send_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_compl_event_fixed_param,
} WMITLV_TAG_ID;
/*
@ -1559,6 +1561,7 @@ typedef enum {
OP(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID) \
OP(WMI_WFA_CONFIG_CMDID) \
OP(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID) \
OP(WMI_QOS_NULL_FRAME_TX_SEND_CMDID) \
/* add new CMD_LIST elements above this line */
@ -1816,6 +1819,7 @@ typedef enum {
OP(WMI_VDEV_DISCONNECT_EVENTID) \
OP(WMI_TWT_SESSION_STATS_EVENTID) \
OP(WMI_SSCAN_EVT_MESSAGE_EVENTID) \
OP(WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID) \
/* add new EVT_LIST elements above this line */
@ -2662,6 +2666,14 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_SEND_CMDID);
WMITLV_CREATE_PARAM_STRUC(WMI_OFFCHAN_DATA_TX_SEND_CMDID);
/* QoS null tx send cmd */
#define WMITLV_TABLE_WMI_QOS_NULL_FRAME_TX_SEND_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_send_cmd_fixed_param, wmi_qos_null_frame_tx_send_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bufp, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_tx_send_params, wmi_tx_send_params, tx_send_params, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_QOS_NULL_FRAME_TX_SEND_CMDID);
/** PDEV send FILS Discovery frame cmd */
#define WMITLV_TABLE_WMI_PDEV_SEND_FD_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_fd_send_from_host_cmd_fixed_param, wmi_fd_send_from_host_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
@ -4703,6 +4715,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_OFFCHAN_DATA_TX_COMPLETION_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_hdr, mgmt_hdr, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_TX_BUNDLE_COMPLETION_EVENTID);
/* QoS null frame TX completion event */
#define WMITLV_TABLE_WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_compl_event_fixed_param, wmi_qos_null_frame_tx_compl_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID);
/* VDEV Start response Event */
#define WMITLV_TABLE_WMI_VDEV_START_RESP_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_start_response_event_fixed_param, wmi_vdev_start_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)

View file

@ -660,6 +660,8 @@ typedef enum {
WMI_VDEV_BCN_OFFLOAD_QUIET_CONFIG_CMDID,
/** set FILS Discovery frame template for FW to generate FD frames */
WMI_FD_TMPL_CMDID,
/** Transmit QoS null Frame over wmi interface */
WMI_QOS_NULL_FRAME_TX_SEND_CMDID,
/** commands to directly control ba negotiation directly from host. only used in test mode */
@ -1638,6 +1640,10 @@ typedef enum {
* Used only in host beacon mode. */
WMI_HOST_SWBA_V2_EVENTID,
/** Event for QoS null frame TX completion */
WMI_QOS_NULL_FRAME_TX_COMPLETION_EVENTID,
/* ADDBA Related WMI Events*/
/** Indication the completion of the prior
WMI_PEER_TID_DELBA_CMDID(initiator) */
@ -5534,6 +5540,22 @@ typedef struct {
*/
} wmi_offchan_data_tx_send_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_send_cmd_fixed_param */
A_UINT32 vdev_id;
A_UINT32 desc_id; /* echoed in tx_compl_event */
A_UINT32 paddr_lo; /* paddr_lo and padd_hi will hold the address of remote/host buffer, which is physical address of frame */
A_UINT32 paddr_hi;
A_UINT32 frame_len; /* Actual length of frame in bytes*/
A_UINT32 buf_len; /** Buffer length in bytes, length of data DMA'ed to FW from host */
/* This fixed_param TLV is followed by the TLVs listed below:
* 1. ARRAY_BYTE TLV: First buf_len (expected to be 64) bytes of frame
* A_UINT8 bufp[];
* 2. wmi_tx_send_params tx_send_params;
*/
} wmi_qos_null_frame_tx_send_cmd_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_echo_event_fixed_param */
A_UINT32 value;
@ -7485,6 +7507,27 @@ typedef struct {
A_UINT32 ppdu_id;
} wmi_offchan_data_tx_compl_event_fixed_param;
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_qos_null_frame_tx_compl_event_fixed_param */
A_UINT32 desc_id; /* echoed from tx_send_cmd */
A_UINT32 status; /* same status as WMI_MGMT_TX_COMP_STATUS_TYPE */
/** pdev_id for identifying the MAC that transmitted the QoS NULL frame
* See macros starting with WMI_PDEV_ID_ for values.
*/
A_UINT32 pdev_id;
/* ppdu_id
* Hardware PPDU ID for tracking the completion stats
* A ppdu_id value of 0x0 is invalid, and should be ignored.
*/
A_UINT32 ppdu_id;
/* ack_rssi
* TX mgmt ack RSSI report to host.
* Only valid when status == COMPLETE_OK and the ACK_RSSI report is enabled
* ack_rssi is reported in dBm.
*/
A_INT32 ack_rssi;
} wmi_qos_null_frame_tx_compl_event_fixed_param;
typedef struct {
A_UINT32 tlv_header;
A_UINT32 num_reports;
@ -27165,6 +27208,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_AUDIO_AGGR_SET_SCHED_METHOD_CMDID);
WMI_RETURN_STRING(WMI_AUDIO_AGGR_GET_SCHED_METHOD_CMDID);
WMI_RETURN_STRING(WMI_REQUEST_UNIFIED_LL_GET_STA_CMDID);
WMI_RETURN_STRING(WMI_QOS_NULL_FRAME_TX_SEND_CMDID);
}
return "Invalid WMI cmd";

View file

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