From 3a652ca6c2a0be5e121c2b86b2eed0011f818211 Mon Sep 17 00:00:00 2001 From: spuligil Date: Fri, 11 Jul 2025 06:03:12 -0700 Subject: [PATCH] fw-api: CL 29734524 - update fw common interface files Change-Id: Ic75a3f3ee0bc175c6f0b56a6951343bf72657d37 CRs-Fixed: 3830439 --- fw/wmi_tlv_defs.h | 8 ++++++++ fw/wmi_unified.h | 21 +++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 30 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 46202cf40d5b..8d9a1ace4801 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1497,6 +1497,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_peer_assoc_mgmt_mpduq_params, WMITLV_TAG_STRUC_wmi_peer_assoc_mgmt_msduq_params, WMITLV_TAG_STRUC_wmi_peer_assoc_hol_mdsuq_params, + WMITLV_TAG_STRUC_wmi_peer_tid_rate_custom_cmd_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2068,6 +2069,7 @@ typedef enum { OP(WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID) \ OP(WMI_ENERGY_MGMT_PUO_CONFIG_CMDID) \ OP(WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID) \ + OP(WMI_PEER_TID_RATE_CUSTOM_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -5831,6 +5833,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_PUO_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_energy_mgmt_eco_mode_config_cmd_fixed_param, wmi_energy_mgmt_eco_mode_config_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID); +/* peer tid rate customization cmd */ +#define WMITLV_TABLE_WMI_PEER_TID_RATE_CUSTOM_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_peer_tid_rate_custom_cmd_fixed_param, wmi_peer_tid_rate_custom_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, rate_code, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_PEER_TID_RATE_CUSTOM_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 85accae8c459..3d0c3f32cd2f 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -852,6 +852,9 @@ typedef enum { /* WMI command to setup reorder queue for multiple TIDs */ WMI_PEER_MULTIPLE_REORDER_QUEUE_SETUP_CMDID, + /** Customize MCS range for specific tid */ + WMI_PEER_TID_RATE_CUSTOM_CMDID, + /* beacon/management specific commands */ /** transmit beacon by reference . used for transmitting beacon on low latency interface like pcie */ @@ -33862,6 +33865,23 @@ typedef struct { A_UINT32 tid_mask; /* bits 0 to 15 = QoS TIDs, bit 16 = non-qos TID */ } wmi_peer_reorder_queue_remove_cmd_fixed_param; +/** + * This command is sent from WLAN host driver to firmware for + * customizing MCS range & retry count for specific TID of specific peer + */ +typedef struct { + A_UINT32 tlv_header; + A_UINT32 vdev_id; + wmi_mac_addr peer_macaddr; /* Peer MAC address */ + A_UINT32 tid; + /* on_off: + * Rate customization enable/disable. 1 for enable and 0 for disable. + */ + A_UINT32 on_off; + A_UINT32 bw; /* Unit MHz */ + A_UINT32 retry_count; +} wmi_peer_tid_rate_custom_cmd_fixed_param; + /* DEPRECATED - use wmi_pdev_set_mac_config_response_event_fixed_param instead */ typedef struct { @@ -39486,6 +39506,7 @@ static INLINE A_UINT8 *wmi_id_to_name(A_UINT32 wmi_command) WMI_RETURN_STRING(WMI_ENERGY_MGMT_EDPS_CONFIG_CMDID); WMI_RETURN_STRING(WMI_ENERGY_MGMT_PUO_CONFIG_CMDID); WMI_RETURN_STRING(WMI_ENERGY_MGMT_ECO_MODE_CONFIG_CMDID); + WMI_RETURN_STRING(WMI_PEER_TID_RATE_CUSTOM_CMDID); } return (A_UINT8 *) "Invalid WMI cmd"; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e185fece7f03..1437afa1b225 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_ 1634 +#define __WMI_REVISION_ 1635 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work