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
此提交包含在:
@@ -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_ */
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright (c) 2017-2019 The Linux Foundation. All rights reserved.
|
||||
* Copyright (c) 2017-2020 The Linux Foundation. All rights reserved.
|
||||
*
|
||||
*
|
||||
* Permission to use, copy, modify, and/or distribute this software for
|
||||
@@ -25,7 +25,8 @@
|
||||
|
||||
/* Forward declaration */
|
||||
struct direct_buf_rx_data;
|
||||
struct wmi_spectral_cmd_ops;
|
||||
struct spectral_wmi_ops;
|
||||
struct spectral_tgt_ops;
|
||||
|
||||
/**
|
||||
* wlan_spectral_is_feature_disabled() - Check if spectral feature is disabled
|
||||
@@ -71,19 +72,32 @@ void
|
||||
wlan_lmac_if_sptrl_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops);
|
||||
|
||||
/**
|
||||
* wlan_register_wmi_spectral_cmd_ops() - Register operations related to wmi
|
||||
* commands on spectral parameters
|
||||
* @pdev - the physical device object
|
||||
* @cmd_ops - pointer to the structure holding the operations
|
||||
* related to wmi commands on spectral parameters
|
||||
*
|
||||
* API to register operations related to wmi commands on spectral parameters
|
||||
*
|
||||
* Return: None
|
||||
* wlan_register_spectral_wmi_ops() - Register Spectral WMI operations
|
||||
* @psoc - Pointer to psoc object
|
||||
* @wmi_ops - pointer to the structure holding the Spectral WMI
|
||||
* operations
|
||||
*
|
||||
* API to register Spectral WMI operations
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
void
|
||||
wlan_register_wmi_spectral_cmd_ops(struct wlan_objmgr_pdev *pdev,
|
||||
struct wmi_spectral_cmd_ops *cmd_ops);
|
||||
QDF_STATUS
|
||||
wlan_register_spectral_wmi_ops(struct wlan_objmgr_psoc *psoc,
|
||||
struct spectral_wmi_ops *wmi_ops);
|
||||
|
||||
/**
|
||||
* wlan_register_spectral_tgt_ops() - Register Spectral target operations
|
||||
* @psoc - Pointer to psoc object
|
||||
* @tgt_ops - pointer to the structure holding the Spectral target
|
||||
* operations
|
||||
*
|
||||
* API to register Spectral target operations
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlan_register_spectral_tgt_ops(struct wlan_objmgr_psoc *psoc,
|
||||
struct spectral_tgt_ops *tgt_ops);
|
||||
|
||||
/**
|
||||
* struct spectral_legacy_cbacks - Spectral legacy callbacks
|
||||
@@ -164,6 +178,50 @@ spectral_vdev_get_ch_width(struct wlan_objmgr_vdev *vdev);
|
||||
*/
|
||||
QDF_STATUS spectral_pdev_open(struct wlan_objmgr_pdev *pdev);
|
||||
|
||||
/**
|
||||
* wlan_spectral_psoc_open() - Spectral psoc open handler
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* API to execute operations on psoc open
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS upon successful registration,
|
||||
* QDF_STATUS_E_FAILURE upon failure
|
||||
*/
|
||||
QDF_STATUS wlan_spectral_psoc_open(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* wlan_spectral_psoc_close() - Spectral psoc close handler
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* API to execute operations on psoc close
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS upon successful registration,
|
||||
* QDF_STATUS_E_FAILURE upon failure
|
||||
*/
|
||||
QDF_STATUS wlan_spectral_psoc_close(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* wlan_spectral_psoc_enable() - Spectral psoc enable handler
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* API to execute operations on psoc enable
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS upon successful registration,
|
||||
* QDF_STATUS_E_FAILURE upon failure
|
||||
*/
|
||||
QDF_STATUS wlan_spectral_psoc_enable(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* wlan_spectral_psoc_disable() - Spectral psoc disable handler
|
||||
* @psoc: pointer to psoc object
|
||||
*
|
||||
* API to execute operations on psoc disable
|
||||
*
|
||||
* Return: QDF_STATUS_SUCCESS upon successful registration,
|
||||
* QDF_STATUS_E_FAILURE upon failure
|
||||
*/
|
||||
QDF_STATUS wlan_spectral_psoc_disable(struct wlan_objmgr_psoc *psoc);
|
||||
|
||||
/**
|
||||
* spectral_register_dbr() - register Spectral event handler with DDMA
|
||||
* @pdev: pointer to pdev object
|
||||
|
新增問題並參考
封鎖使用者