qcacmn: Validate the proposed bitmap and enable puncturing

When radar is found in any DFS channel, a radar bitmap is
generated based on the radar infected channels. For example,
if operating channel is 100 HT160 and radar found in 112,
then the generated bitmap is B0000_0010. This proposed bitmap
is compared with the valid puncturing patterns. In this case,
the proposed bitmap is valid puncturing pattern.

In case of a valid puncturing pattern, send the final
bitmap to DFS module and the module updates the DFS channel
puncturing pattern. If an invalid puncturing pattern is
found, return value zero and do not update DFS channel
puncturing pattern.

CRs-Fixed: 3273800
Change-Id: Iee23ac267bfea1b4815a72c2728555f96bed6466
This commit is contained in:
Vijay Krishnan
2022-08-23 11:41:29 +05:30
committed by Madan Koyyalamudi
父節點 d706698dd1
當前提交 ef864278aa
共有 9 個文件被更改,包括 166 次插入13 次删除

查看文件

@@ -1,5 +1,6 @@
/*
* Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
* Copyright (c) 2022 Qualcomm Innovation Center, Inc. All rights reserved.
*
*
* Permission to use, copy, modify, and/or distribute this software for
@@ -45,12 +46,14 @@ void dfs_mlme_start_rcsa(struct wlan_objmgr_pdev *pdev,
* @freq: Channel frequency.
* @vhtop_ch_freq_seg2: VHT80 Cfreq2.
* @flags: channel flags.
* @dfs_radar_bitmap: Radar bitmap.
*/
void dfs_mlme_mark_dfs(struct wlan_objmgr_pdev *pdev,
uint8_t ieee,
uint16_t freq,
uint16_t vhtop_ch_freq_seg2,
uint64_t flags);
uint64_t flags,
uint16_t dfs_radar_bitmap);
#if defined(WLAN_DFS_PARTIAL_OFFLOAD) && defined(HOST_DFS_SPOOF_TEST)
/**

查看文件

@@ -86,7 +86,8 @@ struct dfs_to_mlme {
uint8_t ieee,
uint16_t freq,
uint16_t vhtop_ch_freq_seg2,
uint64_t flags);
uint64_t flags,
uint16_t dfs_radar_bitmap);
#ifdef CONFIG_CHAN_FREQ_API
QDF_STATUS (*mlme_start_csa_for_freq)(struct wlan_objmgr_pdev *pdev,
uint8_t ieee_chan, uint16_t freq,