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

@@ -25,15 +25,26 @@
#include "../../core/spectral_cmn_api_i.h"
/**
* tgt_get_target_handle() - Get target_if handle
* tgt_get_pdev_target_handle() - Get pdev target_if handle
* @pdev: Pointer to pdev
*
* Get handle to target_if internal Spectral data
* Get handle to pdev target_if internal Spectral data
*
* Return: Handle to target_if internal Spectral data on success, NULL on
* Return: Handle to pdev target_if internal Spectral data on success, NULL on
* failure
*/
void *tgt_get_target_handle(struct wlan_objmgr_pdev *pdev);
void *tgt_get_pdev_target_handle(struct wlan_objmgr_pdev *pdev);
/**
* tgt_get_psoc_target_handle() - Get psoc target_if handle
* @psoc: Pointer to psoc
*
* Get handle to psoc target_if internal Spectral data
*
* Return: Handle to psoc target_if internal Spectral data on success, NULL on
* failure
*/
void *tgt_get_psoc_target_handle(struct wlan_objmgr_psoc *psoc);
/**
* tgt_spectral_control()- handler for demultiplexing requests from higher layer
@@ -65,6 +76,23 @@ void *tgt_pdev_spectral_init(struct wlan_objmgr_pdev *pdev);
*/
void tgt_pdev_spectral_deinit(struct wlan_objmgr_pdev *pdev);
/**
* tgt_psoc_spectral_init() - implementation for spectral init
* @psoc: Pointer to psoc
*
* Return: On success, pointer to Spectral psoc target_if internal private data,
* on failure, NULL
*/
void *tgt_psoc_spectral_init(struct wlan_objmgr_psoc *psoc);
/**
* tgt_psoc_spectral_deinit() - implementation for spectral de-init
* @psoc: Pointer to psoc
*
* Return: None
*/
void tgt_psoc_spectral_deinit(struct wlan_objmgr_psoc *psoc);
/**
* tgt_set_spectral_config() - Set spectral config
* @pdev: Pointer to pdev object
@@ -195,17 +223,30 @@ 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
* @cmd_ops: Pointer to the structure having wmi_spectral_cmd function pointers
* @pdev: Pointer to pdev object
* tgt_register_spectral_wmi_ops() - Register Spectral WMI operations
* @psoc: Pointer to psoc bject
* @wmi_ops: Pointer to the structure having Spectral WMI operations
*
* Implementation to register wmi_spectral_cmd_ops in spectral
* Implementation to register Spectral WMI operations in spectral
* internal data structure
*
* Return: void
* Return: QDF_STATUS
*/
void tgt_register_wmi_spectral_cmd_ops(struct wlan_objmgr_pdev *pdev,
struct wmi_spectral_cmd_ops *cmd_ops);
QDF_STATUS tgt_register_spectral_wmi_ops(struct wlan_objmgr_psoc *psoc,
struct spectral_wmi_ops *wmi_ops);
/**
* tgt_register_spectral_tgt_ops() - Register Spectral target operations
* @psoc: Pointer to psoc bject
* @tgt_ops: Pointer to the structure having Spectral target operations
*
* Implementation to register Spectral target operations in spectral
* internal data structure
*
* Return: QDF_STATUS
*/
QDF_STATUS tgt_register_spectral_tgt_ops(struct wlan_objmgr_psoc *psoc,
struct spectral_tgt_ops *tgt_ops);
/**
* tgt_spectral_register_nl_cb() - Register Netlink callbacks
@@ -283,4 +324,22 @@ tgt_spectral_get_target_type(struct wlan_objmgr_psoc *psoc);
QDF_STATUS tgt_set_spectral_dma_debug(struct wlan_objmgr_pdev *pdev,
enum spectral_dma_debug dma_debug_type,
bool dma_debug_enable);
/**
* tgt_spectral_register_events() - Register Spectral WMI event handlers
* @psoc: Pointer to psoc object
*
* Return: QDF_STATUS of operation
*/
QDF_STATUS
tgt_spectral_register_events(struct wlan_objmgr_psoc *psoc);
/**
* tgt_spectral_unregister_events() - Unregister Spectral WMI event handlers
* @psoc: Pointer to psoc object
*
* Return: QDF_STATUS of operation
*/
QDF_STATUS
tgt_spectral_unregister_events(struct wlan_objmgr_psoc *psoc);
#endif /* _WLAN_SPECTRAL_TGT_API_H_ */