Lines Matching +full:- +full:39000
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
4 * Copyright (c) 2007-2008 Sam Leffler, Errno Consulting
30 * IEEE 802.11 PHY-related support.
208 [16] = { .phy = HT, 39000, 0x00, N(4), 8 },
215 [22] = { .phy = HT, 39000, 0x00, N(10), 6 },
223 [29] = { .phy = HT, 39000, 0x00, N(17), 6 },
252 [12] = { .phy = HT, 39000, 0x00, N(4), 4 },
259 [18] = { .phy = HT, 39000, 0x00, N(10), 2 },
267 [25] = { .phy = HT, 39000, 0x00, N(17), 2 },
306 for (i = 0; i < nitems(rt->rateCodeToIndex); i++) in ieee80211_setup_ratetable()
307 rt->rateCodeToIndex[i] = (uint8_t) -1; in ieee80211_setup_ratetable()
308 for (i = 0; i < rt->rateCount; i++) { in ieee80211_setup_ratetable()
309 uint8_t code = rt->info[i].dot11Rate; in ieee80211_setup_ratetable()
310 uint8_t cix = rt->info[i].ctlRateIndex; in ieee80211_setup_ratetable()
311 uint8_t ctl_rate = rt->info[cix].dot11Rate; in ieee80211_setup_ratetable()
322 if (rt->info[i].phy == IEEE80211_T_HT) { in ieee80211_setup_ratetable()
326 /* XXX assume the control rate is non-MCS? */ in ieee80211_setup_ratetable()
328 rt->rateCodeToIndex[code] = i; in ieee80211_setup_ratetable()
333 * the static tables are setup with an 11b-compatible in ieee80211_setup_ratetable()
340 rt->info[i].lpAckDuration = ieee80211_compute_duration(rt, in ieee80211_setup_ratetable()
342 rt->info[i].spAckDuration = ieee80211_compute_duration(rt, in ieee80211_setup_ratetable()
401 __func__, c->ic_freq, c->ic_flags); in ieee80211_get_ratetable()
452 /* OFDM rates (cf IEEE Std 802.11a-1999, pp. 14 Table 80) */ in ieee80211_rate2plcp()
461 /* CCK rates (IEEE Std 802.11b-1999 page 15, subclause 18.2.3.3) */ in ieee80211_rate2plcp()
466 /* IEEE Std 802.11g-2003 page 19, subclause 19.3.2.1 */ in ieee80211_rate2plcp()
505 uint8_t rix = rt->rateCodeToIndex[rate]; in ieee80211_compute_duration()
509 KASSERT(rix != (uint8_t)-1, ("rate %d has no info", rate)); in ieee80211_compute_duration()
510 kbps = rt->info[rix].rateKbps; in ieee80211_compute_duration()
514 switch (rt->info[rix].phy) { in ieee80211_compute_duration()
517 if (isShortPreamble && rt->info[rix].shortPreamble) in ieee80211_compute_duration()
554 /* we still save OFDM rates in kbps - so double them */ in ieee80211_compute_duration()
565 rt->info[rix].phy, rate); in ieee80211_compute_duration()
630 * This is based on 802.11-2020 21.5 (Parameters for VHT-MCSs.)
659 * See 802.11-2020 21.5 (Parameters for VHT-MCSs) for more details.
673 return (ieee80211_vht_mcs_allowed_list_20[nss - 1]); in ieee80211_phy_vht_get_mcs_mask()
675 return (ieee80211_vht_mcs_allowed_list_40[nss - 1]); in ieee80211_phy_vht_get_mcs_mask()
677 return (ieee80211_vht_mcs_allowed_list_80[nss - 1]); in ieee80211_phy_vht_get_mcs_mask()
679 return (ieee80211_vht_mcs_allowed_list_160[nss - 1]); in ieee80211_phy_vht_get_mcs_mask()
690 * See 802.11-2020 21.5 (Parameters for VHT-MCSs) for more details.
718 * These parameters are taken from 802.11-2020 Table 21-29
719 * (VHT-MCSs for Mandatory 20 MHZ, Nss=1).
743 * @param is_shortgi True if short guard-interval (400nS)
761 * Short-GI - 3.6uS symbol time, long-GI - 4.0uS symbol time in ieee80211_phy_vht_get_mcs_kbit()
763 * See 802.11-2020 Table 21-5 (Timing-related constraints.) in ieee80211_phy_vht_get_mcs_kbit()
773 * See 802.11-2020 Table 21-5 (Timing-related constraints.) in ieee80211_phy_vht_get_mcs_kbit()