Loading fw/wmi_tlv_defs.h +27 −0 Original line number Diff line number Diff line Loading @@ -1459,6 +1459,11 @@ typedef enum { WMITLV_TAG_STRUC_wmi_scan_cache_info, WMITLV_TAG_STRUC_wmi_POWER_BOOST_CAPABILITIES, WMITLV_TAG_STRUC_wmi_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_start_indication_event_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_complete_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_add_param, WMITLV_TAG_STRUC_wmi_mlo_link_del_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. Loading Loading @@ -2016,6 +2021,8 @@ typedef enum { OP(WMI_PDEV_POWER_BOOST_CMDID) \ OP(WMI_PDEV_POWER_BOOST_MEM_ADDR_CMDID) \ OP(WMI_GET_SCAN_CACHE_RESULT_CMDID) \ OP(WMI_MLO_LINK_RECONFIG_CMDID) \ OP(WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID) \ /* add new CMD_LIST elements above this line */ Loading Loading @@ -2347,6 +2354,7 @@ typedef enum { OP(WMI_PDEV_POWER_BOOST_EVENTID) \ OP(WMI_C2C_DETECT_EVENTID) \ OP(WMI_SCAN_CACHE_RESULT_EVENTID) \ OP(WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID) \ /* add new EVT_LIST elements above this line */ Loading Loading @@ -5340,6 +5348,18 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_AP_VDEV_TID_TO_LINK_MAP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_peer_recommended_links, mlo_peer_recommended_links, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECOMMENDATION_CMDID); /** WMI cmd to start STA initialized link reconfig */ #define WMITLV_TABLE_WMI_MLO_LINK_RECONFIG_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_fixed_param, wmi_mlo_link_reconfig_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_add_param, link_add_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_del_param, link_del_param, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_CMDID); /** WMI cmd to notify fw completion of link reconfig */ #define WMITLV_TABLE_WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_complete_fixed_param, wmi_mlo_link_reconfig_complete_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID); /* Mcast ipv4 address filter list cmd */ #define WMITLV_TABLE_WMI_VDEV_IGMP_OFFLOAD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, wmi_igmp_offload_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ Loading Loading @@ -7766,6 +7786,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_SRNG_REAP_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_peer_tid_to_link_map_event_fixed_param, wmi_mlo_peer_tid_to_link_map_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID); /** Indicate host to start link reconfigure */ #define WMITLV_TABLE_WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_start_indication_event_fixed_param, wmi_mlo_link_reconfig_start_indication_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_add_param, link_add_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_del_param, link_del_param, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID); /* USD Service Event */ #define WMITLV_TABLE_WMI_USD_SERVICE_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param, wmi_usd_service_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) Loading fw/wmi_unified.h +102 −3 Original line number Diff line number Diff line Loading @@ -1696,6 +1696,10 @@ typedef enum { WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID, /** WMI cmd to recommand preferred link */ WMI_MLO_LINK_RECOMMENDATION_CMDID, /** WMI cmd to start STA initialized link reconfig */ WMI_MLO_LINK_RECONFIG_CMDID, /** WMI cmd to notify fw completion of link reconfig */ WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID, /** WMI commands specific to Service Aware WiFi (SAWF) */ /** configure or reconfigure the parameters for a service class */ Loading Loading @@ -2582,6 +2586,8 @@ typedef enum { WMI_MLO_TLT_SELECTION_FOR_TID_SPRAY_EVENTID, /** WMI Event to send the status of T2LM configured */ WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID, /** Indicate host to start link reconfigure */ WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID, /* WMI event specific to Quiet handling */ WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL), Loading Loading @@ -36715,12 +36721,29 @@ typedef enum wmi_hw_mode_config_type { #define WMI_SUPPORT_AAR_GET(mld_capability) WMI_GET_BITS(mld_capability, 12, 1) #define WMI_SUPPORT_AAR_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 12, 1, value) #define WMI_SUPPORT_LINK_RECONFIG_SUPPORT_GET(mld_capability) WMI_GET_BITS(mld_capability, 13, 1) #define WMI_SUPPORT_LINK_RECONFIG_SUPPORT_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 13, 1, value) /* * 11BE Ext MLD Capability Set and Get macros */ #define WMI_EXT_MLD_OPERATION_PARAMETER_UPDATE_SUPP_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 0, 1) #define WMI_EXT_MLD_OPERATION_PARAMETER_UPDATE_SUPP_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 0, 1, value) #define WMI_EXT_MLD_RECOMMENDED_MAX_SIMULTANEOUS_LINKS_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 1, 4) #define WMI_EXT_MLD_RECOMMENDED_MAX_SIMULTANEOUS_LINKS_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 1, 4, value) #define WMI_EXT_MLD_NSTR_STATUS_UPDATE_SUPPORT_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 5, 1) #define WMI_EXT_MLD_NSTR_STATUS_UPDATE_SUPPORT_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 1, 5, value) #define WMI_EXT_MLD_EMLSR_ONE_LINK_SUPPORT_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 6, 1) #define WMI_EXT_MLD_EMLSR_ONE_LINK_SUPPORT_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 6, 1, value) #define WMI_EXT_MLD_BTM_MLD_RECOMMEND_FOR_MULTI_AP_SUPPORT_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 7, 1) #define WMI_EXT_MLD_BTM_MLD_RECOMMEND_FOR_MULTI_AP_SUPPORT_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 7, 1, value) /* * 11BE MSD Capability Set and Get macros */ Loading Loading @@ -37004,7 +37027,8 @@ typedef struct { * Value 3 is reserved */ freq_separation_str:5, aar_support:1, reserved2: 19; link_reconfig_support:1, reserved2: 18; }; A_UINT32 mld_capability; }; Loading @@ -37012,7 +37036,11 @@ typedef struct { struct { A_UINT32 op_update_para_support:1, /* Indicates support of operation parameter update negotiation */ reserved3: 31; recommended_max_simultaneous_links:4, nstr_status_update_support:1, emlsr_one_link_support:1, btm_recommended_for_multi_ap:1, reserved3: 24; }; A_UINT32 ext_mld_capability; }; Loading Loading @@ -38423,6 +38451,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PDEV_POWER_BOOST_CMDID); WMI_RETURN_STRING(WMI_PDEV_POWER_BOOST_MEM_ADDR_CMDID); WMI_RETURN_STRING(WMI_GET_SCAN_CACHE_RESULT_CMDID); WMI_RETURN_STRING(WMI_MLO_LINK_RECONFIG_CMDID); WMI_RETURN_STRING(WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; Loading Loading @@ -46598,6 +46628,31 @@ typedef struct { */ } wmi_mlo_link_recommendation_fixed_param; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_fixed_param */ A_UINT32 tlv_header; /* unique id identifying the VDEV, generated by the caller */ A_UINT32 vdev_id; wmi_mac_addr mld_addr; /* MLD address of AP */ /* The TLVs follows this structure: * wmi_mlo_link_add_param link_add_param[]; * wmi_mlo_link_del_param link_del_param[]; */ } wmi_mlo_link_reconfig_fixed_param; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_complete_fixed_param */ A_UINT32 tlv_header; /* unique id identifying the VDEV, generated by the caller */ A_UINT32 vdev_id; /* MLD address of AP */ wmi_mac_addr mld_addr; /* any non-zero values of status indicate link reconfig failure. */ A_UINT32 status; /* valid only when status is non-zero. fw will do reassociation if link reconfig failure */ A_UINT32 reassoc_if_failure; } wmi_mlo_link_reconfig_complete_fixed_param; #define WMI_TID_TO_LINK_MAP_TID_NUM_GET(_var) WMI_GET_BITS(_var, 0, 5) #define WMI_TID_TO_LINK_MAP_TID_NUM_SET(_var, _val) WMI_SET_BITS(_var, 0, 5, _val) Loading Loading @@ -49282,6 +49337,50 @@ typedef struct { A_UINT32 vdev_id; } wmi_mlo_peer_tid_to_link_map_event_fixed_param; typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_start_indication_event_fixed_param */ A_UINT32 tlv_header; /* vdev_id on which link reconfig indicate event is received */ A_UINT32 vdev_id; /* MLD MAC address */ wmi_mac_addr mld_mac_address; /* trigger reason of request link reconfig to host, * enum of WMI_ROAM_TRIGGER_REASON_ID. * WMI_ROAM_TRIGGER_REASON_FORCED will be used for STA(User/Host) * initiated link reconfig. * WMI_ROAM_TRIGGER_REASON_BTM will be used for AP initiated link reconfig. * Other will be used for STA(fw) initiated link reconfig. */ A_UINT32 trigger_reason; /* trigger_result: * This field is only valid when trigger_reason == * WMI_ROAM_TRIGGER_REASON_FORCED. * Any non-zero values of trigger_result indicate link reconfig failure. */ A_UINT32 trigger_result; /* The TLVs follows this structure: * wmi_mlo_link_add_param link_add_param[]; * wmi_mlo_link_del_param link_del_param[]; */ } wmi_mlo_link_reconfig_start_indication_event_fixed_param; typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_add_param */ A_UINT32 link_id; /* AP's link ID of add link */ wmi_mac_addr link_addr; /* AP's link address of add link */ /* vdev_id: * which vdev to repurpose on with add link_id if it's not 0xff */ A_UINT32 vdev_id; } wmi_mlo_link_add_param; typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_del_param */ A_UINT32 link_id; /* AP's link id of delete link */ wmi_mac_addr link_addr; /* AP's link address of delete link */ } wmi_mlo_link_del_param; typedef enum { WMI_EVENT_POWER_BOOST_START_TRAINING = 0, WMI_EVENT_POWER_BOOST_ABORT, fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 1539 #define __WMI_REVISION_ 1540 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading Loading
fw/wmi_tlv_defs.h +27 −0 Original line number Diff line number Diff line Loading @@ -1459,6 +1459,11 @@ typedef enum { WMITLV_TAG_STRUC_wmi_scan_cache_info, WMITLV_TAG_STRUC_wmi_POWER_BOOST_CAPABILITIES, WMITLV_TAG_STRUC_wmi_RSSI_ACCURACY_IMPROVEMENT_CAPABILITIES, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_start_indication_event_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_complete_fixed_param, WMITLV_TAG_STRUC_wmi_mlo_link_add_param, WMITLV_TAG_STRUC_wmi_mlo_link_del_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. Loading Loading @@ -2016,6 +2021,8 @@ typedef enum { OP(WMI_PDEV_POWER_BOOST_CMDID) \ OP(WMI_PDEV_POWER_BOOST_MEM_ADDR_CMDID) \ OP(WMI_GET_SCAN_CACHE_RESULT_CMDID) \ OP(WMI_MLO_LINK_RECONFIG_CMDID) \ OP(WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID) \ /* add new CMD_LIST elements above this line */ Loading Loading @@ -2347,6 +2354,7 @@ typedef enum { OP(WMI_PDEV_POWER_BOOST_EVENTID) \ OP(WMI_C2C_DETECT_EVENTID) \ OP(WMI_SCAN_CACHE_RESULT_EVENTID) \ OP(WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID) \ /* add new EVT_LIST elements above this line */ Loading Loading @@ -5340,6 +5348,18 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_AP_VDEV_TID_TO_LINK_MAP_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_peer_recommended_links, mlo_peer_recommended_links, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECOMMENDATION_CMDID); /** WMI cmd to start STA initialized link reconfig */ #define WMITLV_TABLE_WMI_MLO_LINK_RECONFIG_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_fixed_param, wmi_mlo_link_reconfig_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_add_param, link_add_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_del_param, link_del_param, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_CMDID); /** WMI cmd to notify fw completion of link reconfig */ #define WMITLV_TABLE_WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_complete_fixed_param, wmi_mlo_link_reconfig_complete_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID); /* Mcast ipv4 address filter list cmd */ #define WMITLV_TABLE_WMI_VDEV_IGMP_OFFLOAD_CMDID(id,op,buf,len) \ WMITLV_ELEM(id, op, buf, len, WMITLV_TAG_STRUC_wmi_igmp_offload_fixed_param, wmi_igmp_offload_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ Loading Loading @@ -7766,6 +7786,13 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MGMT_SRNG_REAP_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_peer_tid_to_link_map_event_fixed_param, wmi_mlo_peer_tid_to_link_map_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID); /** Indicate host to start link reconfigure */ #define WMITLV_TABLE_WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_start_indication_event_fixed_param, wmi_mlo_link_reconfig_start_indication_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_add_param, link_add_param, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_mlo_link_del_param, link_del_param, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID); /* USD Service Event */ #define WMITLV_TABLE_WMI_USD_SERVICE_EVENTID(id,op,buf,len) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_usd_service_event_fixed_param, wmi_usd_service_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) Loading
fw/wmi_unified.h +102 −3 Original line number Diff line number Diff line Loading @@ -1696,6 +1696,10 @@ typedef enum { WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID, /** WMI cmd to recommand preferred link */ WMI_MLO_LINK_RECOMMENDATION_CMDID, /** WMI cmd to start STA initialized link reconfig */ WMI_MLO_LINK_RECONFIG_CMDID, /** WMI cmd to notify fw completion of link reconfig */ WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID, /** WMI commands specific to Service Aware WiFi (SAWF) */ /** configure or reconfigure the parameters for a service class */ Loading Loading @@ -2582,6 +2586,8 @@ typedef enum { WMI_MLO_TLT_SELECTION_FOR_TID_SPRAY_EVENTID, /** WMI Event to send the status of T2LM configured */ WMI_MLO_PEER_TID_TO_LINK_MAP_EVENTID, /** Indicate host to start link reconfigure */ WMI_MLO_LINK_RECONFIG_START_INDICATION_EVENTID, /* WMI event specific to Quiet handling */ WMI_QUIET_HANDLING_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_QUIET_OFL), Loading Loading @@ -36715,12 +36721,29 @@ typedef enum wmi_hw_mode_config_type { #define WMI_SUPPORT_AAR_GET(mld_capability) WMI_GET_BITS(mld_capability, 12, 1) #define WMI_SUPPORT_AAR_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 12, 1, value) #define WMI_SUPPORT_LINK_RECONFIG_SUPPORT_GET(mld_capability) WMI_GET_BITS(mld_capability, 13, 1) #define WMI_SUPPORT_LINK_RECONFIG_SUPPORT_SET(mld_capability, value) WMI_SET_BITS(mld_capability, 13, 1, value) /* * 11BE Ext MLD Capability Set and Get macros */ #define WMI_EXT_MLD_OPERATION_PARAMETER_UPDATE_SUPP_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 0, 1) #define WMI_EXT_MLD_OPERATION_PARAMETER_UPDATE_SUPP_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 0, 1, value) #define WMI_EXT_MLD_RECOMMENDED_MAX_SIMULTANEOUS_LINKS_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 1, 4) #define WMI_EXT_MLD_RECOMMENDED_MAX_SIMULTANEOUS_LINKS_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 1, 4, value) #define WMI_EXT_MLD_NSTR_STATUS_UPDATE_SUPPORT_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 5, 1) #define WMI_EXT_MLD_NSTR_STATUS_UPDATE_SUPPORT_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 1, 5, value) #define WMI_EXT_MLD_EMLSR_ONE_LINK_SUPPORT_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 6, 1) #define WMI_EXT_MLD_EMLSR_ONE_LINK_SUPPORT_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 6, 1, value) #define WMI_EXT_MLD_BTM_MLD_RECOMMEND_FOR_MULTI_AP_SUPPORT_GET(ext_mld_capability) WMI_GET_BITS(ext_mld_capability, 7, 1) #define WMI_EXT_MLD_BTM_MLD_RECOMMEND_FOR_MULTI_AP_SUPPORT_SET(ext_mld_capability, value) WMI_SET_BITS(ext_mld_capability, 7, 1, value) /* * 11BE MSD Capability Set and Get macros */ Loading Loading @@ -37004,7 +37027,8 @@ typedef struct { * Value 3 is reserved */ freq_separation_str:5, aar_support:1, reserved2: 19; link_reconfig_support:1, reserved2: 18; }; A_UINT32 mld_capability; }; Loading @@ -37012,7 +37036,11 @@ typedef struct { struct { A_UINT32 op_update_para_support:1, /* Indicates support of operation parameter update negotiation */ reserved3: 31; recommended_max_simultaneous_links:4, nstr_status_update_support:1, emlsr_one_link_support:1, btm_recommended_for_multi_ap:1, reserved3: 24; }; A_UINT32 ext_mld_capability; }; Loading Loading @@ -38423,6 +38451,8 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_PDEV_POWER_BOOST_CMDID); WMI_RETURN_STRING(WMI_PDEV_POWER_BOOST_MEM_ADDR_CMDID); WMI_RETURN_STRING(WMI_GET_SCAN_CACHE_RESULT_CMDID); WMI_RETURN_STRING(WMI_MLO_LINK_RECONFIG_CMDID); WMI_RETURN_STRING(WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; Loading Loading @@ -46598,6 +46628,31 @@ typedef struct { */ } wmi_mlo_link_recommendation_fixed_param; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_fixed_param */ A_UINT32 tlv_header; /* unique id identifying the VDEV, generated by the caller */ A_UINT32 vdev_id; wmi_mac_addr mld_addr; /* MLD address of AP */ /* The TLVs follows this structure: * wmi_mlo_link_add_param link_add_param[]; * wmi_mlo_link_del_param link_del_param[]; */ } wmi_mlo_link_reconfig_fixed_param; typedef struct { /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_complete_fixed_param */ A_UINT32 tlv_header; /* unique id identifying the VDEV, generated by the caller */ A_UINT32 vdev_id; /* MLD address of AP */ wmi_mac_addr mld_addr; /* any non-zero values of status indicate link reconfig failure. */ A_UINT32 status; /* valid only when status is non-zero. fw will do reassociation if link reconfig failure */ A_UINT32 reassoc_if_failure; } wmi_mlo_link_reconfig_complete_fixed_param; #define WMI_TID_TO_LINK_MAP_TID_NUM_GET(_var) WMI_GET_BITS(_var, 0, 5) #define WMI_TID_TO_LINK_MAP_TID_NUM_SET(_var, _val) WMI_SET_BITS(_var, 0, 5, _val) Loading Loading @@ -49282,6 +49337,50 @@ typedef struct { A_UINT32 vdev_id; } wmi_mlo_peer_tid_to_link_map_event_fixed_param; typedef struct { /** TLV tag and len; tag equals * WMITLV_TAG_STRUC_wmi_mlo_link_reconfig_start_indication_event_fixed_param */ A_UINT32 tlv_header; /* vdev_id on which link reconfig indicate event is received */ A_UINT32 vdev_id; /* MLD MAC address */ wmi_mac_addr mld_mac_address; /* trigger reason of request link reconfig to host, * enum of WMI_ROAM_TRIGGER_REASON_ID. * WMI_ROAM_TRIGGER_REASON_FORCED will be used for STA(User/Host) * initiated link reconfig. * WMI_ROAM_TRIGGER_REASON_BTM will be used for AP initiated link reconfig. * Other will be used for STA(fw) initiated link reconfig. */ A_UINT32 trigger_reason; /* trigger_result: * This field is only valid when trigger_reason == * WMI_ROAM_TRIGGER_REASON_FORCED. * Any non-zero values of trigger_result indicate link reconfig failure. */ A_UINT32 trigger_result; /* The TLVs follows this structure: * wmi_mlo_link_add_param link_add_param[]; * wmi_mlo_link_del_param link_del_param[]; */ } wmi_mlo_link_reconfig_start_indication_event_fixed_param; typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_add_param */ A_UINT32 link_id; /* AP's link ID of add link */ wmi_mac_addr link_addr; /* AP's link address of add link */ /* vdev_id: * which vdev to repurpose on with add link_id if it's not 0xff */ A_UINT32 vdev_id; } wmi_mlo_link_add_param; typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_del_param */ A_UINT32 link_id; /* AP's link id of delete link */ wmi_mac_addr link_addr; /* AP's link address of delete link */ } wmi_mlo_link_del_param; typedef enum { WMI_EVENT_POWER_BOOST_START_TRAINING = 0, WMI_EVENT_POWER_BOOST_ABORT,
fw/wmi_version.h +1 −1 Original line number Diff line number Diff line Loading @@ -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_ 1539 #define __WMI_REVISION_ 1540 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work Loading