fw-api: CL 25779296 - update fw common interface files

WMI: add more stats in ctrl_path_awgn_stats_struct
Also, piggyback fixes for the sar_flags TLV tag in READY_EXT2_EVENT, and the Windows definition of the WMI_VAR_LEN_ARRAY1 macro.

Change-Id: I5211f043eaafc234a06a2cc91b530904b9d0b3d1
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2024-01-11 18:01:33 -08:00
committed by Ravindra Konda
parent b0d26ad1f4
commit fa6fe36110
3 changed files with 69 additions and 15 deletions

View File

@@ -102,14 +102,18 @@ extern "C" {
#define WMI_DUMMY_ZERO_LEN_FIELD struct {} dummy_zero_len_field
#endif
#define WMI_VAR_LEN_ARRAY1(type, name) \
union { \
type name ## __first_elem; \
struct { \
WMI_DUMMY_ZERO_LEN_FIELD; \
type name[]; \
}; \
}
#if defined(__WINDOWS__)
#define WMI_VAR_LEN_ARRAY1(type, name) type name[1]
#else
#define WMI_VAR_LEN_ARRAY1(type, name) \
union { \
type name ## __first_elem; \
struct { \
WMI_DUMMY_ZERO_LEN_FIELD; \
type name[]; \
}; \
}
#endif
#define ATH_MAC_LEN 6 /**< length of MAC in bytes */
#define WMI_EVENT_STATUS_SUCCESS 0 /* Success return status to host */
@@ -13217,13 +13221,63 @@ typedef struct {
A_UINT32 awgn_cca_ack_reset_cnt;
/*
* AWGN int BW cnt used to store interference occurred at 20/40/80/160MHz
* bw_cnt[0] counts interference detections in 20 MHz BW,
* bw_cnt[1] counts interference detections in 40 MHz BW,
* bw_cnt[2] counts interference detections in 80 MHz BW,
* bw_cnt[3] counts interference detections in 160 MHz BW,
* bw_cnt[4] and bw_cnt[6] are reserved for 240 MHz and 320 MHz.
* awgn_int_bw_cnt[0] counts interference detections in 20 MHz BW,
* awgn_int_bw_cnt[1] counts interference detections in 40 MHz BW,
* awgn_int_bw_cnt[2] counts interference detections in 80 MHz BW,
* awgn_int_bw_cnt[3] counts interference detections in 160 MHz BW,
* awgn_int_bw_cnt[4] is reserved for 240 MHz BW,
* awgn_int_bw_cnt[5] counts interference detections in 320 MHz BW.
*/
A_UINT32 awgn_int_bw_cnt[WMI_AWGN_MAX_BW];
/* Number of OBSS interference occurred */
A_UINT32 obss_int_cnt;
/* Number of OBSS interference Sent to host */
A_UINT32 obss_int_evt_sent_host_cnt;
/* Number of OBSS interference skiped due to AWGN as high priority */
A_UINT32 obss_int_evt_skip_awgn_cnt;
/* Number of OBSS interference skiped due to duplicate OBSS interference */
A_UINT32 obss_int_evt_skip_dup_cnt;
/* Current OBSS interference segment details
* chan_bw_interference_bitmap:
* Indicates which 20MHz segments contain interference
* 320 MHz: bits 0-15
* 160 MHz: bits 0-7
* 80 MHz: bits 0-3
* Within the bitmap, Bit-0 represents lowest 20Mhz, Bit-1 represents
* second lowest 20Mhz and so on.
* Each bit position will indicate 20MHz in which interference is seen.
* (Valid 16 bits out of 32 bit integer)
*/
A_UINT32 obss_int_cur_int_seg;
/* Previous OBSS Int Segment details
* chan_bw_interference_bitmap:
* Indicates which 20MHz segments contain interference
* 320 MHz: bits 0-15
* 160 MHz: bits 0-7
* 80 MHz: bits 0-3
* Within the bitmap, Bit-0 represents lowest 20Mhz, Bit-1 represents
* second lowest 20Mhz and so on.
* Each bit position will indicate 20MHz in which interference is seen.
* (Valid 16 bits out of 32 bit integer)
*/
A_UINT32 obss_int_prv_int_seg;
/*
* OBSS int BW cnt used to store interference occurred at 20/40/80/160MHz
* obss_int_bw_cnt[0] counts interference detections in 20 MHz BW,
* obss_int_bw_cnt[1] counts interference detections in 40 MHz BW,
* obss_int_bw_cnt[2] counts interference detections in 80 MHz BW,
* obss_int_bw_cnt[3] counts interference detections in 160 MHz BW,
* obss_int_bw_cnt[4] counts interference detections in 240 MHz BW,
* obss_int_bw_cnt[5] counts interference detections in 320 MHz BW,
*/
A_UINT32 obss_int_bw_cnt[WMI_AWGN_MAX_BW];
} wmi_ctrl_path_awgn_stats_struct;
typedef struct {