diff options
author | spuligil <spuligil@codeaurora.org> | 2020-04-23 06:00:52 -0700 |
---|---|---|
committer | spuligil <spuligil@codeaurora.org> | 2020-04-23 06:01:24 -0700 |
commit | 36993e85cb512809297aad4a08d93877ea51f00d (patch) | |
tree | 8be109998ae193e320fb0e29bc172ba630919eca | |
parent | d2e646f4fad9edc59e70fecb06705341c438d07f (diff) | |
download | wlan-fw-api-36993e85cb512809297aad4a08d93877ea51f00d.tar.gz |
fw-api: CL 10262355 - update fw common interface files
Change-Id: I957534bc6bbd74b6103cf19f4a3af470c0c748cb
WMI: add def of spectral scan param event msg
CRs-Fixed: 2262693
-rw-r--r-- | fw/wmi_tlv_defs.h | 9 | ||||
-rw-r--r-- | fw/wmi_unified.h | 76 | ||||
-rw-r--r-- | fw/wmi_version.h | 2 |
3 files changed, 84 insertions, 3 deletions
diff --git a/fw/wmi_tlv_defs.h b/fw/wmi_tlv_defs.h index 75695cd..b783d74 100644 --- a/fw/wmi_tlv_defs.h +++ b/fw/wmi_tlv_defs.h @@ -1069,6 +1069,8 @@ typedef enum { WMITLV_TAG_STRUC_wmi_pdev_srg_partial_bssid_bitmap_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_simulation_test_cmd_fixed_param, WMITLV_TAG_STRUC_wmi_audio_aggr_set_rtscts_config, + WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, + WMITLV_TAG_STRUC_wmi_pdev_sscan_fft_bin_index, } WMITLV_TAG_ID; /* @@ -1757,6 +1759,7 @@ typedef enum { OP(WMI_NAN_DMESG_EVENTID) \ OP(WMI_VDEV_SEND_BIG_DATA_P2_EVENTID) \ OP(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID) \ + OP(WMI_PDEV_SSCAN_FW_PARAM_EVENTID) \ /* add new EVT_LIST elements above this line */ @@ -5896,6 +5899,12 @@ WMITLV_CREATE_PARAM_STRUC(WMI_NAN_DMESG_EVENTID); WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_audio_aggr_peer_stats, peer_stats, WMITLV_SIZE_VAR) WMITLV_CREATE_PARAM_STRUC(WMI_AUDIO_AGGR_REPORT_STATISTICS_EVENTID); +/* Send sscan fw params to host */ +#define WMITLV_TABLE_WMI_PDEV_SSCAN_FW_PARAM_EVENTID(id,op,buf,len) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param, wmi_pdev_sscan_fw_cmd_fixed_param, fixed_param, WMITLV_SIZE_FIX) \ + WMITLV_ELEM(id,op,buf,len, WMITLV_TAG_ARRAY_STRUC, wmi_pdev_sscan_fft_bin_index, fft_bin_index, WMITLV_SIZE_VAR) +WMITLV_CREATE_PARAM_STRUC(WMI_PDEV_SSCAN_FW_PARAM_EVENTID); + #ifdef __cplusplus } diff --git a/fw/wmi_unified.h b/fw/wmi_unified.h index e867734..f249993 100644 --- a/fw/wmi_unified.h +++ b/fw/wmi_unified.h @@ -1334,6 +1334,9 @@ typedef enum { /** Scan specific events */ WMI_SCAN_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_SCAN), + /** Spectral scan FW params to host */ + WMI_PDEV_SSCAN_FW_PARAM_EVENTID, + /* PDEV specific events */ /** TPC config for the current operating channel */ WMI_PDEV_TPC_CONFIG_EVENTID = WMI_EVT_GRP_START_ID(WMI_GRP_PDEV), @@ -5682,12 +5685,26 @@ typedef struct { A_UINT32 spectral_scan_chn_mask; /* See enum wmi_spectral_scan_mode */ A_UINT32 spectral_scan_mode; - /* agile span center frequency (MHz), 0 for normal scan*/ - A_UINT32 spectral_scan_center_freq; + union { + /** + * Two center frequencies are required for agile channel switch + * supporting True 160 and Restricted 160 ((80+80) or 165) MHz. + * This parameter specifies the center frequency for cases with a + * contiguous channel, and the center frequency of the primary + * portion of a non-contiguous (80+80 or 165 MHz) channel. + */ + A_UINT32 spectral_scan_center_freq; + A_UINT32 spectral_scan_center_freq1; + }; /* agile span primary channel frequency (MHz), 0 for normal scan*/ A_UINT32 spectral_scan_chan_freq; /* agile scan bandwidth (20, 40, 80, 80+80, 160), enum wmi_channel_width */ A_UINT32 spectral_scan_chan_width; + /** + * Adding freq2 to support True 160 and restricted 160 ((80+80) or 165) MHz. + * agile span center frequency2 (MHz), 0 for normal scan. + */ + A_UINT32 spectral_scan_center_freq2; } wmi_vdev_spectral_configure_cmd_fixed_param; /* @@ -5712,6 +5729,61 @@ typedef struct { A_UINT32 vdev_id; } wmi_vdev_get_tx_power_cmd_fixed_param; +/* Primary 80 bin values */ +#define WMI_SSCAN_PRI80_START_BIN_GET(pri80_bins) WMI_GET_BITS(pri80_bins, 0, 16) +#define WMI_SSCAN_PRI80_START_BIN_SET(pri80_bins, value) WMI_SET_BITS(pri80_bins, 0, 16, value) +#define WMI_SSCAN_PRI80_END_BIN_GET(pri80_bins) WMI_GET_BITS(pri80_bins, 16, 16) +#define WMI_SSCAN_PRI80_END_BIN_SET(pri80_bins, value) WMI_SET_BITS(pri80_bins, 16, 16, value) + +/* Secondary 80 bin values */ +#define WMI_SSCAN_SEC80_START_BIN_GET(sec80_bins) WMI_GET_BITS(sec80_bins, 0, 16) +#define WMI_SSCAN_SEC80_START_BIN_SET(sec80_bins, value) WMI_SET_BITS(sec80_bins, 0, 16, value) +#define WMI_SSCAN_SEC80_END_BIN_GET(sec80_bins) WMI_GET_BITS(sec80_bins, 16, 16) +#define WMI_SSCAN_SEC80_END_BIN_SET(sec80_bins, value) WMI_SET_BITS(sec80_bins, 16, 16, value) + +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_fw_cmd_fixed_param */ + A_UINT32 pdev_id; + + /* See enum wmi_spectral_scan_mode */ + A_UINT32 spectral_scan_mode; + + /** + * This fixed_param TLV is followed by the below TLVs: + * + * wmi_pdev_sscan_fft_bin_index fft_bin_index[]; // array len = 0 or 1 + * If present (array length is 1) this TLV specifies the primary + * and secondary channels FFT bin indices for True 160 and + * Restricted 160 (80+80 or 165) MHz BW cases. + */ +} wmi_pdev_sscan_fw_cmd_fixed_param; + +/** + * The below structure is used only to send the FFT bin numbers for + * True 160 and Restricted 160(80+80 or 165) MHz from FW to HOST + */ +typedef struct { + A_UINT32 tlv_header; /** TLV tag and len; tag equals WMITLV_TAG_STRUC_wmi_pdev_sscan_fft_bin_index */ + + /** + * Bit 15 - 0 : primary 80 start bin number + * Bit 31 - 16 : primary 80 end bin number + * Refer to WMI_SSCAN_PRI80_[START,END]_BIN_[GET,SET] macros. + * Only for True 160 and Restricted 160(80+80 or 165) MHz this + * will be filled. + */ + A_UINT32 pri80_bins; + + /** + * Bit 15 - 0 : secondary 80 start bin number + * Bit 31 - 16 : secondary 80 end bin number + * Refer to WMI_SSCAN_SEC80_[START,END]_BIN_[GET,SET] macros. + * Only for True 160 and Restricted 160(80+80 or 165) MHz this + * will be filled. + */ + A_UINT32 sec80_bins; +} wmi_pdev_sscan_fft_bin_index; + #define WMI_BEACON_CTRL_TX_DISABLE 0 #define WMI_BEACON_CTRL_TX_ENABLE 1 #define WMI_BEACON_CTRL_SWBA_EVENT_DISABLE 2 diff --git a/fw/wmi_version.h b/fw/wmi_version.h index 3b56318..83a2950 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_ 822 +#define __WMI_REVISION_ 823 /** The Version Namespace should not be normally changed. Only * host and firmware of the same WMI namespace will work |