qcacld-3.0: Add interface manager module

- Add interface manager module files
- Add start_connect event processing
- Add stubs for start_connect_complete and start_bss
event processing API's

Change-Id: I24756336c6e6c9d7f3276e4039c0b7236233d45e
CRs-Fixed: 2759275
This commit is contained in:
Sandeep Puligilla 2020-08-14 02:23:03 -07:00 committed by snandini
parent 7e9c64ca60
commit 60352aed62
4 changed files with 175 additions and 0 deletions

View File

@ -0,0 +1,42 @@
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*
* DOC: contains interface manager public api
*/
#ifndef _WLAN_IF_MGR_ROAM_H_
#define _WLAN_IF_MGR_ROAM_H_
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#include "wlan_policy_mgr_api.h"
#include "wlan_if_mgr_roam.h"
/**
* if_mgr_enable_roaming() - interface manager enable roaming
*
* Interface manager emable roaming
*
* @vdev: vdev object
* @pdev: pdev object
*
* Return: QDF_STATUS
*/
QDF_STATUS if_mgr_enable_roaming(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_pdev *pdev);
#endif

View File

@ -0,0 +1,30 @@
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*
* DOC: contains interface manager roam public api
*/
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_pdev_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#include "wlan_policy_mgr_api.h"
#include "wlan_if_mgr_roam.h"
QDF_STATUS if_mgr_enable_roaming(struct wlan_objmgr_vdev *vdev,
struct wlan_objmgr_pdev *pdev)
{
return QDF_STATUS_SUCCESS;
}

View File

@ -0,0 +1,29 @@
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*
* DOC: contains interface manager public api
*/
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#include "wlan_if_mgr_public_struct.h"
#include "wlan_if_mgr_ap.h"
QDF_STATUS wlan_process_ap_start_bss(struct wlan_objmgr_vdev *vdev,
struct if_mgr_event_data *event_data)
{
return QDF_STATUS_SUCCESS;
}

View File

@ -0,0 +1,74 @@
/*
* Copyright (c) 2020, The Linux Foundation. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
/*
* DOC: contains interface manager public api
*/
#include "wlan_objmgr_psoc_obj.h"
#include "wlan_objmgr_vdev_obj.h"
#include "wlan_if_mgr_public_struct.h"
#include "wlan_if_mgr_sta.h"
#include "nan_ucfg_api.h"
#include "wlan_policy_mgr_api.h"
QDF_STATUS wlan_process_connect_start(struct wlan_objmgr_vdev *vdev,
struct if_mgr_event_data *event_data)
{
uint8_t sta_cnt, sap_cnt;
struct wlan_objmgr_psoc *psoc;
enum QDF_OPMODE op_mode;
psoc = wlan_vdev_get_psoc(vdev);
if (!psoc)
return QDF_STATUS_E_FAILURE;
/*
* Disable NAN Discovery if incoming connection is P2P or if a STA
* connection already exists and if this is a case of STA+STA
* or SAP+STA concurrency
*/
sta_cnt = policy_mgr_mode_specific_connection_count(psoc,
PM_STA_MODE,
NULL);
sap_cnt = policy_mgr_mode_specific_connection_count(psoc,
PM_SAP_MODE,
NULL);
op_mode = wlan_vdev_mlme_get_opmode(vdev);
if (op_mode == QDF_P2P_CLIENT_MODE || sap_cnt || sta_cnt)
ucfg_nan_disable_concurrency(psoc);
/* STA+NDI concurrency gets preference over NDI+NDI. Disable
* first NDI in case an NDI+NDI concurrency exists.
*/
ucfg_nan_check_and_disable_unsupported_ndi(psoc, false);
/*
* STA+NDI concurrency gets preference over NDI+NDI. Disable
* first NDI in case an NDI+NDI concurrency exists if FW does
* not support 4 port concurrency of two NDI + NAN with STA.
*/
if (!ucfg_nan_is_sta_nan_ndi_4_port_allowed(psoc))
ucfg_nan_check_and_disable_unsupported_ndi(psoc,
false);
return QDF_STATUS_SUCCESS;
}
QDF_STATUS wlan_process_connect_complete(struct wlan_objmgr_vdev *vdev,
struct if_mgr_event_data *event_data)
{
return QDF_STATUS_SUCCESS;
}