From ef254fbc1898339716e89ffd659e873e57731566 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 31 Aug 2025 18:01:40 -0700 Subject: [PATCH] fw-api: CL 30201837 - update fw common interface files Change-Id: Ib1f5ac9f44a2a56b6dfb2fece63dc90880da0a10 CRs-Fixed: 3830439 --- fw/wmi_unified.h | 47 +++++++++++++++++++++++++++++++++++++++++++---- fw/wmi_version.h | 2 +- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 9fb4e8acb1f7..227b0d38072d 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -51459,16 +51459,40 @@ typedef struct { union { A_UINT32 peer_dyn_info2_word32; struct { - /** 1:0 pm - * 31:2 reserved + /** 0:0 pm + * 1:1 emlsr + * 17:2 padding_delay + * 26:18 transition_delay + * 30:27 transition_timeout + * 31 Reserved */ A_UINT32 - pm : 1, - rsvd : 31; + pm : 1, + emlsr : 1, + padding_delay_us : 16, + transition_delay_us : 9, + transition_timeout_us: 4, + rsvd1 : 1; + }; + }; + union { + A_UINT32 peer_dyn_info3_word32; + struct { + /** 13:0 link_bitmap + * 31:15 Reserved + */ + A_UINT32 + link_bitmap: 14, + rsvd2 : 18; }; }; } wmi_vdev_vbss_peer_dyn_info; +typedef enum { + WMI_VBSS_UNICAST_PN_INFO = 1, + WMI_VBSS_MULTICAST_PN_INFO = 2, +} wmi_vbss_pn_ctxt_id; + typedef enum { WMI_VBSS_GET_PEER_CONTEXT = 1, WMI_VBSS_SET_PEER_CONTEXT = 2, @@ -51496,6 +51520,21 @@ typedef enum { #define WMI_VDEV_VBSS_DYN_INFO_GET_PM(peer_dyn_info2) WMI_GET_BITS(pm, 0, 1) #define WMI_VDEV_VBSS_DYN_INFO_SET_PM(peer_dyn_info2, value) WMI_SET_BITS(pm, 0, 1, value) +#define WMI_VDEV_VBSS_DYN_INFO_GET_EMLSR(peer_dyn_info2) WMI_GET_BITS(emlsr, 1, 1) +#define WMI_VDEV_VBSS_DYN_INFO_SET_EMLSR(peer_dyn_info2, value) WMI_SET_BITS(emlsr, 1, 1, value) + +#define WMI_VDEV_VBSS_DYN_INFO_GET_PADDING_DELAY(peer_dyn_info2) WMI_GET_BITS(padding_delay, 2, 16) +#define WMI_VDEV_VBSS_DYN_INFO_SET_PADDING_DELAY(peer_dyn_info2, value) WMI_SET_BITS(padding_delay, 2, 16, value) + +#define WMI_VDEV_VBSS_DYN_INFO_GET_TRANSITION_DELAY(peer_dyn_info2) WMI_GET_BITS(transition_delay, 18, 9) +#define WMI_VDEV_VBSS_DYN_INFO_SET_TRANSITION_DELAY(peer_dyn_info2, value) WMI_SET_BITS(transition_delay, 18, 9, value) + +#define WMI_VDEV_VBSS_DYN_INFO_GET_TRANSITION_TIMEOUT(peer_dyn_info2) WMI_GET_BITS(transition_timeout, 27, 4) +#define WMI_VDEV_VBSS_DYN_INFO_SET_TRANSITION_TIMEOUT(peer_dyn_info2, value) WMI_SET_BITS(transition_timeout, 27, 4, value) + +#define WMI_VDEV_VBSS_DYN_INFO_GET_LINK_BITMAP(peer_dyn_info3) WMI_GET_BITS(link_bitmap, 0, 14) +#define WMI_VDEV_VBSS_DYN_INFO_SET_LINK_BITMAP(peer_dyn_info3, value) WMI_SET_BITS(link_bitmap, 0, 14, value) + typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_vdev_vbss_config_event_fixed_param */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 00b462b5f47e..55a4db0dffb4 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_ 1642 +#define __WMI_REVISION_ 1643 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work