From 4c3a190c7fa0607f3515dc21dcf3383331f4acaf Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 23 Apr 2019 00:00:59 -0700 Subject: [PATCH] fw-api: CL 6984222 - update fw common interface files Change-Id: I47794dfca4c7d7cca7cd524b252d9752bf6d6c73 WMI: report chan RF scores during WMI boot-up handshake CRs-Fixed: 2262693 --- fw/wmi_services.h | 1 + fw/wmi_tlv_defs.h | 5 +++-- fw/wmi_unified.h | 13 +++++++++++++ fw/wmi_version.h | 2 +- 4 files changed, 18 insertions(+), 3 deletions(-) diff --git a/fw/wmi_services.h b/fw/wmi_services.h index bb019d036cbe..c11f066b73b6 100644 --- a/fw/wmi_services.h +++ b/fw/wmi_services.h @@ -390,6 +390,7 @@ typedef enum { WMI_SERVICE_STA_PLUS_STA_SUPPORT = 205, /* indicates target supports STA + STA concurrency */ WMI_SERVICE_WPA3_FT_FILS = 206, WMI_SERVICE_ADAPTIVE_11R_ROAM = 207, /* Indicates FW supports adaptive 11r roaming */ + WMI_SERVICE_CHAN_RF_CHARACTERIZATION_INFO = 208, /* FW provides RF scores for chans in the service ready extension msg */ /******* ADD NEW SERVICES HERE *******/ diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 14922014440c..16e80cab80fc 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -977,6 +977,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_stats_interference, WMITLV_TAG_STRUC_wmi_roam_score_delta_param, WMITLV_TAG_STRUC_wmi_roam_cnd_min_rssi_param, + WMITLV_TAG_STRUC_wmi_chan_rf_characterization_info, } WMITLV_TAG_ID; /* @@ -3992,8 +3993,8 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_AVAILABLE_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_OEM_DMA_RING_CAPABILITIES, oem_dma_ring_caps, WMITLV_SIZE_VAR) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_WMI_SAR_CAPABILITIES, WMI_SAR_CAPABILITIES, sar_caps, WMITLV_SIZE_FIX) \ WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_DMA_RING_CAPABILITIES, dma_ring_caps, WMITLV_SIZE_VAR) \ - WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_bin_scaling_params, wmi_bin_scaling_params, WMITLV_SIZE_VAR) - + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_spectral_bin_scaling_params, wmi_bin_scaling_params, WMITLV_SIZE_VAR) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_CHAN_RF_CHARACTERIZATION_INFO, wmi_chan_rf_characterization_info, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID); /* Ready event */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 695e7cd01704..1b78a186f9af 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -2472,6 +2472,13 @@ typedef struct { /* 2nd DWORD of HE MAC Capabilities */ A_UINT32 he_cap_info_ext; + + /* + * A variable-length TLV array of wmi_chan_rf_characterization_info will + * follow this fixed_param TLV, containing rx characterization info for + * primary channels. + * WMI_CHAN_RF_CHARACTERIZATION_INFO wmi_chan_rf_characterization_info[]; + */ } wmi_service_ready_ext_event_fixed_param; typedef enum { @@ -24680,6 +24687,12 @@ typedef struct { A_UINT32 min_buf_align; /* minimum alignment in bytes of each buffer in the DMA ring */ } WMI_DMA_RING_CAPABILITIES; +typedef struct { + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUCT_ wmi_chan_rf_characterization_info */ + A_UINT32 freq; /* channel frequency of rf characteristic info (MHz) */ + A_UINT32 chan_metric; /* 0 = unusable, 1 = worst, 10 = best */ +} WMI_CHAN_RF_CHARACTERIZATION_INFO; + #define WMI_DMA_RING_PADDR_LO_S 0 #define WMI_DMA_RING_PADDR_LO 0xffffffff diff --git a/fw/wmi_version.h b/fw/wmi_version.h index fe03cdda3a40..e71d0e3aa983 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_ 654 +#define __WMI_REVISION_ 655 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work