From 967f6e84ad141b92cb681ae2f7ea3364d09cec23 Mon Sep 17 00:00:00 2001 From: spuligil Date: Sun, 7 Mar 2021 12:01:00 -0800 Subject: [PATCH] fw-api: CL 13132411 - update fw common interface files Change-Id: I64b1bd34bcfabbc65e537c80ef25bd237640acb6 WMI: add opt AGWN interference info to DCS INTERFERENCE EVENT CRs-Fixed: 2262693 --- fw/wmi_tlv_defs.h | 4 +++- fw/wmi_unified.h | 32 ++++++++++++++++++++++++++++++-- fw/wmi_version.h | 2 +- 3 files changed, 34 insertions(+), 4 deletions(-) diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 9ecd179dd01f..b6cfbcabe42a 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1140,6 +1140,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_pdev_get_dpd_status_evt_fixed_param, WMITLV_TAG_STRUC_wmi_eht_rate_set, + WMITLV_TAG_STRUC_wmi_dcs_awgn_int_t, } WMITLV_TAG_ID; /* @@ -5028,7 +5029,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_GTK_OFFLOAD_STATUS_EVENTID); #define WMITLV_TABLE_WMI_DCS_INTERFERENCE_EVENTID(id,op,buf,len) \ 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, 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_CREATE_PARAM_STRUC(WMI_DCS_INTERFERENCE_EVENTID); /* Profile data Event */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 6b09635c1ba5..54b462d8470a 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -14553,6 +14553,30 @@ typedef struct _wlan_dcs_im_tgt_stats { A_UINT32 my_bss_rx_cycle_count; } wlan_dcs_im_tgt_stats_t; +typedef struct wlan_dcs_awgn_info { + /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_dcs_awgn_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; + /* + * Indicates which 20MHz segments contain interference + * 320 MHz: bits 0-15 + * 160 MHz: bits 0-7 + * 80 MHz: bits 0-3 + * Bitmap - 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_awgn_int_t; + /** * wmi_dcs_interference_event_t * @@ -14565,9 +14589,12 @@ typedef struct _wlan_dcs_im_tgt_stats { typedef struct { A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_dcs_interference_event_fixed_param */ /** - * Type of the event present, either the cw interference event, or the wlan_im stats + * Type of the event present, either the cw interference event, or the wlan_im stats, or AWGN int + * ATH_CAP_DCS_CWIM 0x01 + * ATH_CAP_DCS_WLANIM 0x02 + * ATH_CAP_DCS_AGWNIM 0x04 */ - A_UINT32 interference_type; /* type of interference, wlan or cw */ + A_UINT32 interference_type; /* type of interference, wlan, cw, or AWGN */ /** pdev_id for identifying the MAC * See macros starting with WMI_PDEV_ID_ for values. */ @@ -14580,6 +14607,7 @@ typedef struct { * * wlan_dcs_cw_int cw_int[]; <-- cw_interference event * wlan_dcs_im_tgt_stats_t wlan_stat[]; <-- wlan im interfernce stats + * wmi_dcs_awgn_int_t awgn_int[]; <-- Additive white Gaussian noise (awgn) interference */ } wmi_dcs_interference_event_fixed_param; diff --git a/fw/wmi_version.h b/fw/wmi_version.h index e51e08fe9bfa..b8e85585ffc6 100644 --- a/fw/wmi_version.h +++ b/fw/wmi_version.h @@ -36,7 +36,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_ 971 +#define __WMI_REVISION_ 972 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work