From 745f4a5798e1de8f657df56c1ff8518b2d55256c Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 19 Feb 2026 12:02:00 -0800 Subject: [PATCH] fw-api: CL 31710587 - update fw common interface files Change-Id: Ibfdc8f828f31b790a77e732a36089c2596c8f327 CRs-Fixed: 3830439 --- fw/wmi_tlv_defs.h | 7 +++++++ fw/wmi_unified.h | 19 +++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 27 insertions(+), 1 deletion(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index a1414b68c223..1c70049595d3 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1589,6 +1589,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_nan_channel, WMITLV_TAG_STRUC_wmi_energy_mgmt_oem_data_fixed_param, WMITLV_TAG_STRUC_wmi_energy_mgmt_oem_data_event_fixed_param, + WMITLV_TAG_STRUC_wmi_vdev_channel_hopping_schedule_fixed_param, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -2189,6 +2190,7 @@ typedef enum { OP(WMI_NAN_PEER_SCHEDULE_CMDID) \ OP(WMI_NAN_PEER_PARAMS_CMDID) \ OP(WMI_ENERGY_MGMT_OEM_DATA_CMDID) \ + OP(WMI_VDEV_CHANNEL_HOPPING_SCHEDULE_CMDID) \ /* add new CMD_LIST elements above this line */ @@ -6380,6 +6382,11 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SMD_ROAM_CONFIG_CMDID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_BYTE, A_UINT8, data, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_ENERGY_MGMT_OEM_DATA_CMDID); +#define WMITLV_TABLE_WMI_VDEV_CHANNEL_HOPPING_SCHEDULE_CMDID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_vdev_channel_hopping_schedule_fixed_param, wmi_vdev_channel_hopping_schedule_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_CHANNEL_HOPPING_SCHEDULE_CMDID); + /************************** TLV definitions of WMI events *******************************/ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 5396d0351455..6cce48ae3de7 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -777,6 +777,9 @@ typedef enum { /** WMI cmd for UHR critical update */ WMI_VDEV_UHR_CU_CMDID, + /** WMI cmd for Channel Hopping Schedule */ + WMI_VDEV_CHANNEL_HOPPING_SCHEDULE_CMDID, + /* peer specific commands */ @@ -54804,6 +54807,22 @@ typedef struct { */ } wmi_pdev_uhr_cu_event_fixed_param; +typedef struct { + /** TLV tag and len; tag equals + * WMITLV_TAG_STRUC_wmi_vdev_channel_hopping_schedule_fixed_param */ + A_UINT32 tlv_header; + A_UINT32 vdev_id; + /* index of next channel in the channel_list tlvs to visit */ + A_UINT32 next_channel_index; + /* dwell time in TUs to stay on each channel. 1 TU = 1024 usec */ + A_UINT32 dwell_time_tu; + /* Target tsf at which this schedule should start */ + A_UINT32 target_switch_time_tsf; + + /* This fixed param TLV will be followed by the below TLVs + * - A_UINT32 channel_list[num_chan]; // in MHz + */ +} wmi_vdev_channel_hopping_schedule_fixed_param; typedef enum { WMI_SMD_ROAM_CONFIG_ROLE_SERVING_AP = 1, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index b9650fdcabcf..2c4052b21ff3 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_ 1720 +#define __WMI_REVISION_ 1721 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work