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

Change-Id: I1a17054d7942208a440a26ed2dfecb2e593bd3fe
CRs-Fixed: 3830439
This commit is contained in:
spuligil 2025-11-04 02:35:39 -08:00
commit beec9a1e38
3 changed files with 106 additions and 1 deletions

View file

@ -1518,6 +1518,9 @@ typedef enum {
WMITLV_TAG_STRUC_WMI_MAC_PHY_CAPABILITIES_EXT2,
WMITLV_TAG_STRUC_wmi_peer_assoc_cfp_params,
WMITLV_TAG_STRUC_wmi_pdev_set_tx_chainmask_comp_event_fixed_param,
WMITLV_TAG_STRUC_wmi_fw_ready_ind_event_fixed_param,
WMITLV_TAG_STRUC_wmi_wlan_mode_req_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_wlan_mode_resp_event_fixed_param,
} WMITLV_TAG_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@ -2097,6 +2100,7 @@ typedef enum {
OP(WMI_PEER_ASSOC_V2_CMDID) \
OP(WMI_VDEV_TRAFFIC_MONITORING_CMDID) \
OP(WMI_VDEV_ENERGY_MGMT_DPS_ASSISTING_ROLE_CONFIG_CMDID) \
OP(WMI_WLAN_MODE_REQ_CMDID) \
/* add new CMD_LIST elements above this line */
@ -2438,6 +2442,8 @@ typedef enum {
OP(WMI_PDEV_MULTI_VDEV_AC_QUEUE_DEPTH_EVENTID) \
OP(WMI_VDEV_TPC_IE_POWER_EVENTID) \
OP(WMI_PDEV_SET_TX_CHAINMASK_COMP_EVENTID) \
OP(WMI_FW_READY_IND_EVENTID) \
OP(WMI_WLAN_MODE_RESP_EVENTID) \
/* add new EVT_LIST elements above this line */
@ -5935,6 +5941,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_TRAFFIC_MONITORING_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_energy_mgmt_dps_assisting_role_config_cmd_fixed_param, wmi_vdev_energy_mgmt_dps_assisting_role_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_ENERGY_MGMT_DPS_ASSISTING_ROLE_CONFIG_CMDID);
/* WMI cmd to specify the driver's mode of operation */
#define WMITLV_TABLE_WMI_WLAN_MODE_REQ_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_wlan_mode_req_cmd_fixed_param, wmi_wlan_mode_req_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_MODE_REQ_CMDID);
/************************** TLV definitions of WMI events *******************************/
@ -8092,6 +8103,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_MULTI_VDEV_AC_QUEUE_DEPTH_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_set_tx_chainmask_comp_event_fixed_param, wmi_pdev_set_tx_chainmask_comp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_TX_CHAINMASK_COMP_EVENTID);
/* WMI Event to indicate Firmware is ready for mode configuration by host */
#define WMITLV_TABLE_WMI_FW_READY_IND_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_fw_ready_ind_event_fixed_param, wmi_fw_ready_ind_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_FW_READY_IND_EVENTID);
/* WMI Event to acknowledge the driver mode sent by host */
#define WMITLV_TABLE_WMI_WLAN_MODE_RESP_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_wlan_mode_resp_event_fixed_param, wmi_wlan_mode_resp_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_MODE_RESP_EVENTID);
#ifdef __cplusplus
}

View file

