diff options
| author | spuligil <spuligil@codeaurora.org> | 2018-08-13 12:03:22 -0700 |
|---|---|---|
| committer | spuligil <spuligil@codeaurora.org> | 2018-08-13 12:03:22 -0700 |
| commit | 134733eeadff834aa482bb6747c364be6bb4f327 (patch) | |
| tree | 04e02c4b9754f04d83be1fd6fae5c6bb6152d829 | |
| parent | 7a35bbd887d294dd39ffaa07d75aa1e5a515916f (diff) | |
fw-api: CL 5169767 - update fw common interface files
FFT Bin scaling implementation support
<Describe here the change summary in detail>
Change-Id: Ic62d4f2e23acdefc8c02b3b00653ecae365e8eee
CRs-Fixed: 2262693
| -rwxr-xr-x | fw/wmi_tlv_defs.h | 5 | ||||
| -rwxr-xr-x | fw/wmi_unified.h | 22 | ||||
| -rwxr-xr-x | fw/wmi_version.h | 2 |
3 files changed, 27 insertions, 2 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index e2ba791556be..44ac30532a07 100755 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -926,6 +926,7 @@ typedef enum { WMITLV_TAG_STRUC_wmi_obss_spatial_reuse_set_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_esp_estimate_event_fixed_param, WMITLV_TAG_STRUC_wmi_nan_host_config_param, + WMITLV_TAG_STRUC_wmi_spectral_bin_scaling_params, } WMITLV_TAG_ID; /* @@ -3786,7 +3787,9 @@ WMITLV_CREATE_PARAM_STRUC(WMI_SERVICE_AVAILABLE_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, WMI_MAC_PHY_CHAINMASK_CAPABILITY, mac_phy_chainmask_caps, WMITLV_SIZE_VAR) \ 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_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_CREATE_PARAM_STRUC(WMI_SERVICE_READY_EXT_EVENTID); /* Ready event */ diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index 81ffe871d8c5..17027f23574d 100755 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -22999,6 +22999,28 @@ typedef struct { A_INT32 noise_floor[WMI_MAX_CHAINS]; } wmi_dma_buf_release_spectral_meta_data; +typedef enum { + NO_SCALING = 0, /* No bin scaling*/ + /** + * scaled_bin_mag = bin_mag * + * sqrt(10^(max(legacy_max_gain - default_agc_max_gain + low_level_offset - RSSI_corr, + * (agc_total_gain_db < default_agc_max_gain) * high_level_offset)/10)) * + * 2^(DET{0,1,2}_SPECTRAL_SCAN_BIN_SCALE - legacy_spectral_scan_bin_scale) + */ + AGC_GAIN_RSSI_CORR_BASED = 1, +} WMI_SPECTRAL_SCALING_FORMULA_ID; + +typedef struct +{ + A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_spectral_bin_scaling_params */ + A_UINT32 pdev_id; /* ID of pdev to which the scaling parameters are to be applied */ + WMI_SPECTRAL_SCALING_FORMULA_ID formula_id; /* Represets the formula to be used */ + A_UINT32 low_level_offset; /* low level offset for fine tuning the scaling factor based on RSSI and AGC gain */ + A_UINT32 high_level_offset; /* high level offset for fine tuning the scaling factor based on RSSI and AGC gain */ + A_UINT32 rssi_thr; /* RSSI threshold to be used to adjust the inband power of the given spectral report */ + A_UINT32 default_agc_max_gain;/* DEFAULT AGC MAX GAIN used. Fetched from register RXTD_RADAR_SBS_CTRL_1_L bits20:13 */ +} wmi_spectral_bin_scaling_params; + typedef struct { A_UINT32 tlv_header; /* TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_runtime_dpd_recal_cmd_fixed_param */ A_UINT32 enable; /* Enable/disable */ diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 414e6b2ce06f..5ca527a3e227 100755 --- 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_ 563 +#define __WMI_REVISION_ 564 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |
