qcacmn: Add 6G support for DFS Random channel selection

Add 6G support for DFS Random channel selection to move to a 6G target
channel in the event of a radar on a radio that supports both 5G and
6G channels.

Change-Id: I1ad65b36feba65b6bbc3affc243aae1beb12960c
CRs-Fixed: 2727958
This commit is contained in:
Hariharan Basuthkar
2020-04-07 17:02:02 +05:30
committed by snandini
parent 9949f46e04
commit e808bb0cce
3 changed files with 50 additions and 3 deletions

View File

@@ -771,11 +771,12 @@ static void utils_dfs_get_channel_list(struct wlan_objmgr_pdev *pdev,
{
struct dfs_channel *tmp_chan_list = NULL;
struct wlan_dfs *dfs;
bool is_curchan_6g;
bool is_curchan_5g;
bool is_curchan_24g;
bool is_curchan_49g;
uint32_t chan_num;
uint32_t center_freq;
uint8_t chan_num;
uint16_t center_freq;
uint16_t flagext;
int i, j = 0;
@@ -793,6 +794,7 @@ static void utils_dfs_get_channel_list(struct wlan_objmgr_pdev *pdev,
chan_num = dfs->dfs_curchan->dfs_ch_ieee;
center_freq = dfs->dfs_curchan->dfs_ch_freq;
is_curchan_6g = WLAN_REG_IS_6GHZ_CHAN_FREQ(center_freq);
is_curchan_5g = WLAN_REG_IS_5GHZ_CH_FREQ(center_freq);
is_curchan_24g = WLAN_REG_IS_24GHZ_CH_FREQ(center_freq);
is_curchan_49g = WLAN_REG_IS_49GHZ_FREQ(center_freq);
@@ -805,7 +807,9 @@ static void utils_dfs_get_channel_list(struct wlan_objmgr_pdev *pdev,
if (!dfs_mlme_check_allowed_prim_chanlist(pdev, center_freq))
continue;
if ((is_curchan_5g) && WLAN_REG_IS_5GHZ_CH_FREQ(center_freq)) {
if (((is_curchan_5g) || is_curchan_6g) &&
(WLAN_REG_IS_5GHZ_CH_FREQ(center_freq) ||
WLAN_REG_IS_6GHZ_CHAN_FREQ(center_freq))) {
chan_list[j].dfs_ch_ieee = chan_num;
chan_list[j].dfs_ch_freq = center_freq;
chan_list[j].dfs_ch_flagext = flagext;