Преглед изворни кода

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
Vijay Krishnan пре 3 година
родитељ
комит
af4b3be5e3
3 измењених фајлова са 25 додато и 9 уклоњено
  1. 8 0
      umac/dfs/core/src/dfs.h
  2. 16 0
      umac/dfs/core/src/dfs_zero_cac.h
  3. 1 9
      umac/dfs/core/src/misc/dfs_cac.c

+ 8 - 0
umac/dfs/core/src/dfs.h

@@ -1117,6 +1117,10 @@ struct dfs_rcac_params {
  * @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_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_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.
@@ -1287,6 +1291,10 @@ struct wlan_dfs {
 	uint8_t        dfs_nol_ie_bitmap;
 	bool           dfs_is_rcsa_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
 	uint8_t        dfs_agile_precac_ucfg:1,
 #if defined(QCA_SUPPORT_ADFS_RCAC)

+ 16 - 0
umac/dfs/core/src/dfs_zero_cac.h

@@ -1186,4 +1186,20 @@ dfs_translate_radar_params_for_agile_chan(struct wlan_dfs *dfs,
 {
 }
 #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_ */

+ 1 - 9
umac/dfs/core/src/misc/dfs_cac.c

@@ -349,16 +349,8 @@ void dfs_cac_valid_reset_for_freq(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
-static bool
+bool
 dfs_is_subset_channel_for_freq(uint16_t *old_subchans_freq,
 			       uint8_t old_n_chans,
 			       uint16_t *new_subchans_freq,