|
@@ -336,4 +336,46 @@ bool reg_is_band_present(struct wlan_objmgr_pdev *pdev,
|
|
return reg_is_band_found_internal(min_chan_idx, max_chan_idx,
|
|
return reg_is_band_found_internal(min_chan_idx, max_chan_idx,
|
|
cur_chan_list);
|
|
cur_chan_list);
|
|
}
|
|
}
|
|
-#endif
|
|
|
|
|
|
+#endif /* CONFIG_HOST_FIND_CHAN */
|
|
|
|
+
|
|
|
|
+bool reg_is_nol_for_freq(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq)
|
|
|
|
+{
|
|
|
|
+ enum channel_enum chan_enum;
|
|
|
|
+ struct wlan_regulatory_pdev_priv_obj *pdev_priv_obj;
|
|
|
|
+
|
|
|
|
+ chan_enum = reg_get_chan_enum_for_freq(freq);
|
|
|
|
+ if (chan_enum == INVALID_CHANNEL) {
|
|
|
|
+ reg_err("chan freq is not valid");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ pdev_priv_obj = reg_get_pdev_obj(pdev);
|
|
|
|
+
|
|
|
|
+ if (!IS_VALID_PDEV_REG_OBJ(pdev_priv_obj)) {
|
|
|
|
+ reg_err("pdev reg obj is NULL");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return pdev_priv_obj->cur_chan_list[chan_enum].nol_chan;
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+bool reg_is_nol_hist_for_freq(struct wlan_objmgr_pdev *pdev, qdf_freq_t freq)
|
|
|
|
+{
|
|
|
|
+ enum channel_enum chan_enum;
|
|
|
|
+ struct wlan_regulatory_pdev_priv_obj *pdev_priv_obj;
|
|
|
|
+
|
|
|
|
+ chan_enum = reg_get_chan_enum_for_freq(freq);
|
|
|
|
+ if (chan_enum == INVALID_CHANNEL) {
|
|
|
|
+ reg_err("chan freq is not valid");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ pdev_priv_obj = reg_get_pdev_obj(pdev);
|
|
|
|
+
|
|
|
|
+ if (!IS_VALID_PDEV_REG_OBJ(pdev_priv_obj)) {
|
|
|
|
+ reg_err("pdev reg obj is NULL");
|
|
|
|
+ return false;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ return pdev_priv_obj->cur_chan_list[chan_enum].nol_history;
|
|
|
|
+}
|