@ -385,6 +385,9 @@ typedef enum {
/** initialize the wlan sub system */
WMI_INIT_CMDID = 0x1,
/** WMI command to specify the driver's mode of operation */
WMI_WLAN_MODE_REQ_CMDID,
/* Scan specific commands */
/** start scan request to FW */
@ -1790,6 +1793,23 @@ typedef enum {
*/
WMI_IFACE_COMBINATION_IND_EVENTID,
/** WMI evt that indicates FW basic initializations are done, and FW
* is ready to receive the WLAN mode specification from the host.
*
* mode selection handshake:
* host <-- WMI_FW_READY_IND_EVENTID <---- target
* host --> WMI_WLAN_MODE_REQ_CMDID -----> target
* host <-- WMI_WLAN_MODE_RESP_EVENTID <-- target
* precedes the WLAN initialization handshake:
* host <-- WMI_SERVICE_READY_EVENTID <--- target
* host --> WMI_INIT_CMDID --------------> target
* host <-- WMI_READY_EVENTID <----------- target
*/
WMI_FW_READY_IND_EVENTID,
/* WMI evt to acknowledge the driver mode specified by host */
WMI_WLAN_MODE_RESP_EVENTID,
/** Scan specific events */
WMI_SCAN_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SCAN),
@ -40237,6 +40257,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_VDEV_GET_TPC_IE_POWER_CMDID);
WMI_RETURN_STRING(WMI_VDEV_TRAFFIC_MONITORING_CMDID);
WMI_RETURN_STRING(WMI_VDEV_ENERGY_MGMT_DPS_ASSISTING_ROLE_CONFIG_CMDID);
WMI_RETURN_STRING(WMI_WLAN_MODE_REQ_CMDID);
}
return (A_UINT8 *) "Invalid WMI cmd";
@ -52361,6 +52382,68 @@ typedef struct {
} wmi_vdev_energy_mgmt_dps_assisting_role_config_cmd_fixed_param;
/* WMI evt to indicate FW is ready */
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_fw_ready_ind_event_fixed_param */
A_UINT32 tlv_header;
} wmi_fw_ready_ind_event_fixed_param;
typedef enum {
WMI_DRIVER_MODE_MISSION,
WMI_DRIVER_MODE_FTM,
WMI_DRIVER_MODE_OFF,
} WMI_DRIVER_MODE;
/** WMI command to indicate the driver mode of operation */
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_wlan_mode_req_cmd_fixed_param */
A_UINT32 tlv_header;
/* This indicates driver mode of operation from host */
A_UINT32 mode; /* refer to WMI_DRIVER_MODE enum */
} wmi_wlan_mode_req_cmd_fixed_param;
typedef enum {
WMI_DRIVER_MODE_RESP_SUCCESS,
WMI_DRIVER_MODE_RESP_FAILURE,
} WMI_WLAN_DRIVER_MODE_RESP_STATUS;
typedef enum {
WMI_DRIVER_FAIL_REASON_UNKNOWN_MODE,
/* In FTM mode, initiate PHY error */
WMI_DRIVER_FAIL_REASON_FTM_PHY_INIT_ERR,
/* For both MISSION and FTM mode, set power error */
WMI_DRIVER_FAIL_REASON_POWER_INIT_ERR,
WMI_DRIVER_FAIL_REASON_MODE_OFF_ERR,
} WMI_WLAN_MODE_FAILURE_REASON;
/* Host/Firmware can get/set the status bits using below macros */
#define WMI_WLAN_DRIVER_MODE_RESP_STATUS_GET(status) WMI_GET_BITS(status, 0, 16)
#define WMI_WLAN_DRIVER_MODE_RESP_STATUS_SET(status, value) WMI_SET_BITS(status, 0, 16, value)
#define WMI_WLAN_DRIVER_MODE_RESP_FAILURE_GET(mode) WMI_GET_BITS(mode, 16, 16)
#define WMI_WLAN_DRIVER_MODE_RESP_FAILURE_SET(mode, value) WMI_GET_BITS(mode, 16, 16, value)
/* WMI evt to acknowledge the driver mode sent by host */
typedef struct {
/** TLV tag and len; tag equals
* WMITLV_TAG_STRUC_wmi_wlan_mode_resp_event_fixed_param */
A_UINT32 tlv_header;
/* The status word contains the following bitfields:
* bits 15:0 - Indicates whether the FW has accepted
* (WMI_DRIVER_MODE_RESP_SUCCESS) or rejected
* (WMI_DRIVER_MODE_RESP_FAILURE) the driver mode
* specified by the host.
* bits 31:16 - Indicates the reason if the FW has rejected
* the driver mode.
* This field is only relevant if the status is
* WMI_DRIVER_MODE_RESP_FAILURE.
*/
A_UINT32 status;
} wmi_wlan_mode_resp_event_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_ 1668
#define __WMI_REVISION_ 1669
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work