From ce86ecdfd33b36662b8b4b651e5e44833aa2bdca Mon Sep 17 00:00:00 2001 From: Shashikala Prabhu Date: Fri, 27 Jul 2018 16:01:27 +0530 Subject: [PATCH] qcacmn: Add a public API to check if channel is in NOL Add necessary wrapper functions so that other components/umac can check if a HT20 channel is in NOL. Change-Id: Ie2cda1fe8f71d829e261ebdcf4563a4c2ff352ae CRs-Fixed: 2180879 --- umac/dfs/core/src/dfs.h | 11 +++++++++++ umac/dfs/core/src/misc/dfs_random_chan_sel.c | 11 +---------- umac/dfs/dispatcher/inc/wlan_dfs_utils_api.h | 11 +++++++++++ umac/dfs/dispatcher/src/wlan_dfs_utils_api.c | 11 +++++++++++ 4 files changed, 34 insertions(+), 10 deletions(-) diff --git a/umac/dfs/core/src/dfs.h b/umac/dfs/core/src/dfs.h index 135198e9f5f2..26e65af73035 100644 --- a/umac/dfs/core/src/dfs.h +++ b/umac/dfs/core/src/dfs.h @@ -2321,4 +2321,15 @@ int dfs_second_segment_radar_disable(struct wlan_dfs *dfs); */ void dfs_task_testtimer_reset(struct wlan_dfs *dfs); +/** + * dfs_freq_is_in_nol() - check if given channel in nol list + * @dfs: Pointer to wlan_dfs structure + * @freq: channel frequency + * + * check if given channel in nol list. + * + * Return: true if channel in nol, false else + */ +bool dfs_freq_is_in_nol(struct wlan_dfs *dfs, uint32_t freq); + #endif /* _DFS_H_ */ diff --git a/umac/dfs/core/src/misc/dfs_random_chan_sel.c b/umac/dfs/core/src/misc/dfs_random_chan_sel.c index cc6de9fb1c9f..c8bd49e031dd 100644 --- a/umac/dfs/core/src/misc/dfs_random_chan_sel.c +++ b/umac/dfs/core/src/misc/dfs_random_chan_sel.c @@ -1206,16 +1206,7 @@ static void dfs_remove_cur_ch_from_list( return; } -/** - * dfs_freq_is_in_nol()- check if given channel in nol list - * @dfs: dfs handler - * @freq: channel frequency. - * - * check if given channel in nol list. - * - * Return: true if channel in nol, false else - */ -static bool dfs_freq_is_in_nol(struct wlan_dfs *dfs, uint32_t freq) +bool dfs_freq_is_in_nol(struct wlan_dfs *dfs, uint32_t freq) { struct dfs_nolelem *nol; diff --git a/umac/dfs/dispatcher/inc/wlan_dfs_utils_api.h b/umac/dfs/dispatcher/inc/wlan_dfs_utils_api.h index efb404565b46..3a00f5c110c4 100644 --- a/umac/dfs/dispatcher/inc/wlan_dfs_utils_api.h +++ b/umac/dfs/dispatcher/inc/wlan_dfs_utils_api.h @@ -97,6 +97,17 @@ QDF_STATUS utils_dfs_cac_valid_reset(struct wlan_objmgr_pdev *pdev, */ QDF_STATUS utils_dfs_reset(struct wlan_objmgr_pdev *pdev); +/** + * utils_dfs_freq_is_in_nol() - check if given channel in nol list + * @pdev: Pointer to DFS pdev object + * @freq: channel frequency + * + * check if given channel in nol list. + * + * Return: true if channel in nol, false else + */ +bool utils_dfs_freq_is_in_nol(struct wlan_objmgr_pdev *pdev, uint32_t freq); + /** * utils_dfs_reset_precaclists() - Clears and initiakizes precac_required_list, * precac_done_list and precac_nol_list. diff --git a/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c b/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c index 8def886809cb..61e09a3a1940 100644 --- a/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c +++ b/umac/dfs/dispatcher/src/wlan_dfs_utils_api.c @@ -57,6 +57,17 @@ QDF_STATUS utils_dfs_reset(struct wlan_objmgr_pdev *pdev) return QDF_STATUS_SUCCESS; } +bool utils_dfs_freq_is_in_nol(struct wlan_objmgr_pdev *pdev, uint32_t freq) +{ + struct wlan_dfs *dfs; + + dfs = global_dfs_to_mlme.pdev_get_comp_private_obj(pdev); + if (!dfs) + return false; + + return dfs_freq_is_in_nol(dfs, freq); +} + QDF_STATUS utils_dfs_cac_valid_reset(struct wlan_objmgr_pdev *pdev, uint8_t prevchan_ieee, uint32_t prevchan_flags)