From 2d6a1b0a8f30279bca1d48ba1cf6cb3d4a4fb19d Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 19 Mar 2025 06:09:25 -0700 Subject: [PATCH] fw-api: CL 28829747 - update fw common interface files Change-Id: I5cea8ad46033ef8aa4dd8cd4e3d495b7fc5fe4d5 CRs-Fixed: 3830439 --- fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 33 ++++++++++++++++++++++++++++++--- fw/wmi_version.h | 2 +- 3 files changed, 38 insertions(+), 4 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index a5028647b8f1..5f83c5bbaada 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1478,6 +1478,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_stats_ext_event_vdev_ext2_t, WMITLV_TAG_STRUC_wmi_ndp_set_latency_tput_fixed_param, WMITLV_TAG_STRUC_wmi_roam_partner_link_param, + WMITLV_TAG_STRUC_wmi_mlo_link_ttlm_complete_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2040,6 +2041,7 @@ typedef enum { OP(WMI_SAWF_EZMESH_HOP_COUNT_CMDID) \ OP(WMI_VDEV_VBSS_CONFIG_CMDID) \ OP(WMI_NDP_SET_LATENCY_TPUT_CMDID) \ + OP(WMI_MLO_LINK_TTLM_COMPLETE_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -5392,6 +5394,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_RECONFIG_CMDID); 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); +/** WMI cmd to notify fw completion of link TTLM negotiation */ +#define WMITLV_TABLE_WMI_MLO_LINK_TTLM_COMPLETE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_mlo_link_ttlm_complete_fixed_param, wmi_mlo_link_ttlm_complete_fixed_param, fixed_param, WMITLV_SIZE_FIX) +WMITLV_CREATE_PARAM_STRUC(WMI_MLO_LINK_TTLM_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) \ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 88c169364fb7..4adbf62d826e 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1703,6 +1703,8 @@ typedef enum { WMI_MLO_LINK_RECONFIG_CMDID, /** WMI cmd to notify fw completion of link reconfig */ WMI_MLO_LINK_RECONFIG_COMPLETE_CMDID, + /** WMI cmd to notify fw completion of negotiated TID to LINK map */ + WMI_MLO_LINK_TTLM_COMPLETE_CMDID, /** WMI commands specific to Service Aware WiFi (SAWF) */ /** configure or reconfigure the parameters for a service class */ @@ -2589,6 +2591,9 @@ typedef enum { WMI_MLO_VDEV_LINK_INFO_EVENTID, /** request host to do T2LM neg to the un-disabled link */ WMI_MLO_LINK_DISABLE_REQUEST_EVENTID, + /* alias */ + WMI_MLO_LINK_TTLM_REQUEST_EVENTID = + WMI_MLO_LINK_DISABLE_REQUEST_EVENTID, /** request host to switch to new link for specified vdev */ WMI_MLO_LINK_SWITCH_REQUEST_EVENTID, /** Response event for WMI_MLO_PRIMARY_LINK_PEER_MIGRATION_CMDID */ @@ -38804,6 +38809,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_SAWF_EZMESH_HOP_COUNT_CMDID); WMI_RETURN_STRING(WMI_VDEV_VBSS_CONFIG_CMDID); WMI_RETURN_STRING(WMI_NDP_SET_LATENCY_TPUT_CMDID); + WMI_RETURN_STRING(WMI_MLO_LINK_TTLM_COMPLETE_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; @@ -41852,6 +41858,8 @@ typedef enum { WMI_ROAM_FAIL_REASON_CURR_AP_STILL_OK, /* Roam scan not happen due to current network condition is fine */ WMI_ROAM_FAIL_REASON_SCAN_CANCEL, /* Roam scan canceled */ WMI_ROAM_FAIL_REASON_MLD_EXTRA_SCAN_REQUIRED, /* Roaming is not triggered for current roam scan as extra scan is required to scan all MLD links */ + WMI_ROAM_FAIL_REASON_TTLM_REQUIRED, /* Roaming is not triggered as TTLM is required */ + WMI_ROAM_FAIL_REASON_LINKRECONFIG_REQUIRED, /* Roaming is not triggered as linkreconfig is required */ WMI_ROAM_FAIL_REASON_UNKNOWN = 255, } WMI_ROAM_FAIL_REASON_ID; @@ -47133,11 +47141,30 @@ typedef struct { /* 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; + A_UINT32 status; + /* reassoc_if_failure: + * 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; +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_mlo_link_ttlm_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 TTLM failure. */ + A_UINT32 status; + /* reassoc_if_failure: + * Valid only when status is non-zero. + * FW will do reassociation if link reconfig failure. + */ + A_UINT32 reassoc_if_failure; +} wmi_mlo_link_ttlm_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) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index d44554f6f2d7..8c2eaa3ed79f 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -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_ 1585 +#define __WMI_REVISION_ 1586 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work