qcacmn: Change Spectral control path to support Agile mode

Modify Spectral control path APIs to support Agile mode.

CRs-Fixed: 2450620
Change-Id: Id6cf48c1288b157932ab5ce0535293e466a87783
Esse commit está contido em:
Edayilliam Jayadev
2019-06-21 15:50:02 +05:30
commit de nshrivas
commit 8e74a62e72
11 arquivos alterados com 952 adições e 583 exclusões

Ver arquivo

@@ -88,6 +88,7 @@
#define SPECTRAL_SCAN_BIN_SCALE_DEFAULT (1)
#define SPECTRAL_SCAN_DBM_ADJ_DEFAULT (1)
#define SPECTRAL_SCAN_CHN_MASK_DEFAULT (1)
#define SPECTRAL_SCAN_FREQUENCY_DEFAULT (0)
#endif /* SPECTRAL_USE_EMU_DEFAULTS */
/* The below two definitions apply only to pre-11ac chipsets */

Ver arquivo

@@ -37,16 +37,16 @@ void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev);
/**
* tgt_spectral_control()- handler for demultiplexing requests from higher layer
* @pdev: reference to global pdev object
* @pdev: Reference to global pdev object
* @sscan_req: pointer to Spectral scan request
*
* This function processes the spectral config command
* and appropriate handlers are invoked.
*
* Return: 0 success else failure
* Return: QDF_STATUS_SUCCESS/QDF_STATUS_E_FAILURE
*/
int tgt_spectral_control(struct wlan_objmgr_pdev *pdev,
struct spectral_cp_request *sscan_req);
QDF_STATUS tgt_spectral_control(struct wlan_objmgr_pdev *pdev,
struct spectral_cp_request *sscan_req);
/**
* tgt_pdev_spectral_init() - implementation for spectral init
@@ -67,70 +67,86 @@ void tgt_pdev_spectral_deinit(struct wlan_objmgr_pdev *pdev);
/**
* tgt_set_spectral_config() - Set spectral config
* @pdev: Pointer to pdev object
* @pdev: Pointer to pdev object
* @threshtype: spectral parameter type
* @value: value to be configured for the given spectral parameter
* @value: Value to be configured for the given spectral parameter
* @smode: Spectral scan mode
* @err: Spectral control path error code
*
* Implementation for setting spectral config
*
* Return: 0 on success else failure
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
int tgt_set_spectral_config(struct wlan_objmgr_pdev *pdev,
const u_int32_t threshtype,
const u_int32_t value);
QDF_STATUS tgt_set_spectral_config(struct wlan_objmgr_pdev *pdev,
const u_int32_t threshtype,
const u_int32_t value,
const enum spectral_scan_mode smode,
enum spectral_cp_error_code *err);
/**
* tgt_get_spectral_config() - Get spectral configuration
* @pdev: Pointer to pdev object
* @param: Pointer to spectral_config structure in which the configuration
* should be returned
* @smode: Spectral scan mode
*
* Implementation for getting the current spectral configuration
*
* Return: None
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
void tgt_get_spectral_config(struct wlan_objmgr_pdev *pdev,
struct spectral_config *sptrl_config);
QDF_STATUS tgt_get_spectral_config(struct wlan_objmgr_pdev *pdev,
struct spectral_config *sptrl_config,
const enum spectral_scan_mode smode);
/**
* tgt_start_spectral_scan() - Start spectral scan
* @pdev: Pointer to pdev object
* @smode: Spectral scan mode
* @res: Spectral control path error code
*
* Implementation for starting spectral scan
*
* Return: 0 in case of success, -1 on failure
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
int tgt_start_spectral_scan(struct wlan_objmgr_pdev *pdev);
QDF_STATUS tgt_start_spectral_scan(struct wlan_objmgr_pdev *pdev,
enum spectral_scan_mode smode,
enum spectral_cp_error_code *err);
/**
* tgt_stop_spectral_scan() - Stop spectral scan
* @pdev: Pointer to pdev object
* @smode: Spectral scan mode
*
* Implementation for stop spectral scan
*
* Return: None
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
void tgt_stop_spectral_scan(struct wlan_objmgr_pdev *pdev);
QDF_STATUS tgt_stop_spectral_scan(struct wlan_objmgr_pdev *pdev,
enum spectral_scan_mode smode);
/**
* tgt_is_spectral_active() - Get whether Spectral is active
* @pdev: Pointer to pdev object
* @smode: Spectral scan mode
*
* Implementation to get whether Spectral is active
*
* Return: True if Spectral is active, false if Spectral is not active
*/
bool tgt_is_spectral_active(struct wlan_objmgr_pdev *pdev);
bool tgt_is_spectral_active(struct wlan_objmgr_pdev *pdev,
enum spectral_scan_mode smode);
/**
* tgt_is_spectral_enabled() - Get whether Spectral is active
* @pdev: Pointer to pdev object
* @smode: Spectral scan mode
*
* Implementation to get whether Spectral is active
*
* Return: True if Spectral is active, false if Spectral is not active
*/
bool tgt_is_spectral_enabled(struct wlan_objmgr_pdev *pdev);
bool tgt_is_spectral_enabled(struct wlan_objmgr_pdev *pdev,
enum spectral_scan_mode smode);
/**
* tgt_set_debug_level() - Set debug level for Spectral
@@ -139,9 +155,10 @@ bool tgt_is_spectral_enabled(struct wlan_objmgr_pdev *pdev);
*
* Implementation to set the debug level for Spectral
*
* Return: 0 in case of success
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
int tgt_set_debug_level(struct wlan_objmgr_pdev *pdev, u_int32_t debug_level);
QDF_STATUS tgt_set_debug_level(struct wlan_objmgr_pdev *pdev,
u_int32_t debug_level);
/**
* tgt_get_debug_level() - Get debug level for Spectral
@@ -156,24 +173,26 @@ uint32_t tgt_get_debug_level(struct wlan_objmgr_pdev *pdev);
/**
* tgt_get_spectral_capinfo() - Get Spectral capability information
* @pdev: Pointer to pdev object
* @outdata: Buffer into which data should be copied
* @scaps: Buffer into which data should be copied
*
* Implementation to get the spectral capability information
*
* Return: void
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
void tgt_get_spectral_capinfo(struct wlan_objmgr_pdev *pdev, void *outdata);
QDF_STATUS tgt_get_spectral_capinfo(struct wlan_objmgr_pdev *pdev,
struct spectral_caps *scaps);
/**
* tgt_get_spectral_diagstats() - Get Spectral diagnostic statistics
* @pdev: Pointer to pdev object
* @outdata: Buffer into which data should be copied
* @stats: Buffer into which data should be copied
*
* Implementation to get the spectral diagnostic statistics
*
* Return: void
* Return: QDF_STATUS_SUCCESS on success, else QDF_STATUS_E_FAILURE
*/
void tgt_get_spectral_diagstats(struct wlan_objmgr_pdev *pdev, void *outdata);
QDF_STATUS tgt_get_spectral_diagstats(struct wlan_objmgr_pdev *pdev,
struct spectral_diag_stats *stats);
/**
* tgt_register_wmi_spectral_cmd_ops() - Register wmi_spectral_cmd_ops