qcacmn: Declare user configured chan and bandwidth in dfs struct

The BW Expansion feature requires Agile SM to run on User
Configured Channel. The User configured Frequency and Phymode
should be stored in DFS structure.

Introduce the following new DFS structure members:
User configured Frequency - dfs_bw_expand_target_freq
User configured mode    - dfs_bw_expand_des_mode

The API dfs_is_subset_channel_for_freq is changed from static to
non-static. The API dfs_is_subset_channel_for_freq is needed for
finding the channel to run Agile when Bandwidth Expansion feature
is enabled.

CRs-Fixed: 3221545
Change-Id: If98ab9b3cc2c50fa5acc8e29bd5374830d1adf52
This commit is contained in:
Vijay Krishnan
2022-06-27 10:22:55 +05:30
committed by Madan Koyyalamudi
parent 54239d54dc
commit af4b3be5e3
3 changed files with 25 additions and 9 deletions

View File

@@ -1117,6 +1117,10 @@ struct dfs_rcac_params {
* @dfs_is_rcsa_ie_sent: To send or to not send RCSA IE. * @dfs_is_rcsa_ie_sent: To send or to not send RCSA IE.
* @dfs_is_nol_ie_sent: To send or to not send NOL IE. * @dfs_is_nol_ie_sent: To send or to not send NOL IE.
* @dfs_agile_precac_ucfg: User configuration for agile preCAC. * @dfs_agile_precac_ucfg: User configuration for agile preCAC.
* @dfs_bw_expand_target_freq: User configured Channel frequency for
* bandwidth expansion feature.
* @dfs_bw_expand_des_mode: User configured Channel Phymode for
* bandwidth expansion feature.
* @dfs_agile_rcac_ucfg: User configuration for Rolling CAC. * @dfs_agile_rcac_ucfg: User configuration for Rolling CAC.
* @dfs_fw_adfs_support_non_160: Target Agile DFS support for non-160 BWs. * @dfs_fw_adfs_support_non_160: Target Agile DFS support for non-160 BWs.
* @dfs_fw_adfs_support_160: Target Agile DFS support for 160 BW. * @dfs_fw_adfs_support_160: Target Agile DFS support for 160 BW.
@@ -1287,6 +1291,10 @@ struct wlan_dfs {
uint8_t dfs_nol_ie_bitmap; uint8_t dfs_nol_ie_bitmap;
bool dfs_is_rcsa_ie_sent; bool dfs_is_rcsa_ie_sent;
bool dfs_is_nol_ie_sent; bool dfs_is_nol_ie_sent;
#endif
#if defined(QCA_DFS_BW_EXPAND)
qdf_freq_t dfs_bw_expand_target_freq;
enum wlan_phymode dfs_bw_expand_des_mode;
#endif #endif
uint8_t dfs_agile_precac_ucfg:1, uint8_t dfs_agile_precac_ucfg:1,
#if defined(QCA_SUPPORT_ADFS_RCAC) #if defined(QCA_SUPPORT_ADFS_RCAC)

View File

@@ -1186,4 +1186,20 @@ dfs_translate_radar_params_for_agile_chan(struct wlan_dfs *dfs,
{ {
} }
#endif #endif
/**
* dfs_is_subset_channel_for_freq() - Find out if prev channel and current
* channel are subsets of each other.
* @old_subchans_freq: Pointer to previous sub-channels freq.
* @old_n_chans: Number of previous sub-channels.
* @new_subchans_freq: Pointer to new sub-channels freq.
* @new_n_chans: Number of new sub-channels
*/
#ifdef CONFIG_CHAN_FREQ_API
bool
dfs_is_subset_channel_for_freq(uint16_t *old_subchans_freq,
uint8_t old_n_chans,
uint16_t *new_subchans_freq,
uint8_t new_n_chans);
#endif
#endif /* _DFS_ZERO_CAC_H_ */ #endif /* _DFS_ZERO_CAC_H_ */

View File

@@ -349,16 +349,8 @@ void dfs_cac_valid_reset_for_freq(struct wlan_dfs *dfs,
#endif #endif
#endif #endif
/*
* dfs_is_subset_channel_for_freq() - Find out if prev channel and current
* channel are subsets of each other.
* @old_subchans_freq: Pointer to previous sub-channels freq.
* @old_n_chans: Number of previous sub-channels.
* @new_subchans_freq: Pointer to new sub-channels freq.
* @new_n_chans: Number of new sub-channels
*/
#ifdef CONFIG_CHAN_FREQ_API #ifdef CONFIG_CHAN_FREQ_API
static bool bool
dfs_is_subset_channel_for_freq(uint16_t *old_subchans_freq, dfs_is_subset_channel_for_freq(uint16_t *old_subchans_freq,
uint8_t old_n_chans, uint8_t old_n_chans,
uint16_t *new_subchans_freq, uint16_t *new_subchans_freq,