From e043aef256c729a5ada023ce0525278bbc9b067c Mon Sep 17 00:00:00 2001 From: spuligil Date: Thu, 5 Mar 2026 12:01:52 -0800 Subject: [PATCH] fw-api: CL 31882288 - update fw common interface files Change-Id: I5c64aca8f6bb122fc8a74a232f7954dc4f0dca4c CRs-Fixed: 3830439 --- fw/wmi_services.h | 2 ++ fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 22 ++++++++++++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 28 insertions(+), 2 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 5f44def7f263..08ea702c2428 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -767,6 +767,8 @@ typedef enum { /* Indicates FW support for populating vdev operating param stats */ WMI_SERVICE_VDEV_OPERATING_PARAMS_EVENT_SUPPORT = 494, WMI_SERVICE_SUPPORT_WOW_OLE_DAL = 495, + /* Indicate FW support for PASSTHRU VDEV Channel Hopping Schedule */ + WMI_SERVICE_PASSTHRU_VDEV_CHAN_HOP_SCHEDULE_SUPPORT = 496, WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 396962c2b3d6..4292a1afc555 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1594,6 +1594,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_ch_usage_add_dialog_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_coex_policy_stats_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_coex_policy_stats_event_fixed_param, + WMITLV_TAG_STRUC_wmi_channel_hopping_channel_params, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -6392,7 +6393,8 @@ 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_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_UINT32, A_UINT32, channel_list, WMITLV_SIZE_VAR) /* DEPRECATED - POPULATE WITH ZERO ELEMS */ \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_channel_hopping_channel_params, channel_param_list, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_VDEV_CHANNEL_HOPPING_SCHEDULE_CMDID); /* WMI Command for start ch usage session */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index a25d59332a71..a05d2f1da946 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -54913,9 +54913,31 @@ typedef struct { /* This fixed param TLV will be followed by the below TLVs * - A_UINT32 channel_list[num_chan]; // in MHz + * // DEPRECATED - POPULATE WITH ZERO ELEMS. + * // Use channel_param_list instead. + * - wmi_channel_hopping_channel_params channel_param_list[num_chan]; */ } wmi_vdev_channel_hopping_schedule_fixed_param; +typedef enum { + /* Channel is designated for PASSTHRU VDEV */ + WMI_CHANNEL_HOPPING_ROLE_PASSTHRU = 0, + /* Channel is designated for any other interfaces besides PASSTHRU VDEV */ + WMI_CHANNEL_HOPPING_ROLE_NON_PASSTHRU, +} wmi_channel_hopping_role; + +typedef struct { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_channel_hopping_channel_params */ + A_UINT32 tlv_header; + A_UINT32 chan_mhz; /* in MHz. Valid only when role is PASSTHRU */ + /* bandwidth: + * Holds a wmi_channel_width enum value. + * Valid only when role is PASSTHRU. + */ + A_UINT32 bandwidth; + A_UINT32 role; /* holds wmi_channel_hopping_role enum value */ +} wmi_channel_hopping_channel_params; + typedef enum { WMI_SMD_ROAM_CONFIG_ROLE_SERVING_AP = 1, WMI_SMD_ROAM_CONFIG_ROLE_TARGET_AP, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 50b7ed57ba48..33fe4382252c 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_ 1727 +#define __WMI_REVISION_ 1728 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work