Lines Matching refs:wiphy
398 static void cfg80211_set_chans_dfs_state(struct wiphy *wiphy, u32 center_freq, in cfg80211_set_chans_dfs_state() argument
408 c = ieee80211_get_channel(wiphy, freq); in cfg80211_set_chans_dfs_state()
417 void cfg80211_set_dfs_state(struct wiphy *wiphy, in cfg80211_set_dfs_state() argument
430 cfg80211_set_chans_dfs_state(wiphy, chandef->center_freq1, in cfg80211_set_dfs_state()
435 cfg80211_set_chans_dfs_state(wiphy, chandef->center_freq2, in cfg80211_set_dfs_state()
467 static int cfg80211_get_chans_dfs_required(struct wiphy *wiphy, in cfg80211_get_chans_dfs_required() argument
478 c = ieee80211_get_channel_khz(wiphy, freq); in cfg80211_get_chans_dfs_required()
489 int cfg80211_chandef_dfs_required(struct wiphy *wiphy, in cfg80211_chandef_dfs_required() argument
508 ret = cfg80211_get_chans_dfs_required(wiphy, in cfg80211_chandef_dfs_required()
519 ret = cfg80211_get_chans_dfs_required(wiphy, in cfg80211_chandef_dfs_required()
546 static int cfg80211_get_chans_dfs_usable(struct wiphy *wiphy, in cfg80211_get_chans_dfs_usable() argument
564 c = ieee80211_get_channel_khz(wiphy, freq); in cfg80211_get_chans_dfs_usable()
583 bool cfg80211_chandef_dfs_usable(struct wiphy *wiphy, in cfg80211_chandef_dfs_usable() argument
596 r1 = cfg80211_get_chans_dfs_usable(wiphy, in cfg80211_chandef_dfs_usable()
606 r2 = cfg80211_get_chans_dfs_usable(wiphy, in cfg80211_chandef_dfs_usable()
693 static bool cfg80211_is_wiphy_oper_chan(struct wiphy *wiphy, in cfg80211_is_wiphy_oper_chan() argument
698 list_for_each_entry(wdev, &wiphy->wdev_list, list) { in cfg80211_is_wiphy_oper_chan()
715 bool cfg80211_any_wiphy_oper_chan(struct wiphy *wiphy, in cfg80211_any_wiphy_oper_chan() argument
726 if (!reg_dfs_domain_same(wiphy, &rdev->wiphy)) in cfg80211_any_wiphy_oper_chan()
729 if (cfg80211_is_wiphy_oper_chan(&rdev->wiphy, chan)) in cfg80211_any_wiphy_oper_chan()
736 static bool cfg80211_get_chans_dfs_available(struct wiphy *wiphy, in cfg80211_get_chans_dfs_available() argument
744 dfs_offload = wiphy_ext_feature_isset(wiphy, in cfg80211_get_chans_dfs_available()
756 c = ieee80211_get_channel_khz(wiphy, freq); in cfg80211_get_chans_dfs_available()
772 static bool cfg80211_chandef_dfs_available(struct wiphy *wiphy, in cfg80211_chandef_dfs_available() argument
785 r = cfg80211_get_chans_dfs_available(wiphy, in cfg80211_chandef_dfs_available()
796 r = cfg80211_get_chans_dfs_available(wiphy, in cfg80211_chandef_dfs_available()
808 static unsigned int cfg80211_get_chans_dfs_cac_time(struct wiphy *wiphy, in cfg80211_get_chans_dfs_cac_time() argument
820 c = ieee80211_get_channel_khz(wiphy, freq); in cfg80211_get_chans_dfs_cac_time()
838 cfg80211_chandef_dfs_cac_time(struct wiphy *wiphy, in cfg80211_chandef_dfs_cac_time() argument
851 t1 = cfg80211_get_chans_dfs_cac_time(wiphy, in cfg80211_chandef_dfs_cac_time()
858 t2 = cfg80211_get_chans_dfs_cac_time(wiphy, in cfg80211_chandef_dfs_cac_time()
865 static bool cfg80211_secondary_chans_ok(struct wiphy *wiphy, in cfg80211_secondary_chans_ok() argument
876 c = ieee80211_get_channel_khz(wiphy, freq); in cfg80211_secondary_chans_ok()
885 static bool cfg80211_edmg_usable(struct wiphy *wiphy, u8 edmg_channels, in cfg80211_edmg_usable() argument
916 chan = ieee80211_get_channel(wiphy, freq); in cfg80211_edmg_usable()
937 bool cfg80211_chandef_usable(struct wiphy *wiphy, in cfg80211_chandef_usable() argument
950 ht_cap = &wiphy->bands[chandef->chan->band]->ht_cap; in cfg80211_chandef_usable()
951 vht_cap = &wiphy->bands[chandef->chan->band]->vht_cap; in cfg80211_chandef_usable()
952 edmg_cap = &wiphy->bands[chandef->chan->band]->edmg_cap; in cfg80211_chandef_usable()
957 !cfg80211_edmg_usable(wiphy, in cfg80211_chandef_usable()
1071 if (!cfg80211_secondary_chans_ok(wiphy, in cfg80211_chandef_usable()
1078 return cfg80211_secondary_chans_ok(wiphy, in cfg80211_chandef_usable()
1093 static bool cfg80211_ir_permissive_chan(struct wiphy *wiphy, in cfg80211_ir_permissive_chan() argument
1098 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); in cfg80211_ir_permissive_chan()
1100 lockdep_assert_held(&rdev->wiphy.mtx); in cfg80211_ir_permissive_chan()
1103 !(wiphy->regulatory_flags & REGULATORY_ENABLE_RELAX_NO_IR)) in cfg80211_ir_permissive_chan()
1126 list_for_each_entry(wdev, &rdev->wiphy.wdev_list, list) { in cfg80211_ir_permissive_chan()
1185 static bool _cfg80211_reg_can_beacon(struct wiphy *wiphy, in _cfg80211_reg_can_beacon() argument
1194 trace_cfg80211_reg_can_beacon(wiphy, chandef, iftype, check_no_ir); in _cfg80211_reg_can_beacon()
1199 if (cfg80211_chandef_dfs_required(wiphy, chandef, iftype) > 0 && in _cfg80211_reg_can_beacon()
1200 cfg80211_chandef_dfs_available(wiphy, chandef)) { in _cfg80211_reg_can_beacon()
1205 res = cfg80211_chandef_usable(wiphy, chandef, prohibited_flags); in _cfg80211_reg_can_beacon()
1211 bool cfg80211_reg_can_beacon(struct wiphy *wiphy, in cfg80211_reg_can_beacon() argument
1215 return _cfg80211_reg_can_beacon(wiphy, chandef, iftype, true); in cfg80211_reg_can_beacon()
1219 bool cfg80211_reg_can_beacon_relax(struct wiphy *wiphy, in cfg80211_reg_can_beacon_relax() argument
1223 struct cfg80211_registered_device *rdev = wiphy_to_rdev(wiphy); in cfg80211_reg_can_beacon_relax()
1226 lockdep_assert_held(&rdev->wiphy.mtx); in cfg80211_reg_can_beacon_relax()
1234 check_no_ir = !cfg80211_ir_permissive_chan(wiphy, iftype, in cfg80211_reg_can_beacon_relax()
1237 return _cfg80211_reg_can_beacon(wiphy, chandef, iftype, check_no_ir); in cfg80211_reg_can_beacon_relax()
1302 ret = cfg80211_chandef_dfs_required(wdev->wiphy, in cfg80211_get_chan_state()
1315 ret = cfg80211_chandef_dfs_required(wdev->wiphy, in cfg80211_get_chan_state()
1343 bool cfg80211_any_usable_channels(struct wiphy *wiphy, in cfg80211_any_usable_channels() argument
1352 struct ieee80211_supported_band *sband = wiphy->bands[idx]; in cfg80211_any_usable_channels()