qcacld-3.0: Add cnx mgr logic for connect and disconnect ext ind

Add connection manager logic to handle p2p/tdls/policy mgr logics
on connect/disconnect start and complete ext indication. And
add the call to csr to update the legacy structs.

Change-Id: I218a1d193dd62ad041e84078bd2509b82ec11363
CRs-Fixed: 2846663
This commit is contained in:
gaurank kathpalia
2020-12-30 13:22:27 +05:30
committed by snandini
parent 26600dee50
commit f8a769a7b6
25 changed files with 743 additions and 273 deletions

View File

@@ -24,6 +24,7 @@
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#ifdef FEATURE_WLAN_TDLS
/**
* wlan_tdls_teardown_links() - notify TDLS module to teardown all TDLS links
* @psoc: psoc object
@@ -39,4 +40,59 @@ QDF_STATUS wlan_tdls_teardown_links(struct wlan_objmgr_psoc *psoc);
* Return: None
*/
void wlan_tdls_teardown_links_sync(struct wlan_objmgr_psoc *psoc);
/**
* wlan_tdls_notify_sta_disconnect() - notify sta disconnect
* @vdev_id: pointer to soc object
* @lfr_roam: indicate, whether disconnect due to lfr roam
* @bool user_disconnect: disconnect from user space
* @vdev: vdev object manager
*
* Notify sta disconnect event to TDLS component
*
* Return: QDF_STATUS
*/
void wlan_tdls_notify_sta_disconnect(uint8_t vdev_id,
bool lfr_roam, bool user_disconnect,
struct wlan_objmgr_vdev *vdev);
/**
* wlan_tdls_notify_sta_connect() - notify sta connect to TDLS
* @vdev_id: pointer to soc object
* @tdls_chan_swit_prohibited: indicates channel switch capability
* @tdls_prohibited: indicates tdls allowed or not
* @vdev: vdev object manager
*
* Notify sta connect event to TDLS component
*
* Return: None
*/
void
wlan_tdls_notify_sta_connect(uint8_t vdev_id,
bool tdls_chan_swit_prohibited,
bool tdls_prohibited,
struct wlan_objmgr_vdev *vdev);
#else
static inline QDF_STATUS wlan_tdls_teardown_links(struct wlan_objmgr_psoc *psoc)
{
return QDF_STATUS_SUCCESS;
}
static inline void wlan_tdls_teardown_links_sync(struct wlan_objmgr_psoc *psoc)
{}
static inline
void wlan_tdls_notify_sta_disconnect(uint8_t vdev_id,
bool lfr_roam, bool user_disconnect,
struct wlan_objmgr_vdev *vdev)
{}
static inline void
wlan_tdls_notify_sta_connect(uint8_t vdev_id,
bool tdls_chan_swit_prohibited,
bool tdls_prohibited,
struct wlan_objmgr_vdev *vdev) {}
#endif
#endif

View File

@@ -176,22 +176,35 @@ void ucfg_tdls_teardown_links_sync(struct wlan_objmgr_psoc *psoc);
QDF_STATUS ucfg_tdls_notify_reset_adapter(struct wlan_objmgr_vdev *vdev);
/**
* ucfg_tdls_notify_sta_connect() - notify sta connect
* @notify_info: sta notification info
* ucfg_tdls_notify_sta_connect() - notify sta connect to TDLS
* @vdev_id: pointer to soc object
* @tdls_chan_swit_prohibited: indicates channel switch capability
* @tdls_prohibited: indicates tdls allowed or not
* @vdev: vdev object manager
*
* Return: QDF_STATUS
* Notify sta connect event to TDLS component
*
* Return: None
*/
QDF_STATUS ucfg_tdls_notify_sta_connect(
struct tdls_sta_notify_params *notify_info);
void ucfg_tdls_notify_sta_connect(uint8_t vdev_id,
bool tdls_chan_swit_prohibited,
bool tdls_prohibited,
struct wlan_objmgr_vdev *vdev);
/**
* ucfg_tdls_notify_sta_disconnect() - notify sta disconnect
* @notify_info: sta notification info
* @vdev_id: pointer to soc object
* @lfr_roam: indicate, whether disconnect due to lfr roam
* @bool user_disconnect: disconnect from user space
* @vdev: vdev object manager
*
* Return: QDF_STATUS
* Notify sta disconnect event to TDLS component
*
* Return: None
*/
QDF_STATUS ucfg_tdls_notify_sta_disconnect(
struct tdls_sta_notify_params *notify_info);
void ucfg_tdls_notify_sta_disconnect(uint8_t vdev_id,
bool lfr_roam, bool user_disconnect,
struct wlan_objmgr_vdev *vdev);
/**
* ucfg_tdls_set_operating_mode() - set operating mode
@@ -375,6 +388,20 @@ void ucfg_tdls_notify_connect_failure(struct wlan_objmgr_psoc *psoc)
{
}
static inline
void ucfg_tdls_notify_sta_connect(uint8_t vdev_id,
bool tdls_chan_swit_prohibited,
bool tdls_prohibited,
struct wlan_objmgr_vdev *vdev)
{
}
static inline
void ucfg_tdls_notify_sta_disconnect(uint8_t vdev_id,
bool lfr_roam, bool user_disconnect,
struct wlan_objmgr_vdev *vdev)
{}
static inline
struct wlan_objmgr_vdev *ucfg_get_tdls_vdev(struct wlan_objmgr_psoc *psoc,
wlan_objmgr_ref_dbgid dbg_id)