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

Change-Id: I033b923f399fc4c1fbcd58eea3229c4a1c126ce1
WMI: add MLO link removal msg defs
CRs-Fixed: 2262693
Цей коміт міститься в:
spuligil
2022-11-09 18:00:59 -08:00
джерело d10f39a348
коміт a6ef93afd5
3 змінених файлів з 88 додано та 3 видалено

Переглянути файл

@@ -1303,6 +1303,10 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_livedump_request_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_livedump_request_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param, WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param,
WMITLV_TAG_STRUC_wmi_prb_resp_tmpl_ml_info, WMITLV_TAG_STRUC_wmi_prb_resp_tmpl_ml_info,
WMITLV_TAG_STRUC_wmi_mlo_link_removal_tbtt_count,
WMITLV_TAG_STRUC_wmi_mlo_link_removal_tbtt_update,
WMITLV_TAG_STRUC_wmi_mlo_link_removal_evt_fixed_param,
WMITLV_TAG_STRUC_wmi_mlo_link_removal_cmd_fixed_param,
} WMITLV_TAG_ID; } WMITLV_TAG_ID;
/* /*
@@ -1813,6 +1817,7 @@ typedef enum {
OP(WMI_XGAP_ENABLE_CMDID) \ OP(WMI_XGAP_ENABLE_CMDID) \
OP(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID) \ OP(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID) \
OP(WMI_ODD_LIVEDUMP_REQUEST_CMDID) \ OP(WMI_ODD_LIVEDUMP_REQUEST_CMDID) \
OP(WMI_MLO_LINK_REMOVAL_CMDID) \
/* add new CMD_LIST elements above this line */ /* add new CMD_LIST elements above this line */
@@ -2108,6 +2113,7 @@ typedef enum {
OP(WMI_PDEV_SCHED_TIDQ_SUSP_INFO_EVENTID) \ OP(WMI_PDEV_SCHED_TIDQ_SUSP_INFO_EVENTID) \
OP(WMI_XGAP_ENABLE_COMPLETE_EVENTID) \ OP(WMI_XGAP_ENABLE_COMPLETE_EVENTID) \
OP(WMI_ODD_LIVEDUMP_RESPONSE_EVENTID) \ OP(WMI_ODD_LIVEDUMP_RESPONSE_EVENTID) \
OP(WMI_MLO_LINK_REMOVAL_EVENTID) \
/* add new EVT_LIST elements above this line */ /* add new EVT_LIST elements above this line */
@@ -5442,7 +5448,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STA_KICKOUT_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_frame_pn_params, pn_params, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_ml_info, ml_info, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mgmt_ml_info, ml_info, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, bpcc_bufp, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_is_my_mgmt_frame, my_frame, WMITLV_SIZE_VAR) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_is_my_mgmt_frame, my_frame, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_removal_tbtt_count, link_removal_tbtt_count, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID); WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_RX_EVENTID);
/* Management Rx FW Consumed Event */ /* Management Rx FW Consumed Event */
@@ -7022,6 +7029,16 @@ WMITLV_CREATE_PARAM_STRUC(WMI_XGAP_ENABLE_COMPLETE_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param, wmi_livedump_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_livedump_response_event_fixed_param, wmi_livedump_response_event_fixed_param, fixed_param, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_ODD_LIVEDUMP_RESPONSE_EVENTID); WMITLV_CREATE_PARAM_STRUC(WMI_ODD_LIVEDUMP_RESPONSE_EVENTID);
#define WMITLV_TABLE_WMI_MLO_LINK_REMOVAL_CMDID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_removal_cmd_fixed_param, wmi_mlo_link_removal_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, reconfig_ml_ie, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_REMOVAL_CMDID);
#define WMITLV_TABLE_WMI_MLO_LINK_REMOVAL_EVENTID(id,op,buf,len) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_removal_evt_fixed_param, wmi_mlo_link_removal_evt_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_removal_tbtt_update, wmi_mlo_link_removal_tbtt_update, tbtt_update, WMITLV_SIZE_FIX)
WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_REMOVAL_EVENTID);

Переглянути файл

