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

Change-Id: I368177a34713c2e21c07f844d68f3b0d69dac6a4
CRs-Fixed: 3830439
This commit is contained in:
spuligil 2026-01-16 12:05:18 -08:00
commit 2044eb5632
4 changed files with 344 additions and 13 deletions

View file

@ -751,6 +751,12 @@ typedef enum {
WMI_SERVICE_P2P_CANCEL_ONE_SHOT_NOA_SUPPORT = 487, /* Indicates FW support for P2P GO/GC cancel one-shot NOA feature */
WMI_SERVICE_SMD_BSS_TRANSITION_SUPPORT = 488, /* Indicates FW supports S(eamless)M(obility)D(omain) BSS transition */
/* Service caps related to SMD Roaming - start */
WMI_SERVICE_SMD_SUPPORT_ROAMING = 489,
WMI_SERVICE_SMD_SUPPORT_DL_FORWARD = 490,
WMI_SERVICE_SMD_SUPPORT_UL_FORWARD = 491,
/* Service caps related to SMD Roaming - end */
WMI_MAX_EXT2_SERVICE

View file

@ -1567,6 +1567,12 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_power_datapath_stats_event_fixed_param,
WMITLV_TAG_STRUC_wmi_pdev_power_stats_info,
WMITLV_TAG_STRUC_wmi_pdev_tx_rate_info,
WMITLV_TAG_STRUC_wmi_vdev_start_smd_params,
WMITLV_TAG_STRUC_wmi_smd_roam_config_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_smd_roam_config_event_fixed_param,
WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_complete_event_fixed_param,
WMITLV_TAG_STRUC_wmi_smd_roam_peer_tid_info,
} WMITLV_TAG_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@ -2158,6 +2164,8 @@ typedef enum {
OP(WMI_VDEV_UHR_CU_CMDID) \
OP(WMI_PDEV_UHR_CU_CMDID) \
OP(WMI_PDEV_POWER_DATAPATH_STATS_CMDID) \
OP(WMI_SMD_ROAM_CONFIG_CMDID) \
OP(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID) \
/* add new CMD_LIST elements above this line */
@ -2510,6 +2518,8 @@ typedef enum {
OP(WMI_IPA_RING_STATS_CONF_EVENTID) \
OP(WMI_PDEV_UHR_CU_EVENTID) \
OP(WMI_PDEV_POWER_DATAPATH_STATS_EVENTID) \
OP(WMI_SMD_ROAM_CONFIG_EVENTID) \
OP(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID) \
/* add new EVT_LIST elements above this line */
@ -2531,8 +2541,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_INIT_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_create_cmd_fixed_param, wmi_peer_create_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_create_mlo_params, mlo_params, WMITLV_SIZE_VAR)
/* NOTE:
* Any new TLV addition in WMI_PEER_CREATE_CMDID needs to be included as
* TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID as well to maintain compatibility.
* To maintain compatibility, any new TLV addition in WMI_PEER_CREATE_CMDID
* needs to also be included as a TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID and
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID.
*
* WMI_VDEV_UNIFIED_CONNECT_CMDID substitutes for 5 connection related
* cmds:
@ -2541,6 +2552,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_INIT_CMDID);
* WMI_PEER_ASSOC_CMDID,
* WMI_PEER_ASSOC_V2_CMDID,
* WMI_VDEV_UP_CMDID
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID substitutes for 4 connection related
* cmds:
* WMI_PEER_CREATE_CMDID,
* WMI_PEER_ASSOC_CMDID,
* WMI_PEER_ASSOC_V2_CMDID,
* WMI_VDEV_INSTALL_KEY
*/
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CREATE_CMDID);
@ -2914,7 +2931,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SET_WMM_PARAMS_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_mlo_params, mlo_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_partner_link_params, partner_link_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel, dbw_chan, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbw_chan_info, dbw_chan_info, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dbw_chan_info, dbw_chan_info, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_smd_params, smd_params, WMITLV_SIZE_VAR)
/* NOTE:
* Any new TLV addition in WMI_VDEV_START_REQUEST_CMDID needs to be included as
* TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID as well to maintain compatibility.
@ -3005,7 +3023,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_FD_TMPL_CMDID);
#define WMITLV_TABLE_WMI_VDEV_INSTALL_KEY_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_install_key_cmd_fixed_param, wmi_vdev_install_key_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, key_data, WMITLV_SIZE_VAR)
/* NOTE:
* To maintain compatibility, any new TLV added in WMI_VDEV_INSTALL_KEY_CMDID
* needs to be included as a TLV in WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID too.
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID substitutes for 4 connection related
* cmds:
* WMI_PEER_CREATE_CMDID,
* WMI_PEER_ASSOC_CMDID,
* WMI_PEER_ASSOC_V2_CMDID,
* WMI_VDEV_INSTALL_KEY
*/
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_INSTALL_KEY_CMDID);
/* VDEV set LTF key seed Cmd */
@ -3073,8 +3100,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_cfp_params, wmi_peer_assoc_cfp_params, cfp_params, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_VAR)
/* NOTE:
* Any new TLV addition in WMI_PEER_ASSOC_V2_CMDID needs to be included as
* TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID as well to maintain compatibility.
* To maintain compatibility, any new TLV added in WMI_PEER_ASSOC_V2_CMDID
* needs to be also included as a TLV in WMI_VDEV_UNIFIED_CONNECT_CMDID and
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID.
*
* WMI_VDEV_UNIFIED_CONNECT_CMDID substitutes for 5 connection related
* cmds:
@ -3083,6 +3111,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CMDID);
* WMI_PEER_ASSOC_CMDID,
* WMI_PEER_ASSOC_V2_CMDID,
* WMI_VDEV_UP_CMDID
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID substitutes for 4 connection related
* cmds:
* WMI_PEER_CREATE_CMDID,
* WMI_PEER_ASSOC_CMDID,
* WMI_PEER_ASSOC_V2_CMDID,
* WMI_VDEV_INSTALL_KEY
*/
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_V2_CMDID);
@ -6160,8 +6194,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_WLAN_MODE_REQ_CMDID);
\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_up_cmd_fixed_param, wmi_vdev_up_cmd_fixed_param, vdev_up_fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_co_located_chan_info, vdev_up_co_located_chan_info, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, smd_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_start_smd_params, vdev_smd_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, peer_assoc_v2_smd_params, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UNIFIED_CONNECT_CMDID);
/* WMI command for unified disconnect cmd */
@ -6209,6 +6244,57 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_UHR_CU_CMDID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_uhr_ap_elr_reception_params, elr_reception_params, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UHR_CU_CMDID);
/* WMI command for unified SMD PEER SETUP cmd */
#define WMITLV_TABLE_WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_cmd_fixed_param, wmi_smd_roam_peer_unified_setup_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_smd_roam_peer_tid_info, smd_roam_peer_tid_info, WMITLV_SIZE_VAR) \
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_create_cmd_fixed_param, wmi_peer_create_cmd_fixed_param, peer_create_fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_create_mlo_params, peer_create_mlo_params, WMITLV_SIZE_VAR) \
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param, wmi_peer_assoc_complete_cmd_fixed_param, peer_assoc_fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_assoc_peer_legacy_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_assoc_peer_ht_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vht_rate_set, wmi_vht_rate_set, peer_assoc_peer_vht_rates, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_assoc_peer_he_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, peer_assoc_mlo_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_assoc_peer_eht_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, peer_assoc_partner_link_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_assoc_peer_tid_to_link_map, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_operating_mode_params, peer_assoc_operating_mode_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_mpduq_params, peer_assoc_mgmt_mpduq_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_msduq_params, peer_assoc_mgmt_msduq_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_hol_msduq_params, peer_assoc_hol_mdsuq_params, WMITLV_SIZE_VAR) \
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_complete_cmd_fixed_param, wmi_peer_assoc_complete_cmd_fixed_param, peer_assoc_v2_fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_assoc_v2_peer_legacy_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, peer_assoc_v2_peer_ht_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vht_rate_set, wmi_vht_rate_set, peer_assoc_v2_peer_vht_rates, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_he_rate_set, peer_assoc_v2_peer_he_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_params, peer_assoc_v2_mlo_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_eht_rate_set, peer_assoc_v2_peer_eht_rates, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mlo_partner_link_params, peer_assoc_v2_partner_link_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_tid_to_link_map, peer_assoc_v2_peer_tid_to_link_map, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_operating_mode_params, peer_assoc_v2_operating_mode_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_mpduq_params, peer_assoc_v2_mgmt_mpduq_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_mgmt_msduq_params, peer_assoc_v2_mgmt_msduq_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_assoc_hol_msduq_params, peer_assoc_v2_hol_mdsuq_params, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_npca_cap_params, peer_assoc_v2_peer_npca_cap_params, WMITLV_SIZE_VAR)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_peer_create_mlo_params, peer_assoc_v2_create_mlo_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_cfp_params, wmi_peer_assoc_cfp_params, peer_assoc_v2_cfp_params, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params, wmi_peer_assoc_smd_params, peer_assoc_v2_smd_params, WMITLV_SIZE_FIX) \
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_install_key_cmd_fixed_param, wmi_vdev_install_key_cmd_fixed_param, key_install_fixed_param, WMITLV_SIZE_FIX)\
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, key_data, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID);
/* WMI command for unified SMD Config cmd */
#define WMITLV_TABLE_WMI_SMD_ROAM_CONFIG_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_smd_roam_config_cmd_fixed_param, wmi_smd_roam_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_smd_roam_peer_tid_info, smd_roam_peer_tid_info, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_SMD_ROAM_CONFIG_CMDID);
/************************** TLV definitions of WMI events *******************************/
@ -6490,6 +6576,17 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DELETE_RESP_EVENTID);
/* VDEV Install Key Complete Event */
#define WMITLV_TABLE_WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_install_key_complete_event_fixed_param, wmi_vdev_install_key_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
/* NOTE:
* To maintain compatibility, any new TLV added in
* WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID needs to also be included as a TLV in
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID.
*
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID substitutes for
* 3 connection related events:
* WMI_PEER_CREATE_CONF_EVENTID,
* WMI_PEER_ASSOC_CONF_EVENTID,
* WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID
*/
WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID);
/* VDEV disconnect Event */
@ -7288,14 +7385,20 @@ WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_DELETE_ALL_PEER_RESP_EVENTID);
#define WMITLV_TABLE_WMI_PEER_ASSOC_CONF_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_conf_event_fixed_param, wmi_peer_assoc_conf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
/* NOTE:
* Any new TLV addition in WMI_PEER_ASSOC_CONF_EVENTID needs to be included
* as TLV in WMI_VDEV_UNIFIED_CONNECT_EVENTID as well to maintain compatibility.
* To maintain compatibility, any new TLV added in WMI_PEER_ASSOC_CONF_EVENTID
* needs to also be included as a TLV in WMI_VDEV_UNIFIED_CONNECT_EVENTID and
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID.
*
* WMI_VDEV_UNIFIED_CONNECT_EVENTID substitutes for 3 connection related
* events:
* WMI_PEER_CREATE_CONF_EVENTID,
* WMI_VDEV_START_RESP_EVENTID,
* WMI_PEER_ASSOC_CONF_EVENTID
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID substitutes for
* 3 connection related events:
* WMI_PEER_CREATE_CONF_EVENTID,
* WMI_PEER_ASSOC_CONF_EVENTID,
* WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID
*/
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CONF_EVENTID);
@ -7303,14 +7406,20 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_ASSOC_CONF_EVENTID);
#define WMITLV_TABLE_WMI_PEER_CREATE_CONF_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_create_conf_event_fixed_param, wmi_peer_create_conf_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
/* NOTE:
* Any new TLV addition in WMI_PEER_CREATE_CONF_EVENTID needs to be included
* as TLV in WMI_VDEV_UNIFIED_CONNECT_EVENTID as well to maintain compatibility.
* To maintain compatibility, any new TLV added in WMI_PEER_CREATE_CONF_EVENTID
* needs to also be included as a TLV in WMI_VDEV_UNIFIED_CONNECT_EVENTID and
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID.
*
* WMI_VDEV_UNIFIED_CONNECT_EVENTID substitutes for 3 connection related
* events:
* WMI_PEER_CREATE_CONF_EVENTID,
* WMI_VDEV_START_RESP_EVENTID,
* WMI_PEER_ASSOC_CONF_EVENTID
* WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID substitutes for
* 3 connection related events:
* WMI_PEER_CREATE_CONF_EVENTID,
* WMI_PEER_ASSOC_CONF_EVENTID,
* WMI_VDEV_INSTALL_KEY_COMPLETE_EVENTID
*/
WMITLV_CREATE_PARAM_STRUC(WMI_PEER_CREATE_CONF_EVENTID);
@ -8491,6 +8600,23 @@ WMITLV_CREATE_PARAM_STRUC(WMI_IPA_RING_STATS_CONF_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_uhr_cu_status, cu_status, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_UHR_CU_EVENTID);
/* WMI unified SMD PEER SETUP event */
#define WMITLV_TABLE_WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_complete_event_fixed_param, wmi_smd_roam_peer_unified_setup_complete_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_create_conf_event_fixed_param, wmi_peer_create_conf_event_fixed_param, peer_create_conf_fixed_param, WMITLV_SIZE_FIX) \
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_assoc_conf_event_fixed_param, wmi_peer_assoc_conf_event_fixed_param, peer_assoc_conf_fixed_param, WMITLV_SIZE_FIX)\
/*---*/ \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_install_key_complete_event_fixed_param, wmi_vdev_install_key_complete_event_fixed_param, vdev_install_key_complete_fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID);
/* WMI unified SMD Config event */
#define WMITLV_TABLE_WMI_SMD_ROAM_CONFIG_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_smd_roam_config_event_fixed_param, wmi_smd_roam_config_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_SMD_ROAM_CONFIG_EVENTID);
#ifdef __cplusplus
}
#endif

