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

Add OBSS interference info in DCS_INTERFERENCE_EVENT msg

Change-Id: I157d83ca5083e5fa14ff978d73e943a046d19f9f
CRs-Fixed: 2262693
This commit is contained in:
spuligil
2023-12-20 18:01:20 -08:00
committed by Ravindra Konda
parent c068c23f01
commit 8004f23eaf
4 changed files with 37 additions and 5 deletions

View File

@@ -652,6 +652,7 @@ typedef enum {
WMI_SERVICE_VDEV_DCS_STATS_SUPPORT = 399, /* FW supports VDEV level DCS stats reporting */
WMI_SERVICE_WIFI_RADAR_SUPPORT = 400, /* FW supports wifi radar */
WMI_SERVICE_P2P_DEVICE_UPDATE_MAC_ADDR_SUPPORT = 401, /* indicate FW support dynamic update mac address for P2P device */
WMI_SERVICE_DCS_OBSS_INT_SUPPORT = 402, /* Indicates FW supports OBSS Interference detection */
WMI_MAX_EXT2_SERVICE

View File

@@ -1425,6 +1425,7 @@ typedef enum {
WMITLV_TAG_STRUC_wmi_pdev_enable_wifi_radar_cmd_fixed_param,
WMITLV_TAG_STRUC_wmi_dma_buf_release_wifi_radar_meta_data,
WMITLV_TAG_STRUC_wmi_mlo_link_info,
WMITLV_TAG_STRUC_wmi_dcs_obss_int_t,
} WMITLV_TAG_ID;
/*
* IMPORTANT: Please add _ALL_ WMI Commands Here.
@@ -6059,7 +6060,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_GTK_OFFLOAD_STATUS_EVENTID);
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_dcs_interference_event_fixed_param, wmi_dcs_interference_event_fixed_param, fixed_param, WMITLV_SIZE_FIX) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wlan_dcs_cw_int, cw_int, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wlan_dcs_im_tgt_stats_t, wlan_stat, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dcs_awgn_int_t, awgn_int, WMITLV_SIZE_VAR)
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dcs_awgn_int_t, awgn_int, WMITLV_SIZE_VAR) \
WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_dcs_obss_int_t, obss_int, WMITLV_SIZE_VAR)
WMITLV_CREATE_PARAM_STRUC(WMI_DCS_INTERFERENCE_EVENTID);
/* Profile data Event */

View File

@@ -21300,6 +21300,32 @@ typedef struct wlan_dcs_awgn_info {
A_UINT32 chan_bw_interference_bitmap;
} wmi_dcs_awgn_int_t;
typedef struct wlan_dcs_obss_info {
/** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_dcs_obss_int_t */
A_UINT32 tlv_header;
/** Channel width (20, 40, 80, 80+80, 160, 320) enum wmi_channel_width */
A_UINT32 channel_width;
/** Primary channel frequency (MHz) */
A_UINT32 chan_freq;
/** center frequency (MHz) first segment */
A_UINT32 center_freq0;
/** center frequency (MHz) second segment */
A_UINT32 center_freq1;
/* 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)
* Note: for 11be, the interference present 20MHz can be punctured
* for better channel utilization.
*/
A_UINT32 chan_bw_interference_bitmap;
} wmi_dcs_obss_int_t;
/**
* wmi_dcs_interference_event_t
*
@@ -21316,6 +21342,8 @@ typedef struct {
* ATH_CAP_DCS_CWIM 0x01
* ATH_CAP_DCS_WLANIM 0x02
* ATH_CAP_DCS_AGWNIM 0x04
* reserved (AFC) 0x08
* ATH_CAP_DCS_OBSSIM 0x10
*/
A_UINT32 interference_type; /* type of interference, wlan, cw, or AWGN */
/** pdev_id for identifying the MAC
@@ -21336,7 +21364,8 @@ typedef struct {
*
* wlan_dcs_cw_int cw_int[]; <-- cw_interference event
* wlan_dcs_im_tgt_stats_t wlan_stat[]; <-- wlan im interference stats
* wmi_dcs_awgn_int_t awgn_int[]; <-- Additive white Gaussian noise (awgn) interference
* wmi_dcs_awgn_int_t awgn_int[]; <-- Additive white Gaussian noise (AWGN) interference
* wmi_dcs_obss_int_t obss_int[]; <-- Overlapping Basic Service Set (OBSS) interference
*/
} wmi_dcs_interference_event_fixed_param;
@@ -37699,8 +37728,8 @@ typedef struct {
* This fixed_param TLV is followed by the following TLVs:
* - wmi_regulatory_rule_ext reg_rule_array[] struct TLV array.
* Within the reg rule ext TLV array, the 2G elements occur first,
* then the 5G elements, then the 6G elements (AP SG, AP LPI, AP VLP,
* client SP x4, client LPI x4, client vlp x4).
* then the 5G elements, then the 6G elements (AP LPI, AP SP, AP VLP,
* client LPI x4, client SP x4, client VLP x4).
* - wmi_regulatory_chan_priority_struct reg_chan_priority[]
* - wmi_regulatory_fcc_rule_struct reg_fcc_rule[]
*/

View File

@@ -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_ 1432
#define __WMI_REVISION_ 1433
/** The Version Namespace should not be normally changed. Only
* host and firmware of the same WMI namespace will work