@@ -1531,6 +1531,8 @@ typedef enum {
WMI_MLO_TEARDOWN_CMDID, WMI_MLO_TEARDOWN_CMDID,
/** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */ /** WMI cmd used to setup Tid to Link Mapping for a MLO Peer */
WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID, WMI_MLO_PEER_TID_TO_LINK_MAP_CMDID,
/** WMI cmd for dynamically deleting a link from a MLD VAP */
WMI_MLO_LINK_REMOVAL_CMDID,
/** WMI commands specific to Service Aware WiFi (SAWF) */ /** WMI commands specific to Service Aware WiFi (SAWF) */
/** configure or reconfigure the parameters for a service class */ /** configure or reconfigure the parameters for a service class */
@@ -2331,6 +2333,8 @@ typedef enum {
WMI_MLO_SETUP_COMPLETE_EVENTID, WMI_MLO_SETUP_COMPLETE_EVENTID,
/* Response event for MLO teardown cmd */ /* Response event for MLO teardown cmd */
WMI_MLO_TEARDOWN_COMPLETE_EVENTID, WMI_MLO_TEARDOWN_COMPLETE_EVENTID,
/* Response event for Link Removal Cmd */
WMI_MLO_LINK_REMOVAL_EVENTID,
/* WMI event specific to Quiet handling */ /* WMI event specific to Quiet handling */
WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL), WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL),
@@ -12693,6 +12697,10 @@ typedef struct {
#define WMI_MLO_FLAGS_SET_EMLSR_SUPPORT(mlo_flags, value) WMI_SET_BITS(mlo_flags, 6, 1, value) #define WMI_MLO_FLAGS_SET_EMLSR_SUPPORT(mlo_flags, value) WMI_SET_BITS(mlo_flags, 6, 1, value)
#define WMI_MLO_FLAGS_GET_FORCE_LINK_INACTIVE(mlo_flags) WMI_GET_BITS(mlo_flags, 7, 1) #define WMI_MLO_FLAGS_GET_FORCE_LINK_INACTIVE(mlo_flags) WMI_GET_BITS(mlo_flags, 7, 1)
#define WMI_MLO_FLAGS_SET_FORCE_LINK_INACTIVE(mlo_flags, value) WMI_SET_BITS(mlo_flags, 7, 1, value) #define WMI_MLO_FLAGS_SET_FORCE_LINK_INACTIVE(mlo_flags, value) WMI_SET_BITS(mlo_flags, 7, 1, value)
#define WMI_MLO_FLAGS_GET_LINK_ADD(mlo_flags) WMI_GET_BITS(mlo_flags, 8, 1)
#define WMI_MLO_FLAGS_SET_LINK_ADD(mlo_flags, value) WMI_SET_BITS(mlo_flags, 8, 1, value)
#define WMI_MLO_FLAGS_GET_LINK_DEL(mlo_flags) WMI_GET_BITS(mlo_flags, 9, 1)
#define WMI_MLO_FLAGS_SET_LINK_DEL(mlo_flags, value) WMI_SET_BITS(mlo_flags, 9, 1, value)
/* this structure used for pass mlo flags*/ /* this structure used for pass mlo flags*/
typedef struct { typedef struct {
@@ -12706,7 +12714,9 @@ typedef struct {
mlo_mcast_vdev:1, /* indicate this is the MLO mcast primary vdev */ mlo_mcast_vdev:1, /* indicate this is the MLO mcast primary vdev */
emlsr_support:1, /* indicate that eMLSR is supported */ emlsr_support:1, /* indicate that eMLSR is supported */
mlo_force_link_inactive:1, /* indicate this link is forced inactive */ mlo_force_link_inactive:1, /* indicate this link is forced inactive */
unused: 24; mlo_link_add:1, /* Indicate dynamic link addition in an MLD VAP */
mlo_link_del:1, /* Indicate dynamic link deletion in an MLD VAP */
unused: 22;
}; };
A_UINT32 mlo_flags; A_UINT32 mlo_flags;
}; };
@@ -12717,6 +12727,7 @@ typedef struct {
A_UINT32 vdev_id; /** partner vdev_id */ A_UINT32 vdev_id; /** partner vdev_id */
A_UINT32 hw_link_id; /** hw_link_id: Unique link id across SOCs, got as part of QMI handshake */ A_UINT32 hw_link_id; /** hw_link_id: Unique link id across SOCs, got as part of QMI handshake */
wmi_mac_addr vdev_macaddr; /** VDEV MAC address */ wmi_mac_addr vdev_macaddr; /** VDEV MAC address */
wmi_mlo_flags mlo_flags;
} wmi_partner_link_params; } wmi_partner_link_params;
/* this TLV structure used for pass mlo parameters on vdev create*/ /* this TLV structure used for pass mlo parameters on vdev create*/
@@ -32709,6 +32720,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command)
WMI_RETURN_STRING(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID); WMI_RETURN_STRING(WMI_VDEV_PARAM_ENABLE_SR_PROHIBIT_CMDID);
WMI_RETURN_STRING(WMI_XGAP_ENABLE_CMDID); WMI_RETURN_STRING(WMI_XGAP_ENABLE_CMDID);
WMI_RETURN_STRING(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID); WMI_RETURN_STRING(WMI_PDEV_MESH_RX_FILTER_ENABLE_CMDID);
WMI_RETURN_STRING(WMI_MLO_LINK_REMOVAL_CMDID);
} }
return (A_UINT8 *) "Invalid WMI cmd"; return (A_UINT8 *) "Invalid WMI cmd";
@@ -40199,6 +40211,62 @@ typedef struct {
A_UINT32 status; A_UINT32 status;
} wmi_livedump_response_event_fixed_param; } wmi_livedump_response_event_fixed_param;
#define WMI_MLO_LINK_REMOVAL_GET_VDEVID(tbtt_info) WMI_GET_BITS(tbtt_info, 0, 8)
#define WMI_MLO_LINK_REMOVAL_SET_VDEVID(tbtt_info, value) WMI_SET_BITS(tbtt_info, 0, 8, value)
#define WMI_MLO_LINK_REMOVAL_GET_LINKID(tbtt_info) WMI_GET_BITS(tbtt_info, 8, 8)
#define WMI_MLO_LINK_REMOVAL_SET_LINKID(tbtt_info, value) WMI_SET_BITS(tbtt_info, 8, 8, value)
#define WMI_MLO_LINK_REMOVAL_GET_TBTT_COUNT(tbtt_info) WMI_GET_BITS(tbtt_info, 16, 16)
#define WMI_MLO_LINK_REMOVAL_SET_TBTT_COUNT(tbtt_info, value) WMI_SET_BITS(tbtt_info, 16, 16, value)
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_removal_tbtt_count; */
A_UINT32 tlv_header;
union {
struct {
A_UINT32 vdev_id:8,
link_id:8,
tbtt_count:16;
};
A_UINT32 tbtt_info;
};
} wmi_mlo_link_removal_tbtt_count;
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_removal_tbtt_update; */
A_UINT32 tlv_header;
A_UINT32 tbtt_count;
A_UINT32 qtimer_ts_low; /* lower-32 bits */
A_UINT32 qtimer_ts_high; /* higher-32 bits */
A_UINT32 tsf_low; /* lower-32 bits */
A_UINT32 tsf_high; /* higher-32 bits */
} wmi_mlo_link_removal_tbtt_update;
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_removal_evt_fixed_param; */
A_UINT32 tlv_header;
A_UINT32 vdev_id;
/*
* Followed by TLVs:
* wmi_mlo_link_removal_tbtt_update
*/
} wmi_mlo_link_removal_evt_fixed_param;
typedef struct {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_removal_cmd_fixed_param */
A_UINT32 tlv_header;
A_UINT32 vdev_id;
A_UINT32 reconfig_ml_ie_num_bytes_valid;
/* This TLV is followed by array of bytes:
* A_UINT8 reconfig_ml_ie[]; <-- Entire reconfiguration element (multi-link control + common-info + 1 per-sta profile)
*/
} wmi_mlo_link_removal_cmd_fixed_param;
/* ADD NEW DEFS HERE */ /* ADD NEW DEFS HERE */

Переглянути файл

@@ -37,7 +37,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_ 1226 #define __WMI_REVISION_ 1227
/** 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