Lines Matching refs:chan
234 struct ieee80211_channel chan; member
1696 const struct ieee80211_channel *chan) in reg_rule_to_chan_bw_flags() argument
1700 bool is_s1g = chan->band == NL80211_BAND_S1GHZ; in reg_rule_to_chan_bw_flags()
1705 center_freq_khz = ieee80211_channel_to_khz(chan); in reg_rule_to_chan_bw_flags()
1778 struct ieee80211_channel *chan, in handle_channel_single_rule() argument
1791 bw_flags = reg_rule_to_chan_bw_flags(regd, reg_rule, chan); in handle_channel_single_rule()
1801 chan->flags = chan->orig_flags = in handle_channel_single_rule()
1803 chan->max_antenna_gain = chan->orig_mag = in handle_channel_single_rule()
1805 chan->max_reg_power = chan->max_power = chan->orig_mpwr = in handle_channel_single_rule()
1808 if (chan->flags & IEEE80211_CHAN_RADAR) { in handle_channel_single_rule()
1809 chan->dfs_cac_ms = IEEE80211_DFS_MIN_CAC_TIME_MS; in handle_channel_single_rule()
1811 chan->dfs_cac_ms = reg_rule->dfs_cac_ms; in handle_channel_single_rule()
1814 if (chan->flags & IEEE80211_CHAN_PSD) in handle_channel_single_rule()
1815 chan->psd = reg_rule->psd; in handle_channel_single_rule()
1820 chan->dfs_state = NL80211_DFS_USABLE; in handle_channel_single_rule()
1821 chan->dfs_state_entered = jiffies; in handle_channel_single_rule()
1823 chan->beacon_found = false; in handle_channel_single_rule()
1824 chan->flags = flags | bw_flags | map_regdom_flags(reg_rule->flags); in handle_channel_single_rule()
1825 chan->max_antenna_gain = in handle_channel_single_rule()
1826 min_t(int, chan->orig_mag, in handle_channel_single_rule()
1828 chan->max_reg_power = (int) MBM_TO_DBM(power_rule->max_eirp); in handle_channel_single_rule()
1830 if (chan->flags & IEEE80211_CHAN_RADAR) { in handle_channel_single_rule()
1832 chan->dfs_cac_ms = reg_rule->dfs_cac_ms; in handle_channel_single_rule()
1834 chan->dfs_cac_ms = IEEE80211_DFS_MIN_CAC_TIME_MS; in handle_channel_single_rule()
1837 if (chan->flags & IEEE80211_CHAN_PSD) in handle_channel_single_rule()
1838 chan->psd = reg_rule->psd; in handle_channel_single_rule()
1840 if (chan->orig_mpwr) { in handle_channel_single_rule()
1847 chan->max_power = chan->max_reg_power; in handle_channel_single_rule()
1849 chan->max_power = min(chan->orig_mpwr, in handle_channel_single_rule()
1850 chan->max_reg_power); in handle_channel_single_rule()
1852 chan->max_power = chan->max_reg_power; in handle_channel_single_rule()
1857 struct ieee80211_channel *chan, in handle_channel_adjacent_rules() argument
1875 bw_flags1 = reg_rule_to_chan_bw_flags(regd, rrule1, chan); in handle_channel_adjacent_rules()
1876 bw_flags2 = reg_rule_to_chan_bw_flags(regd, rrule2, chan); in handle_channel_adjacent_rules()
1885 chan->flags = in handle_channel_adjacent_rules()
1890 chan->orig_flags = chan->flags; in handle_channel_adjacent_rules()
1891 chan->max_antenna_gain = in handle_channel_adjacent_rules()
1894 chan->orig_mag = chan->max_antenna_gain; in handle_channel_adjacent_rules()
1895 chan->max_reg_power = in handle_channel_adjacent_rules()
1898 chan->max_power = chan->max_reg_power; in handle_channel_adjacent_rules()
1899 chan->orig_mpwr = chan->max_reg_power; in handle_channel_adjacent_rules()
1901 if (chan->flags & IEEE80211_CHAN_RADAR) { in handle_channel_adjacent_rules()
1902 chan->dfs_cac_ms = IEEE80211_DFS_MIN_CAC_TIME_MS; in handle_channel_adjacent_rules()
1904 chan->dfs_cac_ms = max_t(unsigned int, in handle_channel_adjacent_rules()
1911 chan->psd = min_t(s8, rrule1->psd, rrule2->psd); in handle_channel_adjacent_rules()
1913 chan->flags &= ~NL80211_RRF_PSD; in handle_channel_adjacent_rules()
1918 chan->dfs_state = NL80211_DFS_USABLE; in handle_channel_adjacent_rules()
1919 chan->dfs_state_entered = jiffies; in handle_channel_adjacent_rules()
1921 chan->beacon_found = false; in handle_channel_adjacent_rules()
1922 chan->flags = flags | bw_flags1 | bw_flags2 | in handle_channel_adjacent_rules()
1930 ieee80211_channel_to_khz(chan), in handle_channel_adjacent_rules()
1932 chan->flags &= ~IEEE80211_CHAN_NO_10MHZ; in handle_channel_adjacent_rules()
1934 ieee80211_channel_to_khz(chan), in handle_channel_adjacent_rules()
1936 chan->flags &= ~IEEE80211_CHAN_NO_20MHZ; in handle_channel_adjacent_rules()
1938 chan->max_antenna_gain = in handle_channel_adjacent_rules()
1939 min_t(int, chan->orig_mag, in handle_channel_adjacent_rules()
1943 chan->max_reg_power = min_t(int, in handle_channel_adjacent_rules()
1947 if (chan->flags & IEEE80211_CHAN_RADAR) { in handle_channel_adjacent_rules()
1949 chan->dfs_cac_ms = max_t(unsigned int, in handle_channel_adjacent_rules()
1953 chan->dfs_cac_ms = IEEE80211_DFS_MIN_CAC_TIME_MS; in handle_channel_adjacent_rules()
1956 if (chan->orig_mpwr) { in handle_channel_adjacent_rules()
1962 chan->max_power = chan->max_reg_power; in handle_channel_adjacent_rules()
1964 chan->max_power = min(chan->orig_mpwr, in handle_channel_adjacent_rules()
1965 chan->max_reg_power); in handle_channel_adjacent_rules()
1967 chan->max_power = chan->max_reg_power; in handle_channel_adjacent_rules()
1977 struct ieee80211_channel *chan) in handle_channel() argument
1979 const u32 orig_chan_freq = ieee80211_channel_to_khz(chan); in handle_channel()
1986 u32 flags = chan->orig_flags; in handle_channel()
2019 handle_channel_adjacent_rules(wiphy, initiator, chan, in handle_channel()
2044 chan->center_freq, chan->freq_offset); in handle_channel()
2045 chan->orig_flags |= IEEE80211_CHAN_DISABLED; in handle_channel()
2046 chan->flags = chan->orig_flags; in handle_channel()
2049 chan->center_freq, chan->freq_offset); in handle_channel()
2050 chan->flags |= IEEE80211_CHAN_DISABLED; in handle_channel()
2055 handle_channel_single_rule(wiphy, initiator, chan, flags, lr, in handle_channel()
2193 struct ieee80211_channel *chan; in handle_reg_beacon() local
2198 sband = wiphy->bands[reg_beacon->chan.band]; in handle_reg_beacon()
2199 chan = &sband->channels[chan_idx]; in handle_reg_beacon()
2201 if (likely(!ieee80211_channel_equal(chan, ®_beacon->chan))) in handle_reg_beacon()
2204 if (chan->beacon_found) in handle_reg_beacon()
2207 chan->beacon_found = true; in handle_reg_beacon()
2215 chan_before = *chan; in handle_reg_beacon()
2217 if (chan->flags & IEEE80211_CHAN_NO_IR) { in handle_reg_beacon()
2218 chan->flags &= ~IEEE80211_CHAN_NO_IR; in handle_reg_beacon()
2223 nl80211_send_beacon_hint_event(wiphy, &chan_before, chan); in handle_reg_beacon()
2239 if (!wiphy->bands[reg_beacon->chan.band]) in wiphy_update_new_beacon()
2242 sband = wiphy->bands[reg_beacon->chan.band]; in wiphy_update_new_beacon()
2258 if (!wiphy->bands[reg_beacon->chan.band]) in wiphy_update_beacon_reg()
2260 sband = wiphy->bands[reg_beacon->chan.band]; in wiphy_update_beacon_reg()
2278 static bool is_ht40_allowed(struct ieee80211_channel *chan) in is_ht40_allowed() argument
2280 if (!chan) in is_ht40_allowed()
2282 if (chan->flags & IEEE80211_CHAN_DISABLED) in is_ht40_allowed()
2285 if ((chan->flags & IEEE80211_CHAN_NO_HT40) == IEEE80211_CHAN_NO_HT40) in is_ht40_allowed()
2384 struct ieee80211_channel *chan; in reg_wdev_chan_valid() local
2413 chan = wdev->links[link].client.current_bss->pub.channel; in reg_wdev_chan_valid()
2414 if (!chan) in reg_wdev_chan_valid()
2419 cfg80211_chandef_create(&chandef, chan, in reg_wdev_chan_valid()
2428 if (!wdev->u.ocb.chandef.chan) in reg_wdev_chan_valid()
2548 struct ieee80211_channel *chan, in handle_channel_custom() argument
2557 center_freq_khz = ieee80211_channel_to_khz(chan); in handle_channel_custom()
2566 chan->center_freq, chan->freq_offset); in handle_channel_custom()
2568 chan->flags |= IEEE80211_CHAN_DISABLED; in handle_channel_custom()
2570 chan->orig_flags |= IEEE80211_CHAN_DISABLED; in handle_channel_custom()
2571 chan->flags = chan->orig_flags; in handle_channel_custom()
2577 bw_flags = reg_rule_to_chan_bw_flags(regd, reg_rule, chan); in handle_channel_custom()
2579 chan->dfs_state_entered = jiffies; in handle_channel_custom()
2580 chan->dfs_state = NL80211_DFS_USABLE; in handle_channel_custom()
2582 chan->beacon_found = false; in handle_channel_custom()
2585 chan->flags = chan->orig_flags | bw_flags | in handle_channel_custom()
2588 chan->flags |= map_regdom_flags(reg_rule->flags) | bw_flags; in handle_channel_custom()
2590 chan->max_antenna_gain = (int) MBI_TO_DBI(power_rule->max_antenna_gain); in handle_channel_custom()
2591 chan->max_reg_power = chan->max_power = in handle_channel_custom()
2594 if (chan->flags & IEEE80211_CHAN_RADAR) { in handle_channel_custom()
2596 chan->dfs_cac_ms = reg_rule->dfs_cac_ms; in handle_channel_custom()
2598 chan->dfs_cac_ms = IEEE80211_DFS_MIN_CAC_TIME_MS; in handle_channel_custom()
2601 if (chan->flags & IEEE80211_CHAN_PSD) in handle_channel_custom()
2602 chan->psd = reg_rule->psd; in handle_channel_custom()
2604 chan->max_power = chan->max_reg_power; in handle_channel_custom()
3462 struct ieee80211_channel *chan; in restore_custom_reg_settings() local
3470 chan = &sband->channels[i]; in restore_custom_reg_settings()
3471 chan->flags = chan->orig_flags; in restore_custom_reg_settings()
3472 chan->max_antenna_gain = chan->orig_mag; in restore_custom_reg_settings()
3473 chan->max_power = chan->orig_mpwr; in restore_custom_reg_settings()
3474 chan->beacon_found = false; in restore_custom_reg_settings()
3663 &pending_beacon->chan)) in pending_reg_beacon()
3698 memcpy(®_beacon->chan, beacon_chan, in regulatory_hint_found_beacon()
4280 chandef->chan->center_freq)) in regulatory_propagate_dfs_state()