From 0aa022535b098d816f9577c21dbff7d73e1249dd Mon Sep 17 00:00:00 2001 From: spuligil Date: Tue, 30 Apr 2019 18:01:35 -0700 Subject: [PATCH] fw-api: CL 7040955 - update fw common interface files WMI: combine freq + chan_metric fields in CHAN_RF_CHARACTERIZATION_INFO This is a backwards-incompatible change, but is accepable because the definitions being modified are new and have not been used yet. Change-Id: I5fd7dcc1dc4acedb5340818c03cb58d6557a900a CRs-Fixed: 2262693 --- fw/wmi_unified.h | 46 ++++++++++++++++++++++++++++++++++++++++++++-- fw/wmi_version.h | 2 +- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index d77ec05a17a2..7941f195da88 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -24696,10 +24696,52 @@ typedef struct { 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 */ + + /** + * [3:0] : channel metric - 0 = unusable, 1 = worst, 10 = best + * [4:7] : channel BW - + * 0 = 20MHz + * 1 = 40MHz + * 2 = 80MHz + * 3 = 160MHz + * (4-10 unused) + * 11 = 5MHz + * 12 = 10MHz + * (13-15 unused) + * [15:8 ]: Reserved + * [31:16]: Frequency - channel frequency of RF characteristic info (MHz) + */ + A_UINT32 freq_info; } WMI_CHAN_RF_CHARACTERIZATION_INFO; +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_CHAN_METRIC 0x0000000f +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_CHAN_METRIC_S 0 +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_BW 0x000000f0 +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_BW_S 4 +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_FREQ 0xffff0000 +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_FREQ_S 16 + +#define WMI_CHAN_RF_CHARACTERIZATION_CHAN_METRIC_SET(dword,val) \ + WMI_F_RMW((dword)->freq_info,(val) & 0xff, \ + WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_CHAN_METRIC) +#define WMI_CHAN_RF_CHARACTERIZATION_CHAN_METRIC_GET(dword) \ + WMI_F_MS((dword)->freq_info,WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_CHAN_METRIC) + +#define WMI_CHAN_RF_CHARACTERIZATION_BW_SET(dword, val) \ + WMI_F_RMW((dword)->freq_info,(val) & 0xf0, \ + WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_BW) +#define WMI_CHAN_RF_CHARACTERIZATION_BW_GET(dword) \ + WMI_F_MS((dword)->freq_info,WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_BW) + +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_SET(dword, val) \ + WMI_F_RMW((dword)->freq_info,(val) & 0xffff, \ + WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_FREQ) + +#define WMI_CHAN_RF_CHARACTERIZATION_FREQ_GET(dword) \ + WMI_F_MS((dword)->freq_info,WMI_CHAN_RF_CHARACTERIZATION_FREQ_INFO_FREQ) + + + #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 737269108623..24911af21ed3 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_ 659 +#define __WMI_REVISION_ 660 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work