From 531f3c19ffe2669c6bd3907088abe23e813dcbbd Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 17 Dec 2025 12:09:16 -0800 Subject: [PATCH] fw-api: CL 31209257 - update fw common interface files Change-Id: I62d6ecad767301dcdb708e865967f54f800330b8 CRs-Fixed: 3830439 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 30 ++++++++++++++++++++++++++++++ fw/wmi_version.h | 2 +- 3 files changed, 34 insertions(+), 2 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 871590bb4e78..97bdb4d1d8d6 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1538,6 +1538,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_vdev_beacon_stats, WMITLV_TAG_STRUC_wmi_vdev_congestion_stats, WMITLV_TAG_STRUC_wmi_vdev_data_stats, + WMITLV_TAG_STRUC_wmi_em_pcie_stats, } WMITLV_TAG_ID; /* * IMPORTANT: Please add _ALL_ WMI Commands Here. @@ -7725,7 +7726,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_PEER_STATS_INFO_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_ctrl_path_sta_dar_stats_struct, ctrl_path_sta_dar_stats, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_beacon_stats, vdev_beacon_stats, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_congestion_stats, vdev_congestion_stats, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_data_stats, vdev_data_stats, WMITLV_SIZE_VAR) + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_vdev_data_stats, vdev_data_stats, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_em_pcie_stats, ctrl_path_em_pcie_stats, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_CTRL_PATH_STATS_EVENTID); /* diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index f4016f0f5c5a..f5c3c72ac8df 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -38054,6 +38054,7 @@ typedef enum { WMI_REQUEST_CTRL_PATH_ML_RECONFIG_STAT = 22, WMI_REQUEST_CTRL_PATH_STA_DAR_STAT = 23, WMI_REQUEST_ENHANCED_STAT = 24, + WMI_REQUEST_CTRL_PATH_EM_PCIE_STAT = 25, } wmi_ctrl_path_stats_id; typedef enum { @@ -47356,6 +47357,35 @@ typedef struct { } wmi_vdev_data_stats; +#define WMI_EM_PCIE_MAX_CHIP 4 +#define WMI_EM_PCIE_MAX_NUM_MAC 3 + +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_em_pcie_stats */ + A_UINT32 is_cumac; /* set to '1' if SoC has CUMAC, else set to '0' */ + A_UINT32 enable; /* set to '1' if feature enable, else set to '0' */ + A_UINT32 config_type; /* feature configuration type */ + /* mlo_partner_chip_bw: + * MLO partner chip BW information, represented as a FW-internal BW enum + * (Thus, this field is intended only for interactive debugging, and not + * for interpretation by the host SW.) + */ + A_UINT32 mlo_partner_bw[WMI_EM_PCIE_MAX_CHIP]; + /* mlo_partner_nss: MLO partner chip NSS information */ + A_UINT32 mlo_partner_nss[WMI_EM_PCIE_MAX_CHIP]; + /* pdev_bw: + * Per PDEV BW, represented as a FW-internal BW enum + * (Thus, this field is intended only for interactive debugging, and not + * for interpretation by the host SW.) + */ + A_UINT32 pdev_bw[WMI_EM_PCIE_MAX_NUM_MAC]; + A_UINT32 curr_pcie_gen; /* current PCIe generation number */ + A_UINT32 curr_pcie_lanes; /* current number of PCIe lanes */ + A_UINT32 pending_pcie_gen; /* pending PCIe generation number */ + A_UINT32 pending_pcie_lanes; /* pending number of PCIe lanes */ +} wmi_em_pcie_stats; + + #define WMI_UNIFIED_CHAIN_PHASE_MASK 0x0000ffff #define WMI_UNIFIED_CHAIN_PHASE_GET(tlv, chain_idx) \ ((A_UINT16) ((tlv)->chain_phase[chain_idx] & WMI_UNIFIED_CHAIN_PHASE_MASK)) diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 08a172601ed1..86041e35cff8 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_ 1684 +#define __WMI_REVISION_ 1685 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work