From cd2d7092b382db3f0d9d77cd02cdba2d7a4008dc Mon Sep 17 00:00:00 2001 From: spuligil Date: Wed, 3 Dec 2025 12:05:56 -0800 Subject: [PATCH] fw-api: CL 31100347 - update fw common interface files Change-Id: I1e75e339e4904a4cd7a26850f29bd97462715a03 CRs-Fixed: 3830439 --- fw/wmi_services.h | 1 + fw/wmi_unified.h | 44 +++++++++++++++++++++++++++++++++++++++++++- fw/wmi_version.h | 2 +- 3 files changed, 45 insertions(+), 2 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index 6ba4f4c06cd7..e54f8faf6483 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -745,6 +745,7 @@ typedef enum { WMI_SERVICE_CFR_ASSOC_TX_CAPTURE_SUPPORT = 481, /* Indicates FW supports TX-based CFR capture */ WMI_SERVICE_VDEV_UNIFIED_CONNECT_DISCONNECT_SUPPORT = 482, /* Indicates FW support for unified connect and disconnect vdev cmds for link switch */ WMI_SERVICE_ENHANCED_STATS_SUPPORT = 483, /* Indicates FW supports "enhanced stats" */ + WMI_SERVICE_RADAR_FLAGS_RSSI_DBM_SUPPORT = 484, /* Indicates FW support to add RSSI in dBm units in WMI radar event */ WMI_MAX_EXT2_SERVICE diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 710942403bce..c5482a0564c0 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -27932,7 +27932,24 @@ typedef struct { * 0 - need check sub channel marking * 1 - full bandwidth need put to NOL * Refer to WMI_RADAR_FLAGS_FULL_BW_NOL_GET and _SET macros - * [1:31] reserved + * + * Bits 1-7: + * RADAR TYPE field (currently reserved for future use) + * When implemented, this field will indicate the type of + * radar detected. + * The meaning of the different values of this radar type field + * will be specified in the future. + * Refer to WMI_RADAR_FLAGS_RADAR_TYPE_GET and _SET macros. + * + * Bits 8-15: + * RADAR RSSI in dBm in the range of -128 to +127. + * This 8-bit value is interpreted as a twos-complement signed number + * (so for example, 0x80 = -128, 0x0 = 0, and 0x7f = 127). + * This bit field is valid only if the + * WMI_SERVICE_RADAR_FLAGS_RSSI_DBM_SUPPORT + * wmi service flag is set. + * + * [16:31] reserved */ A_UINT32 flags; } WMI_RADAR_FLAGS; @@ -27940,6 +27957,12 @@ typedef struct { #define WMI_RADAR_FLAGS_FULL_BW_NOL_BITPOS 0 #define WMI_RADAR_FLAGS_FULL_BW_NOL_NUM_BITS 1 +#define WMI_RADAR_FLAGS_RADAR_TYPE_BITPOS 1 +#define WMI_RADAR_FLAGS_RADAR_TYPE_NUM_BITS 7 + +#define WMI_RADAR_FLAGS_RSSI_DBM_BITPOS 8 +#define WMI_RADAR_FLAGS_RSSI_DBM_NUM_BITS 8 + #define WMI_RADAR_FLAGS_FULL_BW_NOL_GET(flag) \ WMI_GET_BITS(flag, \ WMI_RADAR_FLAGS_FULL_BW_NOL_BITPOS, \ @@ -27949,6 +27972,25 @@ typedef struct { WMI_RADAR_FLAGS_FULL_BW_NOL_BITPOS, \ WMI_RADAR_FLAGS_FULL_BW_NOL_NUM_BITS, val) +#define WMI_RADAR_FLAGS_RADAR_TYPE_GET(flag) \ + WMI_GET_BITS(flag, \ + WMI_RADAR_FLAGS_RADAR_TYPE_BITPOS, \ + WMI_RADAR_FLAGS_RADAR_TYPE_NUM_BITS) +#define WMI_RADAR_FLAGS_RADAR_TYPE_SET(flag, val) \ + WMI_SET_BITS(flag, \ + WMI_RADAR_FLAGS_RADAR_TYPE_BITPOS, \ + WMI_RADAR_FLAGS_RADAR_TYPE_NUM_BITS, val) + +#define WMI_RADAR_FLAGS_RSSI_DBM_GET(flag) \ + ((A_INT8)WMI_GET_BITS(flag, \ + WMI_RADAR_FLAGS_RSSI_DBM_BITPOS, \ + WMI_RADAR_FLAGS_RSSI_DBM_NUM_BITS)) +#define WMI_RADAR_FLAGS_RSSI_DBM_SET(flag, val) \ + WMI_SET_BITS(flag, \ + WMI_RADAR_FLAGS_RSSI_DBM_BITPOS, \ + WMI_RADAR_FLAGS_RSSI_DBM_NUM_BITS, val) + + typedef enum { OCAC_COMPLETE = 0, OCAC_ABORT, diff --git a/fw/wmi_version.h b/fw/wmi_version.h index f2da8aa2443d..42c69a73769f 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_ 1679 +#define __WMI_REVISION_ 1680 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work