qcacmn: Add QCA vendor commands for spectral scan

Add following vendor commands and their handlers.

 1) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_START
        Set the spectral parameters and start scan.
 2) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
        Stop spectral scan.
 3) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CONFIG
        Get current values of spectral parameters.
 4) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_DIAG_STATS
        Get stats for spectral scan debug.
 5) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_CAP_INFO
        Get the spectral hardware capability.
 6) QCA_NL80211_VENDOR_SUBCMD_SPECTRAL_SCAN_GET_STATUS
        Get the current status of spectral scan.

CRs-Fixed: 2146272
Change-Id: I8e048d6c21e9fb1ed286c19df0edcad46f6e6414
This commit is contained in:
Edayilliam Jayadev
2017-11-17 12:21:52 +05:30
committed by snandini
parent a3d50e8a85
commit d8c6a467dd
8 changed files with 974 additions and 8 deletions

View File

@@ -124,6 +124,16 @@
#define SPECTRAL_SCAN_SHORT_REPORT_DEFAULT (1)
#define SPECTRAL_SCAN_FFT_PERIOD_DEFAULT (1)
enum wlan_cfg80211_spectral_vendorcmd_handler_idx {
SPECTRAL_SCAN_START_HANDLER_IDX,
SPECTRAL_SCAN_STOP_HANDLER_IDX,
SPECTRAL_SCAN_GET_CONFIG_HANDLER_IDX,
SPECTRAL_SCAN_GET_DIAG_STATS_HANDLER_IDX,
SPECTRAL_SCAN_GET_CAP_HANDLER_IDX,
SPECTRAL_SCAN_GET_STATUS_HANDLER_IDX,
SPECTRAL_SCAN_VENDOR_CMD_HANDLER_MAX,
};
/**
* enum spectral_debug - Spectral debug level
* @ATH_DEBUG_SPECTRAL: Minimal SPECTRAL debug
@@ -296,12 +306,15 @@ struct spectral_config {
};
/**
* struct spectral_caps - Spectral capabilities structure
* @phydiag_cap: Phydiag capability
* @radar_cap: Radar detection capability
* @spectral_cap: Spectral capability
* @advncd_spectral_cap: Advanced spectral capability
* struct spectral_scan_state - State of spectral scan
* @is_active: Is spectral scan active
* @is_enabled: Is spectral scan enabled
*/
struct spectral_scan_state {
uint8_t is_active;
uint8_t is_enabled;
};
typedef enum _dcs_int_type {
SPECTRAL_DCS_INT_NONE,
SPECTRAL_DCS_INT_CW,