qcacmn: Add start scan response WMI event

Add support for processing the start scan response
WMI event. FW provides the necessary information to
segregate FFT bins to pri80, 5 MHz and sec80 in
160/165 MHz. Also, cfreq2 and the channel width is
provided to FW via WMI command.

CRs-Fixed: 2672081
Change-Id: I666b6c18a63d5d01117aa9cbd611691c6f8b2793
This commit is contained in:
Edayilliam Jayadev
2020-04-29 21:54:25 +05:30
committed by nshrivas
parent 18bbaf7484
commit abdb33bb00
20 changed files with 1621 additions and 385 deletions

View File

@@ -28,6 +28,9 @@
#ifdef FEATURE_WLAN_TDLS
#include <wlan_tdls_public_structs.h>
#endif
#ifdef WLAN_CONV_SPECTRAL_ENABLE
#include <wlan_spectral_public_structs.h>
#endif /* WLAN_CONV_SPECTRAL_ENABLE */
#define MAC_MAX_KEY_LENGTH 32
#define MAC_PN_LENGTH 8
@@ -2956,7 +2959,8 @@ struct simulation_test_params {
* @dbm_adj: DBM adjust
* @chn_mask: chain mask
* @mode: Mode
* @center_freq: Center frequency
* @center_freq1: Center frequency 1
* @center_freq2: Center frequency 2
* @chan_freq: Primary channel frequency
* @chan_width: Channel width
*/
@@ -2981,7 +2985,8 @@ struct vdev_spectral_configure_params {
uint16_t dbm_adj;
uint16_t chn_mask;
uint16_t mode;
uint16_t center_freq;
uint16_t center_freq1;
uint16_t center_freq2;
uint16_t chan_freq;
uint16_t chan_width;
};
@@ -3004,6 +3009,49 @@ struct vdev_spectral_enable_params {
uint8_t mode;
};
#ifdef WLAN_CONV_SPECTRAL_ENABLE
/**
* struct spectral_fft_bin_markers_160_165mhz - Stores the start index
* and length of FFT bins in 165 MHz/Restricted 80p80 or 160 MHz
* mode in targets with a single Spectral detector
* @is_valid: Indicates whether this structure holds valid data
* @start_pri80: Starting index of FFT bins corresponding to primary 80 MHz
* in 165 MHz/Restricted 80p80 or 160 MHz mode
* @num_pri80: Number of FFT bins corresponding to primary 80 MHz
* in 165 MHz/Restricted 80p80 or 160 MHz mode
* @start_5mhz: Starting index of FFT bins corresponding to extra 5 MHz
* in 165 MHz/Restricted 80p80 mode
* @num_5mhz: Number of FFT bins corresponding to extra 5 MHz
* in 165 MHz/Restricted 80p80 mode
* @start_sec80: Starting index of FFT bins corresponding to secondary 80 MHz
* in 165 MHz/Restricted 80p80 or 160 MHz mode
* @num_sec80: Number of FFT bins corresponding to secondary 80 MHz
* in 165 MHz/Restricted 80p80 or 160 MHz mode
*/
struct spectral_fft_bin_markers_160_165mhz {
bool is_valid;
uint16_t start_pri80;
uint16_t num_pri80;
uint16_t start_5mhz;
uint16_t num_5mhz;
uint16_t start_sec80;
uint16_t num_sec80;
};
/**
* struct spectral_startscan_resp_params - Params from the event send by
* FW as a response to the scan start command
* @pdev_id: Pdev id
* @smode: Spectral scan mode
* @num_fft_bin_index: Number of TLVs with FFT bin start and end indices
*/
struct spectral_startscan_resp_params {
uint32_t pdev_id;
enum spectral_scan_mode smode;
uint8_t num_fft_bin_index;
};
#endif
/**
* struct pdev_set_regdomain_params - PDEV set reg domain params
* @currentRDinuse: Current Reg domain
@@ -4648,6 +4696,7 @@ typedef enum {
#endif
wmi_roam_scan_chan_list_id,
wmi_muedca_params_config_eventid,
wmi_pdev_sscan_fw_param_eventid,
wmi_events_max,
} wmi_conv_event_id;