qcacmn: Move vdev_mlme timers to psoc_mlme

Add code to change the vdev_mlme timers to psoc_mlme timers
and also change code to send vdev_delete to FW while physical
destruction of vdev obj.

Change-Id: Ie041182155c75d0cc3825dc97b26abc6be38d76c
CRs-Fixed: 2563931
This commit is contained in:
Akshay Kosigi
2019-09-26 15:22:13 +05:30
committed by Arun Kumar Khandavalli
parent 536903de91
commit 71d3820a97
7 changed files with 26 additions and 2 deletions

View File

@@ -1192,5 +1192,7 @@ target_if_vdev_mgr_register_tx_ops(struct wlan_lmac_if_tx_ops *tx_ops)
target_if_wake_lock_init;
mlme_tx_ops->psoc_wake_lock_deinit =
target_if_wake_lock_deinit;
mlme_tx_ops->vdev_mgr_rsp_timer_stop =
target_if_vdev_mgr_rsp_timer_stop;
return QDF_STATUS_SUCCESS;
}

View File

@@ -287,6 +287,10 @@ struct wlan_lmac_if_mlme_tx_ops {
struct wlan_objmgr_psoc *psoc);
void (*psoc_wake_lock_deinit)(
struct wlan_objmgr_psoc *psoc);
QDF_STATUS (*vdev_mgr_rsp_timer_stop)(
struct wlan_objmgr_psoc *psoc,
struct vdev_response_timer *vdev_rsp,
enum wlan_vdev_mgr_tgt_if_rsp_bit clear_bit);
};
/**

View File

@@ -18,6 +18,7 @@
* DOC: Implements PSOC MLME APIs
*/
#include <qdf_module.h>
#include <wlan_objmgr_cmn.h>
#include <wlan_objmgr_global_obj.h>
#include <wlan_mlme_dbg.h>
@@ -41,6 +42,8 @@ struct psoc_mlme_obj *mlme_psoc_get_priv(struct wlan_objmgr_psoc *psoc)
return psoc_mlme;
}
qdf_export_symbol(mlme_psoc_get_priv);
static QDF_STATUS mlme_psoc_obj_create_handler(struct wlan_objmgr_psoc *psoc,
void *arg)
{

View File

@@ -65,7 +65,7 @@ static QDF_STATUS mlme_vdev_obj_create_handler(struct wlan_objmgr_vdev *vdev,
return QDF_STATUS_E_FAILURE;
}
txops = target_if_vdev_mgr_get_tx_ops(psoc);
txops = wlan_mlme_get_lmac_tx_ops(psoc);
if (!txops || !txops->psoc_vdev_rsp_timer_inuse) {
mlme_err("Failed to get mlme txrx_ops PSOC_%d",
wlan_psoc_get_id(psoc));

View File

@@ -47,4 +47,15 @@ void tgt_vdev_mgr_register_rx_ops(struct wlan_lmac_if_rx_ops *rx_ops);
QDF_STATUS
tgt_vdev_mgr_ext_tbttoffset_update_handle(uint32_t num_vdevs, bool is_ext);
/**
* tgt_vdev_mgr_get_response_timer_info() - API to get vdev_mgr timer info
* @psoc: objmgr psoc object
* @vdev_id: vdev id
*
* Return: struct vdev_response_timer on success else NULL
*/
struct vdev_response_timer *
tgt_vdev_mgr_get_response_timer_info(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id);
#endif /* __WLAN_VDEV_MGR_RX_OPS_H__ */

View File

@@ -27,6 +27,7 @@
#define __WLAN_VDEV_MGR_TGT_IF_RX_DEFS_H__
#include <qdf_timer.h>
#include <qdf_atomic.h>
#ifdef FEATURE_RUNTIME_PM
#include <wlan_pmo_common_public_struct.h>
#endif

View File

@@ -22,6 +22,7 @@
* This file provide definition for APIs registered for LMAC MLME Rx Ops
*/
#include <qdf_types.h>
#include <qdf_module.h>
#include <wlan_vdev_mgr_tgt_if_rx_defs.h>
#include <wlan_vdev_mgr_tgt_if_rx_api.h>
#include <include/wlan_vdev_mlme.h>
@@ -32,7 +33,7 @@
#include <include/wlan_psoc_mlme.h>
#include <include/wlan_mlme_cmn.h>
static struct vdev_response_timer *
struct vdev_response_timer *
tgt_vdev_mgr_get_response_timer_info(struct wlan_objmgr_psoc *psoc,
uint8_t vdev_id)
{
@@ -48,6 +49,8 @@ tgt_vdev_mgr_get_response_timer_info(struct wlan_objmgr_psoc *psoc,
return &psoc_mlme->psoc_vdev_rt[vdev_id];
}
qdf_export_symbol(tgt_vdev_mgr_get_response_timer_info);
static QDF_STATUS tgt_vdev_mgr_start_response_handler(
struct wlan_objmgr_psoc *psoc,
struct vdev_start_response *rsp)