View file

@ -373,6 +373,7 @@ typedef enum {
WMI_GRP_TDMA, /* 0x4c TDMA */
WMI_GRP_MANUAL_UL_TRIG, /* 0x4d Manual UL OFDMA Trigger */
WMI_GRP_ENERGY_MGMT, /* 0x4e energy management */
WMI_GRP_SMD, /* 0x4f SMD Roaming */
} WMI_GRP_ID;
#define WMI_CMD_GRP_START_ID(grp_id) (((grp_id) << 12) | 0x1)
@ -1814,6 +1815,14 @@ typedef enum {
WMI_ENERGY_MGMT_PUO_CONFIG_CMDID,
/** WMI cmd used to control ECO mode config */
WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID,
/** WMI cmd used to set the SMD Roam config */
WMI_SMD_ROAM_CONFIG_CMDID = WMI_CMD_GRP_START_ID(WMI_GRP_SMD),
/**
* WMI cmd used to set up the peer on the target AP during Prep Phase
* (Combine PeerCreate,Assoc, Key Install)
*/
WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID,
} WMI_CMD_ID;
typedef enum {
@ -2778,6 +2787,14 @@ typedef enum {
* WMI Event to send Manual UL OFDMA Trigger frame RX PPDU info to Host
*/
WMI_MANUAL_UL_OFDMA_TRIG_RX_PEER_USERINFO_EVENTID,
/* WMI event used during SMD Roaming */
WMI_SMD_ROAM_CONFIG_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SMD),
/*
* WMI event to indicate the status of the SMD_ROAM_PEER_UNIFIED_SETUP_CMD
* used during SMD Roaming
*/
WMI_SMD_ROAM_PEER_UNIFIED_SETUP_COMPLETE_EVENTID,
} WMI_EVT_ID;
/* defines for OEM message sub-types */
@ -7961,6 +7978,9 @@ typedef struct {
#define WMI_TX_SEND_FLAG_SET_P2P_FRAME_ON_STA_VDEV 0x00000008
#define WMI_TX_SEND_FLAG_SET_P2P_FRAME_ON_STA_VDEV_GET(tx_flags) WMI_GET_BITS(tx_flags, 3, 1)
#define WMI_TX_SEND_FLAG_SET_P2P_FRAME_ON_STA_VDEV_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 3, 1, value)
#define WMI_TX_SEND_FLAG_SET_SMD_HIGH_PRIORITY_FRAME 0x00000010
#define WMI_TX_SEND_FLAG_SET_SMD_HIGH_PRIORITY_FRAME_GET(tx_flags) WMI_GET_BITS(tx_flags, 4, 1)
#define WMI_TX_SEND_FLAG_SET_SMD_HIGH_PRIORITY_FRAME_SET(tx_flags, value) WMI_SET_BITS(tx_flags, 4, 1, value)
typedef struct {
A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_tx_send_params */
@ -17586,6 +17606,33 @@ typedef struct {
#define WMI_SCAN_MODE_VDEV_FLAG_ENABLED(flag) ((flag & VDEV_FLAGS_SCAN_MODE_VAP) ? 1 : 0)
#define WMI_VDEV_START_SMD_FLAGS_GET_ROAM_ENABLED(mlo_flags) WMI_GET_BITS(mlo_flags, 0, 1)
#define WMI_VDEV_START_SMD_FLAGS_SET_ROAM_ENABLED(mlo_flags, value) WMI_SET_BITS(mlo_flags, 0, 1, value)
#define WMI_VDEV_START_SMD_FLAGS_GET_DL_DATA_FORWARDING(mlo_flags) WMI_GET_BITS(mlo_flags, 1, 1)
#define WMI_VDEV_START_SMD_FLAGS_SET_DL_DATA_FORWARDING(mlo_flags, value) WMI_SET_BITS(mlo_flags, 1, 1, value)
#define WMI_VDEV_START_SMD_FLAGS_GET_UL_DATA_FORWARDING(mlo_flags) WMI_GET_BITS(mlo_flags, 2, 1)
#define WMI_VDEV_START_SMD_FLAGS_SET_UL_DATA_FORWARDING(mlo_flags, value) WMI_SET_BITS(mlo_flags, 2, 1, value)
#define WMI_VDEV_START_SMD_FLAGS_GET_PTK_MODE(mlo_flags) WMI_GET_BITS(mlo_flags, 3, 1)
#define WMI_VDEV_START_SMD_FLAGS_SET_PTK_MODE(mlo_flags, value) WMI_SET_BITS(mlo_flags, 3, 1, value)
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len;tag equals WMITLV_TAG_STRUC_wmi_vdev_start_smd_params*/
/** MLD MAC address */
wmi_mac_addr smd_macaddr;
union {
struct {
A_UINT32 roam_enabled :1,
dl_data_forwarding :1,
ul_data_forwarding :1,
ptk_mode :1,
reserved :28;
};
A_UINT32 smd_flags;
};
} wmi_vdev_start_smd_params;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_create_cmd_fixed_param */
/** unique id identifying the VDEV, generated by the caller */
@ -18653,6 +18700,7 @@ typedef struct {
* optional TLV for dbw_chan
* wmi_dbw_chan_info dbw_chan_info
* optional TLV used for dbw_chan_info
* wmi_vdev_start_smd_params smd_params;
*/
} wmi_vdev_start_request_cmd_fixed_param;
@ -22418,6 +22466,8 @@ typedef struct {
#define WMI_PEER_EXT_PROTECTED_TWT 0x00000040 /* Protected TWT operation Support field in Extended RSN Capabilities element */
#define WMI_PEER_EXT_UHR 0x00000080 /* UHR enabled */
#define WMI_PEER_EXT_F_CRIT_PROTO_HINT_ENABLED 0x40000000
#define WMI_PEER_EXT_SMD_ASSOC 0x80000000
/**
* Peer rate capabilities.
@ -22736,6 +22786,13 @@ typedef struct {
A_UINT32 cfp_padding_delay;
} wmi_peer_assoc_cfp_params; /* cfp -> control frame protection */
#define WMI_PEER_ASSOC_SMD_FLAGS_GET_ROAM_ENABLED(mlo_flags) WMI_GET_BITS(mlo_flags, 0, 1)
#define WMI_PEER_ASSOC_SMD_FLAGS_SET_ROAM_ENABLED(mlo_flags, value) WMI_SET_BITS(mlo_flags, 0, 1, value)
#define WMI_PEER_ASSOC_SMD_FLAGS_GET_DL_DATA_FORWARDING(mlo_flags) WMI_GET_BITS(mlo_flags, 1, 1)
#define WMI_PEER_ASSOC_SMD_FLAGS_SET_DL_DATA_FORWARDING(mlo_flags, value) WMI_SET_BITS(mlo_flags, 1, 1, value)
#define WMI_PEER_ASSOC_SMD_FLAGS_GET_UL_DATA_FORWARDING(mlo_flags) WMI_GET_BITS(mlo_flags, 2, 1)
#define WMI_PEER_ASSOC_SMD_FLAGS_SET_UL_DATA_FORWARDING(mlo_flags, value) WMI_SET_BITS(mlo_flags, 2, 1, value)
/* This TLV structure used to pass smd Parameters on peer assoc */
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_peer_assoc_smd_params */
@ -22743,6 +22800,15 @@ typedef struct {
wmi_mac_addr smd_identifier;
/** SMD capabilities defined in 802.11BN-SMD Information element */
A_UINT32 smd_capabilities;
union {
struct {
A_UINT32 roam_enabled :1,
dl_data_forwarding :1,
ul_data_forwarding :1,
reserved :29;
};
A_UINT32 smd_flags;
};
} wmi_peer_assoc_smd_params;
/*
@ -22953,6 +23019,7 @@ typedef struct {
* If the peer is non-MLO, the array length should be 0.
* Only mlo_enable flag required by MCC to decide MAC address
* to be used.
* wmi_peer_assoc_smd_params peer_assoc_smd_params;
*/
} wmi_peer_assoc_complete_cmd_fixed_param;
@ -41092,6 +41159,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_VDEV_REPURPOSE_RESP_CMDID);
WMI_RETURN_STRING(WMI_IPA_RING_STATS_REQ_CMDID);
WMI_RETURN_STRING(WMI_PDEV_POWER_DATAPATH_STATS_CMDID);
WMI_RETURN_STRING(WMI_SMD_ROAM_CONFIG_CMDID);
WMI_RETURN_STRING(WMI_SMD_ROAM_PEER_UNIFIED_SETUP_CMDID);
}
return (A_UINT8 *) "Invalid WMI cmd";
@ -53932,6 +54001,136 @@ typedef struct {
} wmi_pdev_uhr_cu_event_fixed_param;
typedef enum {
WMI_SMD_ROAM_CONFIG_ROLE_SERVING_AP = 1,
WMI_SMD_ROAM_CONFIG_ROLE_TARGET_AP,
WMI_SMD_ROAM_CONFIG_ROLE_STA,
} wmi_smd_roam_config_role;
typedef enum {
WMI_SMD_ROAM_CONFIG_CMD_PREP_REQ = 1,
WMI_SMD_ROAM_CONFIG_CMD_PREP_RESP,
WMI_SMD_ROAM_CONFIG_CMD_EXEC_REQ,
WMI_SMD_ROAM_CONFIG_CMD_EXEC_RESP,
WMI_SMD_ROAM_CONFIG_CMD_DYNAMIC_CONTEXT,
WMI_SMD_ROAM_CONFIG_CMD_TERMINATION,
} wmi_smd_roam_config_cmd_type;
#define WMI_SMD_ROAM_FLAG_DL_SN_NOT_TRANSFFERED 0x01
#define WMI_SMD_ROAM_FLAG_UL_SN_NOT_TRANSFFERED 0x02
#define WMI_SMD_ROAM_FLAG_DISABLE_LINK 0x04
#define WMI_SMD_ROAM_PEER_GET_MLSN(dword) \
WMI_GET_BITS(dword, 0, 16)
#define WMI_SMD_ROAM_PEER_SET_MLSN(dword, value) \
WMI_SET_BITS(dword, 0, 16, value)
#define WMI_SMD_ROAM_PEER_GET_OFFSET(dword) \
WMI_GET_BITS(dword, 16, 16)
#define WMI_SMD_ROAM_PEER_SET_OFFSET(dword, value) \
WMI_SET_BITS(dword, 16, 16, value)
typedef struct {
A_UINT32 tlv_header; /* WMITLV_TAG_STRUC_wmi_smd_roam_peer_tid_info */
A_UINT32 tid_num;
union {
A_UINT32 mlsn__offset__word32;
struct {
A_UINT32 mlsn: 16,
offset: 16;
};
};
} wmi_smd_roam_peer_tid_info;
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_GET_ROLE(cmd_flags) WMI_GET_BITS(mlo_flags, 0, 4)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_SET_ROLE(cmd_flags, value) WMI_SET_BITS(mlo_flags, 0, 4, value)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_GET_CMD_TYPE(cmd_flags) WMI_GET_BITS(mlo_flags, 4, 8)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_SET_CMD_TYPE(cmd_flags, value) WMI_SET_BITS(mlo_flags, 4, 8, value)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_GET_STATUS(cmd_flags) WMI_GET_BITS(mlo_flags, 12, 8)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_SET_STATUS(cmd_flags, value) WMI_SET_BITS(mlo_flags, 12, 8, value)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_GET_ROAM_FLAGS(cmd_flags) WMI_GET_BITS(mlo_flags, 20, 8)
#define WMI_SMD_ROAM_CONFIG_CMD_FLAGS_SET_ROAM_FLAGS(cmd_flags, value) WMI_SET_BITS(mlo_flags, 20, 8, value)
typedef enum {
WMI_SMD_ROAM_CONFIG_CMD_SUCCESS = 0,
WMI_SMD_ROAM_CONFIG_CMD_FAILURE,
} wmi_smd_roam_config_cmd_status;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_smd_roam_config_cmd_fixed_param */
/** global unique ID identifying vdev */
A_UINT32 vdev_id;
/** PEER MAC address */
wmi_mac_addr peer_mac_addr;
union {
A_UINT32 cmd_flags;
struct {
A_UINT32 role :4, /* wmi_smd_config_role */
cmd_type :8, /* wmi_smd_config_cmd_type */
status :8, /* wmi_smd_roam_config_cmd_status */
roam_flags :8, /* WMI_SMD_ROAM_FLAG_* */
reserved :4;
};
};
A_UINT32 dl_drain_time; /* units = milliseconds */
/*
* Followed by per tid tlv wmi_smd_roam_peer_tid_info[].
* Present when dynamic context is set.
*/
} wmi_smd_roam_config_cmd_fixed_param;
#define WMI_SMD_ROAM_CONFIG_EVENT_FLAGS_GET_ROLE(event_flags) WMI_GET_BITS(mlo_flags, 0, 4)
#define WMI_SMD_ROAM_CONFIG_EVENT_FLAGS_SET_ROLE(event_flags, value) WMI_SET_BITS(mlo_flags, 0, 4, value)
#define WMI_SMD_ROAM_CONFIG_EVENT_FLAGS_GET_CMD_TYPE(event_flags) WMI_GET_BITS(mlo_flags, 4, 8)
#define WMI_SMD_ROAM_CONFIG_EVENT_FLAGS_SET_CMD_TYPE(event_flags, value) WMI_SET_BITS(mlo_flags, 4, 8, value)
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; */
/** global unique ID identifying vdev */
A_UINT32 vdev_id;
/** PEER MAC address */
wmi_mac_addr peer_mac_address;
/* maximum ST Transitory Duration */
A_UINT32 dl_drain_time; /* units = milliseconds */
union {
A_UINT32 event_flags;
struct {
A_UINT32 role:4,
cmd_type:8,
unused:20;
};
};
} wmi_smd_roam_config_event_fixed_param;
typedef struct {
A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_cmd_fixed_param */
/** global unique ID identifying peer */
A_UINT32 peer_id;
/*
* Following this struct are the TLV's:
* wmi_smd_roam_peer_tid_info smd_tid_info[], TLV per TID;
*/
} wmi_smd_roam_peer_unified_setup_cmd_fixed_param;
typedef enum {
WMI_SMD_PEER_SETUP_SUCCESS = 0,
WMI_SMD_PEER_SETUP_FAILURE,
} wmi_smd_peer_setup_status_type;
typedef struct {
/* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_smd_roam_peer_unified_setup_complete_event_fixed_param */
A_UINT32 tlv_header;
/** global unique ID identifying peer */
A_UINT32 peer_id;
A_UINT32 status; /** wmi_smd_peer_setup_status_type */
} wmi_smd_roam_peer_unified_setup_complete_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_ 1700
#define __WMI_REVISION_ 1701
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work