qcacmn: Add CFG/INI items to extscan component
Add following extscan CFG items to common ext scan component 1.CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME 2.CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME 3.CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME 4.CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME 5.CFG_EXTSCAN_ALLOWED Change-Id: Ib4e1acc2d1535f91a8dc084305cdf01f5d7f57f1 CRs-Fixed: 2292754
This commit is contained in:

committed by
nshrivas

parent
44a7ab73f9
commit
20ffac7774
@@ -25,10 +25,12 @@
|
|||||||
|
|
||||||
#include <wlan_scan_cfg.h>
|
#include <wlan_scan_cfg.h>
|
||||||
#include "cfg_dp.h"
|
#include "cfg_dp.h"
|
||||||
|
#include <wlan_extscan_cfg.h>
|
||||||
|
|
||||||
#define CFG_CONVERGED_ALL \
|
#define CFG_CONVERGED_ALL \
|
||||||
CFG_SCAN_ALL \
|
CFG_SCAN_ALL \
|
||||||
CFG_DP
|
CFG_DP \
|
||||||
|
CFG_EXTSCAN_ALL
|
||||||
|
|
||||||
#endif /* __CFG_CONVERGED_H */
|
#endif /* __CFG_CONVERGED_H */
|
||||||
|
|
||||||
|
@@ -269,6 +269,21 @@ struct pno_def_config {
|
|||||||
struct nlo_mawc_params mawc_params;
|
struct nlo_mawc_params mawc_params;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct extscan_def_config - def configuration for EXTSCAN
|
||||||
|
* @extscan_enabled: enable extscan
|
||||||
|
* @extscan_passive_max_chn_time: max passive channel time
|
||||||
|
* @extscan_passive_min_chn_time: min passive channel time
|
||||||
|
* @extscan_active_max_chn_time: max active channel time
|
||||||
|
* @extscan_active_min_chn_time: min active channel time
|
||||||
|
*/
|
||||||
|
struct extscan_def_config {
|
||||||
|
bool extscan_enabled;
|
||||||
|
uint32_t extscan_passive_max_chn_time;
|
||||||
|
uint32_t extscan_passive_min_chn_time;
|
||||||
|
uint32_t extscan_active_max_chn_time;
|
||||||
|
uint32_t extscan_active_min_chn_time;
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* struct scan_default_params - default scan parameters to be used
|
* struct scan_default_params - default scan parameters to be used
|
||||||
@@ -456,6 +471,7 @@ struct scan_cb {
|
|||||||
* @global_evhandlers: registered scan event handlers
|
* @global_evhandlers: registered scan event handlers
|
||||||
* @pdev_info: pointer to pdev info
|
* @pdev_info: pointer to pdev info
|
||||||
* @pno_cfg: default pno configuration
|
* @pno_cfg: default pno configuration
|
||||||
|
* @extscan_cfg: default extscan configuration
|
||||||
* @ie_whitelist: default ie whitelist attrs
|
* @ie_whitelist: default ie whitelist attrs
|
||||||
* @bt_a2dp_enabled: if bt a2dp is enabled
|
* @bt_a2dp_enabled: if bt a2dp is enabled
|
||||||
* @miracast_enabled: miracast enabled
|
* @miracast_enabled: miracast enabled
|
||||||
@@ -476,6 +492,9 @@ struct wlan_scan_obj {
|
|||||||
struct global_scan_ev_handlers global_evhandlers;
|
struct global_scan_ev_handlers global_evhandlers;
|
||||||
struct pdev_scan_info pdev_info[WLAN_UMAC_MAX_PDEVS];
|
struct pdev_scan_info pdev_info[WLAN_UMAC_MAX_PDEVS];
|
||||||
struct pno_def_config pno_cfg;
|
struct pno_def_config pno_cfg;
|
||||||
|
#ifdef FEATURE_WLAN_EXTSCAN
|
||||||
|
struct extscan_def_config extscan_cfg;
|
||||||
|
#endif
|
||||||
struct probe_req_whitelist_attr ie_whitelist;
|
struct probe_req_whitelist_attr ie_whitelist;
|
||||||
bool bt_a2dp_enabled;
|
bool bt_a2dp_enabled;
|
||||||
bool miracast_enabled;
|
bool miracast_enabled;
|
||||||
|
134
umac/scan/dispatcher/inc/wlan_extscan_api.h
Normal file
134
umac/scan/dispatcher/inc/wlan_extscan_api.h
Normal file
@@ -0,0 +1,134 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 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: This file contains APIs of EXTSCAN component
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _WLAN_EXTSCAN_API_H_
|
||||||
|
#define _WLAN_EXTSCAN_API_H_
|
||||||
|
|
||||||
|
#include <wlan_objmgr_psoc_obj.h>
|
||||||
|
#include <wlan_objmgr_pdev_obj.h>
|
||||||
|
#include <wlan_objmgr_vdev_obj.h>
|
||||||
|
#include "../../core/src/wlan_scan_main.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_WLAN_EXTSCAN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* extscan_get_enable() - API to get extscan enable value
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
*
|
||||||
|
* Return: true if enabled else false.
|
||||||
|
*/
|
||||||
|
bool extscan_get_enable(struct wlan_objmgr_psoc *psoc);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* extscan_get_passive_max_time() - API to get passive
|
||||||
|
* max channel time
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @passive_max_chn_time: extscan passive max channel time
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
void extscan_get_passive_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *passive_max_chn_time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* extscan_get_active_max_time() - API to get active
|
||||||
|
* max channel time
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @active_max_chn_time: extscan active max channel time
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
void extscan_get_active_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_max_chn_time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* extscan_get_active_min_time() - API to set active
|
||||||
|
* min channel time
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @active_min_chn_time: extscan active min channel time
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
void extscan_get_active_min_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_min_chn_time);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_extscan_global_init() - Initialize extscan
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @scan_obj: pointer to scan object
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
wlan_extscan_global_init(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_scan_obj *scan_obj);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* wlan_extscan_global_deinit() - Deinitialize extscan
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @scan_obj: pointer to scan object
|
||||||
|
*
|
||||||
|
* Return: QDF_STATUS
|
||||||
|
*/
|
||||||
|
QDF_STATUS
|
||||||
|
wlan_extscan_global_deinit(void);
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline
|
||||||
|
bool cfg_extscan_get_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
void cfg_extscan_get_passive_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *passive_max_chn_time)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
void cfg_extscan_get_active_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_max_chn_time)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline
|
||||||
|
void cfg_extscan_get_active_min_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_min_chn_time)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline QDF_STATUS
|
||||||
|
wlan_extscan_global_init(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_scan_obj *scan_obj)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline QDF_STATUS wlan_extscan_global_deinit(void)
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
159
umac/scan/dispatcher/inc/wlan_extscan_cfg.h
Normal file
159
umac/scan/dispatcher/inc/wlan_extscan_cfg.h
Normal file
@@ -0,0 +1,159 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 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: This file contains centralized definitions of EXTSCAN component
|
||||||
|
*/
|
||||||
|
#ifndef _WLAN_EXTSCAN_CONFIG_H_
|
||||||
|
#define _WLAN_EXTSCAN_CONFIG_H_
|
||||||
|
|
||||||
|
#include "cfg_define.h"
|
||||||
|
|
||||||
|
#ifdef FEATURE_WLAN_EXTSCAN
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gExtScanPassiveMaxChannelTime - Set max channel time for external
|
||||||
|
* passive scan
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 500
|
||||||
|
* @Default: 110
|
||||||
|
*
|
||||||
|
* This ini is used to set maximum channel time in secs spent in
|
||||||
|
* external passive scan
|
||||||
|
*
|
||||||
|
* Related: None
|
||||||
|
*
|
||||||
|
* Supported Feature: Scan
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\
|
||||||
|
"gExtScanPassiveMaxChannelTime",\
|
||||||
|
0, 500, 110, CFG_VALUE_OR_DEFAULT,\
|
||||||
|
"ext scan passive max channel time")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gExtScanPassiveMinChannelTime - Set min channel time for external
|
||||||
|
* passive scan
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 500
|
||||||
|
* @Default: 60
|
||||||
|
*
|
||||||
|
* This ini is used to set minimum channel time in secs spent in
|
||||||
|
* external passive scan
|
||||||
|
*
|
||||||
|
* Related: None
|
||||||
|
*
|
||||||
|
* Supported Feature: Scan
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME CFG_INI_UINT(\
|
||||||
|
"gExtScanPassiveMinChannelTime",\
|
||||||
|
0, 500, 60, CFG_VALUE_OR_DEFAULT,\
|
||||||
|
"ext scan passive min channel time")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gExtScanActiveMaxChannelTime - Set min channel time for external
|
||||||
|
* active scan
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 110
|
||||||
|
* @Default: 40
|
||||||
|
*
|
||||||
|
* This ini is used to set maximum channel time in secs spent in
|
||||||
|
* external active scan
|
||||||
|
*
|
||||||
|
* Related: None
|
||||||
|
*
|
||||||
|
* Supported Feature: Scan
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME CFG_INI_UINT(\
|
||||||
|
"gExtScanActiveMaxChannelTime",\
|
||||||
|
0, 110, 40, CFG_VALUE_OR_DEFAULT,\
|
||||||
|
"ext scan active max channel time")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gExtScanActiveMinChannelTime - Set min channel time for external
|
||||||
|
* active scan
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 110
|
||||||
|
* @Default: 20
|
||||||
|
*
|
||||||
|
* This ini is used to set minimum channel time in secs spent in
|
||||||
|
* external active scan
|
||||||
|
*
|
||||||
|
* Related: None
|
||||||
|
*
|
||||||
|
* Supported Feature: Scan
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME CFG_INI_UINT(\
|
||||||
|
"gExtScanActiveMinChannelTime",\
|
||||||
|
0, 110, 20, CFG_VALUE_OR_DEFAULT,\
|
||||||
|
"ext scan active min channel time")
|
||||||
|
|
||||||
|
/*
|
||||||
|
* <ini>
|
||||||
|
* gExtScanEnable - Enable external scan
|
||||||
|
* @Min: 0
|
||||||
|
* @Max: 1
|
||||||
|
* @Default: 1
|
||||||
|
*
|
||||||
|
* This ini is used to control enabling of external scan
|
||||||
|
* feature.
|
||||||
|
*
|
||||||
|
* Related: None
|
||||||
|
*
|
||||||
|
* Supported Feature: Scan
|
||||||
|
*
|
||||||
|
* Usage: External
|
||||||
|
*
|
||||||
|
* </ini>
|
||||||
|
*/
|
||||||
|
#define CFG_EXTSCAN_ALLOWED CFG_INI_BOOL(\
|
||||||
|
"gExtScanEnable",\
|
||||||
|
1,\
|
||||||
|
"ext scan enable")
|
||||||
|
|
||||||
|
#define CFG_EXTSCAN_ALL \
|
||||||
|
CFG(CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME) \
|
||||||
|
CFG(CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME) \
|
||||||
|
CFG(CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME) \
|
||||||
|
CFG(CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME) \
|
||||||
|
CFG(CFG_EXTSCAN_ALLOWED)
|
||||||
|
|
||||||
|
#else
|
||||||
|
#define CFG_EXTSCAN_ALL
|
||||||
|
#endif
|
||||||
|
#endif
|
102
umac/scan/dispatcher/inc/wlan_extscan_ucfg_api.h
Normal file
102
umac/scan/dispatcher/inc/wlan_extscan_ucfg_api.h
Normal file
@@ -0,0 +1,102 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 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: This file contains UCFG APIs of EXTSCAN component
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef _WLAN_EXTSCAN_UCFG_API_H_
|
||||||
|
#define _WLAN_EXTSCAN_UCFG_API_H_
|
||||||
|
|
||||||
|
#include "wlan_extscan_api.h"
|
||||||
|
#include <wlan_objmgr_psoc_obj.h>
|
||||||
|
#include <wlan_objmgr_pdev_obj.h>
|
||||||
|
#include <wlan_objmgr_vdev_obj.h>
|
||||||
|
|
||||||
|
#ifdef FEATURE_WLAN_EXTSCAN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ucfg_extscan_get_enable() - API to get extscan enable value
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
*
|
||||||
|
* Return: true if enabled else false.
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
bool ucfg_extscan_get_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
|
{
|
||||||
|
return extscan_get_enable(psoc);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ucfg_extscan_get_passive_max_time() - API to get passive
|
||||||
|
* max channel time
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @passive_max_chn_time: extscan passive max channel time
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void ucfg_extscan_get_passive_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *passive_max_chn_time)
|
||||||
|
{
|
||||||
|
extscan_get_passive_max_time(psoc,
|
||||||
|
passive_max_chn_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ucfg_extscan_get_active_max_time() - API to get active
|
||||||
|
* max channel time
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @active_max_chn_time: extscan active max channel time
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void ucfg_extscan_get_active_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_max_chn_time)
|
||||||
|
{
|
||||||
|
extscan_get_active_max_time(psoc,
|
||||||
|
active_max_chn_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ucfg_extscan_get_active_min_time() - API to set active
|
||||||
|
* min channel time
|
||||||
|
* @psoc: pointer to psoc object
|
||||||
|
* @active_min_chn_time: extscan active min channel time
|
||||||
|
*
|
||||||
|
* Return: none
|
||||||
|
*/
|
||||||
|
static inline
|
||||||
|
void ucfg_extscan_get_active_min_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_min_chn_time)
|
||||||
|
{
|
||||||
|
extscan_get_active_min_time(psoc,
|
||||||
|
active_min_chn_time);
|
||||||
|
}
|
||||||
|
|
||||||
|
#else
|
||||||
|
|
||||||
|
static inline
|
||||||
|
bool ucfg_extscan_get_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif
|
106
umac/scan/dispatcher/src/wlan_extscan_api.c
Normal file
106
umac/scan/dispatcher/src/wlan_extscan_api.c
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (c) 2012-2018 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: This file contains all EXTSSCAN component's APIs
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "wlan_extscan_api.h"
|
||||||
|
#include "cfg_ucfg_api.h"
|
||||||
|
|
||||||
|
bool extscan_get_enable(struct wlan_objmgr_psoc *psoc)
|
||||||
|
{
|
||||||
|
struct wlan_scan_obj *scan_obj;
|
||||||
|
|
||||||
|
scan_obj = wlan_psoc_get_scan_obj(psoc);
|
||||||
|
if (!scan_obj) {
|
||||||
|
scm_err("Failed to get scan object");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return scan_obj->extscan_cfg.extscan_enabled;
|
||||||
|
}
|
||||||
|
|
||||||
|
void extscan_get_passive_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *passive_max_chn_time)
|
||||||
|
{
|
||||||
|
struct wlan_scan_obj *scan_obj;
|
||||||
|
|
||||||
|
scan_obj = wlan_psoc_get_scan_obj(psoc);
|
||||||
|
if (!scan_obj) {
|
||||||
|
scm_err("Failed to get scan object");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
*passive_max_chn_time =
|
||||||
|
scan_obj->extscan_cfg.extscan_passive_max_chn_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
void extscan_get_active_max_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_max_chn_time)
|
||||||
|
{
|
||||||
|
struct wlan_scan_obj *scan_obj;
|
||||||
|
|
||||||
|
scan_obj = wlan_psoc_get_scan_obj(psoc);
|
||||||
|
if (!scan_obj) {
|
||||||
|
scm_err("Failed to get scan object");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
*active_max_chn_time =
|
||||||
|
scan_obj->extscan_cfg.extscan_active_max_chn_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
void extscan_get_active_min_time(struct wlan_objmgr_psoc *psoc,
|
||||||
|
uint32_t *active_min_chn_time)
|
||||||
|
{
|
||||||
|
struct wlan_scan_obj *scan_obj;
|
||||||
|
|
||||||
|
scan_obj = wlan_psoc_get_scan_obj(psoc);
|
||||||
|
if (!scan_obj) {
|
||||||
|
scm_err("Failed to get scan object");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
*active_min_chn_time =
|
||||||
|
scan_obj->extscan_cfg.extscan_active_min_chn_time;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDF_STATUS
|
||||||
|
wlan_extscan_global_init(struct wlan_objmgr_psoc *psoc,
|
||||||
|
struct wlan_scan_obj *scan_obj)
|
||||||
|
{
|
||||||
|
struct extscan_def_config *extscan_def = &scan_obj->extscan_cfg;
|
||||||
|
|
||||||
|
extscan_def->extscan_enabled = true;
|
||||||
|
extscan_def->extscan_passive_max_chn_time =
|
||||||
|
cfg_get(psoc, CFG_EXTSCAN_PASSIVE_MAX_CHANNEL_TIME);
|
||||||
|
extscan_def->extscan_passive_min_chn_time =
|
||||||
|
cfg_get(psoc, CFG_EXTSCAN_PASSIVE_MIN_CHANNEL_TIME);
|
||||||
|
extscan_def->extscan_active_max_chn_time =
|
||||||
|
cfg_get(psoc, CFG_EXTSCAN_ACTIVE_MAX_CHANNEL_TIME);
|
||||||
|
extscan_def->extscan_active_min_chn_time =
|
||||||
|
cfg_get(psoc, CFG_EXTSCAN_ACTIVE_MIN_CHANNEL_TIME);
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
QDF_STATUS
|
||||||
|
wlan_extscan_global_deinit()
|
||||||
|
{
|
||||||
|
return QDF_STATUS_SUCCESS;
|
||||||
|
}
|
@@ -41,6 +41,7 @@
|
|||||||
#include <wlan_policy_mgr_api.h>
|
#include <wlan_policy_mgr_api.h>
|
||||||
#endif
|
#endif
|
||||||
#include "cfg_ucfg_api.h"
|
#include "cfg_ucfg_api.h"
|
||||||
|
#include "wlan_extscan_api.h"
|
||||||
|
|
||||||
QDF_STATUS ucfg_scan_register_bcn_cb(struct wlan_objmgr_psoc *psoc,
|
QDF_STATUS ucfg_scan_register_bcn_cb(struct wlan_objmgr_psoc *psoc,
|
||||||
update_beacon_cb cb, enum scan_cb_type type)
|
update_beacon_cb cb, enum scan_cb_type type)
|
||||||
@@ -1476,9 +1477,22 @@ wlan_scan_global_init(struct wlan_objmgr_psoc *psoc,
|
|||||||
/* init scan id seed */
|
/* init scan id seed */
|
||||||
qdf_atomic_init(&scan_obj->scan_ids);
|
qdf_atomic_init(&scan_obj->scan_ids);
|
||||||
|
|
||||||
|
/* init extscan */
|
||||||
|
wlan_extscan_global_init(psoc, scan_obj);
|
||||||
|
|
||||||
return wlan_pno_global_init(&scan_obj->pno_cfg);
|
return wlan_pno_global_init(&scan_obj->pno_cfg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
wlan_scan_global_deinit(struct wlan_objmgr_psoc *psoc)
|
||||||
|
{
|
||||||
|
struct wlan_scan_obj *scan_obj;
|
||||||
|
|
||||||
|
scan_obj = wlan_psoc_get_scan_obj(psoc);
|
||||||
|
wlan_pno_global_deinit(&scan_obj->pno_cfg);
|
||||||
|
wlan_extscan_global_deinit();
|
||||||
|
}
|
||||||
|
|
||||||
static QDF_STATUS
|
static QDF_STATUS
|
||||||
scm_remove_scan_event_handler(struct pdev_scan_ev_handler *pdev_ev_handler,
|
scm_remove_scan_event_handler(struct pdev_scan_ev_handler *pdev_ev_handler,
|
||||||
struct cb_handler *entry)
|
struct cb_handler *entry)
|
||||||
@@ -2119,7 +2133,7 @@ ucfg_scan_psoc_close(struct wlan_objmgr_psoc *psoc)
|
|||||||
}
|
}
|
||||||
ucfg_scan_unregister_pmo_handler();
|
ucfg_scan_unregister_pmo_handler();
|
||||||
qdf_spinlock_destroy(&scan_obj->lock);
|
qdf_spinlock_destroy(&scan_obj->lock);
|
||||||
wlan_pno_global_deinit(&scan_obj->pno_cfg);
|
wlan_scan_global_deinit(psoc);
|
||||||
|
|
||||||
return QDF_STATUS_SUCCESS;
|
return QDF_STATUS_SUCCESS;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user