|
@@ -2160,17 +2160,47 @@ void dfs_destroy_object(struct wlan_dfs *dfs);
|
|
|
*/
|
|
|
void dfs_detach(struct wlan_dfs *dfs);
|
|
|
|
|
|
+#ifdef QCA_SUPPORT_DFS_CAC
|
|
|
/**
|
|
|
- * dfs_cac_valid_reset() - Cancels the dfs_cac_valid_timer timer.
|
|
|
+ * dfs_stacac_stop() - Clear the STA CAC timer.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|
|
|
- * @prevchan_ieee: Prevchan number.
|
|
|
- * @prevchan_flags: Prevchan flags.
|
|
|
*/
|
|
|
-#ifdef CONFIG_CHAN_NUM_API
|
|
|
-void dfs_cac_valid_reset(struct wlan_dfs *dfs,
|
|
|
- uint8_t prevchan_ieee,
|
|
|
- uint32_t prevchan_flags);
|
|
|
-#endif
|
|
|
+void dfs_stacac_stop(struct wlan_dfs *dfs);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_is_cac_required() - Check if DFS CAC is required for the current channel.
|
|
|
+ * @dfs: Pointer to wlan_dfs structure.
|
|
|
+ * @cur_chan: Pointer to current channel of dfs_channel structure.
|
|
|
+ * @prev_chan: Pointer to previous channel of dfs_channel structure.
|
|
|
+ * @continue_current_cac: If AP can start CAC then this variable indicates
|
|
|
+ * whether to continue with the current CAC or restart the CAC. This variable
|
|
|
+ * is valid only if this function returns true.
|
|
|
+ *
|
|
|
+ * Return: true if AP requires CAC or can continue current CAC, else false.
|
|
|
+ */
|
|
|
+bool dfs_is_cac_required(struct wlan_dfs *dfs,
|
|
|
+ struct dfs_channel *cur_chan,
|
|
|
+ struct dfs_channel *prev_chan,
|
|
|
+ bool *continue_current_cac);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_cac_stop() - Clear the AP CAC timer.
|
|
|
+ * @dfs: Pointer to wlan_dfs structure.
|
|
|
+ */
|
|
|
+
|
|
|
+void dfs_cac_stop(struct wlan_dfs *dfs);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_cancel_cac_timer() - Cancels the CAC timer.
|
|
|
+ * @dfs: Pointer to wlan_dfs structure.
|
|
|
+ */
|
|
|
+void dfs_cancel_cac_timer(struct wlan_dfs *dfs);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_start_cac_timer() - Starts the CAC timer.
|
|
|
+ * @dfs: Pointer to wlan_dfs structure.
|
|
|
+ */
|
|
|
+void dfs_start_cac_timer(struct wlan_dfs *dfs);
|
|
|
|
|
|
/**
|
|
|
* dfs_cac_valid_reset_for_freq() - Cancels the dfs_cac_valid_timer timer.
|
|
@@ -2185,23 +2215,118 @@ void dfs_cac_valid_reset_for_freq(struct wlan_dfs *dfs,
|
|
|
#endif
|
|
|
|
|
|
/**
|
|
|
- * dfs_cac_stop() - Clear the AP CAC timer.
|
|
|
+ * dfs_get_override_cac_timeout() - Get override CAC timeout value.
|
|
|
+ * @dfs: Pointer to DFS object.
|
|
|
+ * @cac_timeout: Pointer to save the CAC timeout value.
|
|
|
+ */
|
|
|
+int dfs_get_override_cac_timeout(struct wlan_dfs *dfs,
|
|
|
+ int *cac_timeout);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_override_cac_timeout() - Override the default CAC timeout.
|
|
|
+ * @dfs: Pointer to DFS object.
|
|
|
+ * @cac_timeout: CAC timeout value.
|
|
|
+ */
|
|
|
+int dfs_override_cac_timeout(struct wlan_dfs *dfs,
|
|
|
+ int cac_timeout);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_is_ap_cac_timer_running() - Returns the dfs cac timer.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|
|
|
*/
|
|
|
-void dfs_cac_stop(struct wlan_dfs *dfs);
|
|
|
+int dfs_is_ap_cac_timer_running(struct wlan_dfs *dfs);
|
|
|
|
|
|
/**
|
|
|
- * dfs_cancel_cac_timer() - Cancels the CAC timer.
|
|
|
+ * dfs_cac_timer_attach() - Initialize cac timers.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|
|
|
*/
|
|
|
-void dfs_cancel_cac_timer(struct wlan_dfs *dfs);
|
|
|
+void dfs_cac_timer_attach(struct wlan_dfs *dfs);
|
|
|
|
|
|
/**
|
|
|
- * dfs_start_cac_timer() - Starts the CAC timer.
|
|
|
+ * dfs_cac_timer_reset() - Cancel dfs cac timers.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|
|
|
*/
|
|
|
-void dfs_start_cac_timer(struct wlan_dfs *dfs);
|
|
|
+void dfs_cac_timer_reset(struct wlan_dfs *dfs);
|
|
|
+
|
|
|
+/**
|
|
|
+ * dfs_cac_timer_detach() - Free dfs cac timers.
|
|
|
+ * @dfs: Pointer to wlan_dfs structure.
|
|
|
+ */
|
|
|
+void dfs_cac_timer_detach(struct wlan_dfs *dfs);
|
|
|
+#else
|
|
|
+static inline
|
|
|
+void dfs_stacac_stop(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+bool dfs_is_cac_required(struct wlan_dfs *dfs,
|
|
|
+ struct dfs_channel *cur_chan,
|
|
|
+ struct dfs_channel *prev_chan,
|
|
|
+ bool *continue_current_cac)
|
|
|
+{
|
|
|
+ return false;
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+void dfs_cac_stop(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+void dfs_cancel_cac_timer(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+void dfs_start_cac_timer(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
|
|
|
+#ifdef CONFIG_CHAN_FREQ_API
|
|
|
+static inline
|
|
|
+void dfs_cac_valid_reset_for_freq(struct wlan_dfs *dfs,
|
|
|
+ uint16_t prevchan_freq,
|
|
|
+ uint32_t prevchan_flags)
|
|
|
+{
|
|
|
+}
|
|
|
+#endif
|
|
|
+
|
|
|
+static inline
|
|
|
+int dfs_get_override_cac_timeout(struct wlan_dfs *dfs,
|
|
|
+ int *cac_timeout)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+int dfs_override_cac_timeout(struct wlan_dfs *dfs,
|
|
|
+ int cac_timeout)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+int dfs_is_ap_cac_timer_running(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+ return 0;
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+void dfs_cac_timer_attach(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+void dfs_cac_timer_reset(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+static inline
|
|
|
+void dfs_cac_timer_detach(struct wlan_dfs *dfs)
|
|
|
+{
|
|
|
+}
|
|
|
+#endif
|
|
|
/**
|
|
|
* dfs_set_update_nol_flag() - Sets update_nol flag.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|
|
@@ -2228,12 +2353,6 @@ int dfs_get_use_nol(struct wlan_dfs *dfs);
|
|
|
*/
|
|
|
int dfs_get_nol_timeout(struct wlan_dfs *dfs);
|
|
|
|
|
|
-/**
|
|
|
- * dfs_is_ap_cac_timer_running() - Returns the dfs cac timer.
|
|
|
- * @dfs: Pointer to wlan_dfs structure.
|
|
|
- */
|
|
|
-int dfs_is_ap_cac_timer_running(struct wlan_dfs *dfs);
|
|
|
-
|
|
|
/**
|
|
|
* dfs_control()- Used to process ioctls related to DFS.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|
|
@@ -2258,22 +2377,6 @@ int dfs_control(struct wlan_dfs *dfs,
|
|
|
void dfs_getnol(struct wlan_dfs *dfs,
|
|
|
void *dfs_nolinfo);
|
|
|
|
|
|
-/**
|
|
|
- * dfs_get_override_cac_timeout() - Get override CAC timeout value.
|
|
|
- * @dfs: Pointer to DFS object.
|
|
|
- * @cac_timeout: Pointer to save the CAC timeout value.
|
|
|
- */
|
|
|
-int dfs_get_override_cac_timeout(struct wlan_dfs *dfs,
|
|
|
- int *cac_timeout);
|
|
|
-
|
|
|
-/**
|
|
|
- * dfs_override_cac_timeout() - Override the default CAC timeout.
|
|
|
- * @dfs: Pointer to DFS object.
|
|
|
- * @cac_timeout: CAC timeout value.
|
|
|
- */
|
|
|
-int dfs_override_cac_timeout(struct wlan_dfs *dfs,
|
|
|
- int cac_timeout);
|
|
|
-
|
|
|
/**
|
|
|
* dfs_clear_nolhistory() - unmarks WLAN_CHAN_CLR_HISTORY_RADAR flag for
|
|
|
* all the channels in dfs_ch_channels.
|
|
@@ -2344,23 +2447,6 @@ static inline int dfs_radar_disable(struct wlan_dfs *dfs)
|
|
|
int dfs_get_debug_info(struct wlan_dfs *dfs,
|
|
|
void *data);
|
|
|
|
|
|
-/**
|
|
|
- * dfs_cac_timer_attach() - Initialize cac timers.
|
|
|
- * @dfs: Pointer to wlan_dfs structure.
|
|
|
- */
|
|
|
-void dfs_cac_timer_attach(struct wlan_dfs *dfs);
|
|
|
-
|
|
|
-/**
|
|
|
- * dfs_cac_timer_reset() - Cancel dfs cac timers.
|
|
|
- * @dfs: Pointer to wlan_dfs structure.
|
|
|
- */
|
|
|
-void dfs_cac_timer_reset(struct wlan_dfs *dfs);
|
|
|
-
|
|
|
-/**
|
|
|
- * dfs_cac_timer_detach() - Free dfs cac timers.
|
|
|
- * @dfs: Pointer to wlan_dfs structure.
|
|
|
- */
|
|
|
-void dfs_cac_timer_detach(struct wlan_dfs *dfs);
|
|
|
|
|
|
/**
|
|
|
* dfs_nol_timer_init() - Initialize NOL timers.
|
|
@@ -2386,12 +2472,6 @@ void dfs_nol_detach(struct wlan_dfs *dfs);
|
|
|
*/
|
|
|
void dfs_print_nolhistory(struct wlan_dfs *dfs);
|
|
|
|
|
|
-/**
|
|
|
- * dfs_stacac_stop() - Clear the STA CAC timer.
|
|
|
- * @dfs: Pointer to wlan_dfs structure.
|
|
|
- */
|
|
|
-void dfs_stacac_stop(struct wlan_dfs *dfs);
|
|
|
-
|
|
|
/**
|
|
|
* dfs_find_precac_secondary_vht80_chan() - Get a VHT80 channel with the
|
|
|
* precac primary center frequency.
|
|
@@ -2822,22 +2902,6 @@ bool dfs_process_nol_ie_bitmap(struct wlan_dfs *dfs, uint8_t nol_ie_bandwidth,
|
|
|
}
|
|
|
#endif
|
|
|
|
|
|
-/**
|
|
|
- * dfs_is_cac_required() - Check if DFS CAC is required for the current channel.
|
|
|
- * @dfs: Pointer to wlan_dfs structure.
|
|
|
- * @cur_chan: Pointer to current channel of dfs_channel structure.
|
|
|
- * @prev_chan: Pointer to previous channel of dfs_channel structure.
|
|
|
- * @continue_current_cac: If AP can start CAC then this variable indicates
|
|
|
- * whether to continue with the current CAC or restart the CAC. This variable
|
|
|
- * is valid only if this function returns true.
|
|
|
- *
|
|
|
- * Return: true if AP requires CAC or can continue current CAC, else false.
|
|
|
- */
|
|
|
-bool dfs_is_cac_required(struct wlan_dfs *dfs,
|
|
|
- struct dfs_channel *cur_chan,
|
|
|
- struct dfs_channel *prev_chan,
|
|
|
- bool *continue_current_cac);
|
|
|
-
|
|
|
/**
|
|
|
* dfs_task_testtimer_reset() - stop dfs test timer.
|
|
|
* @dfs: Pointer to wlan_dfs structure.
|