Lines Matching full:band

55  * [<band>'g']<channel>['/'<bandwidth>[<primary-sideband>]
58 * <band>:
68 * 'u' or 'l' (only for 2.4GHz band 40MHz)
70 * For 2.4GHz band 40MHz channels, the same primary channel may be the
75 * For 40MHz in the 5GHz or 6GHz band and all channel bandwidths greater than
85 * In its simplest form, it is a 20MHz channel number, with the implied band
139 /* 40MHz channels in 2.4GHz band */
145 /* 40MHz channels in 5GHz band */
151 /* 80MHz channels in 5GHz band */
157 /* 160MHz channels in 5GHz band */
163 /** 80MHz channels in 6GHz band */
166 /** 160MHz channels in 6GHz band */
169 /** 240MHz channels in 6GHz band */
172 /** 320MHz channels in 6GHz band */
213 * the channel at the edge of the band
242 /* return channel number of the low edge of the band
251 /* return side band number given center channel and primary20 channel
284 /* return primary20 channel given center channel and side band */
501 const char *band; in wf_chspec_ntoa() local
507 band = ""; in wf_chspec_ntoa()
509 /* check for non-default band spec */ in wf_chspec_ntoa()
511 band = "2g"; in wf_chspec_ntoa()
513 band = "5g"; in wf_chspec_ntoa()
515 band = "6g"; in wf_chspec_ntoa()
523 snprintf(buf, CHANSPEC_STR_LEN, "%s%d", band, pri_chan); in wf_chspec_ntoa()
530 snprintf(buf, CHANSPEC_STR_LEN, "%s%d/%s", band, pri_chan, bw); in wf_chspec_ntoa()
537 snprintf(buf, CHANSPEC_STR_LEN, "%s%d/%s", band, pri_chan, bw); in wf_chspec_ntoa()
550 snprintf(buf, CHANSPEC_STR_LEN, "%s%d/%s%s", band, pri_chan, bw, sb); in wf_chspec_ntoa()
555 snprintf(buf, CHANSPEC_STR_LEN, "%s%d%s", band, pri_chan, sb); in wf_chspec_ntoa()
557 snprintf(buf, CHANSPEC_STR_LEN, "%s%d/%s", band, pri_chan, bw); in wf_chspec_ntoa()
605 /* parse channel num or band */ in wf_chspec_aton()
608 /* if we are looking at a 'g', then the first number was a band */ in wf_chspec_aton()
613 /* band must be "2", "5", or "6" */ in wf_chspec_aton()
629 /* first number is channel, use default for band */ in wf_chspec_aton()
675 /* So far we have <band>g<chan>/<bw> in wf_chspec_aton()
723 /* if the bw is 20, only need the primary channel and band */ in wf_chspec_aton()
730 * sub-band spec was given. in wf_chspec_aton()
743 * chanspec specified a band, bw, pri_sb and channel and that the
779 /* bad 240MHz channel ID for the band */ in BCMPOSTTRAPFN()
793 /* bad 320MHz channel ID for the band */ in BCMPOSTTRAPFN()
811 /* must be a valid band */ in BCMPOSTTRAPFN()
823 /* side band needs to be consistent with bandwidth */ in BCMPOSTTRAPFN()
832 * 80+80 SB info is relative to the primary 80MHz sub-band. in BCMPOSTTRAPFN()
884 * a valid band field, in wf_chspec_valid()
885 * a valid bandwidth for the band, in wf_chspec_valid()
886 * and a valid sub-band value for the bandwidth. in wf_chspec_valid()
888 * Since all sub-band specs are valid for any channel, the only thing remaining to in wf_chspec_valid()
893 * are valid for the specified band. in wf_chspec_valid()
926 /* 5G band 20MHz channel ranges with even (+4) channel spacing */
944 wf_chanspec_iter_init(wf_chanspec_iter_t *iter, chanspec_band_t band, chanspec_bw_t bw) in wf_chanspec_iter_init() argument
959 if (band != WL_CHANSPEC_BAND_2G && in wf_chanspec_iter_init()
960 band != WL_CHANSPEC_BAND_5G && in wf_chanspec_iter_init()
961 band != WL_CHANSPEC_BAND_6G) { in wf_chanspec_iter_init()
972 (band != WL_CHANSPEC_BAND_2G && in wf_chanspec_iter_init()
987 iter->band = band; in wf_chanspec_iter_init()
1001 chanspec_band_t band = iter->band; in wf_chanspec_iter_firstchan() local
1010 /* calc the initial channel based on band */ in wf_chanspec_iter_firstchan()
1011 if (band == WL_CHANSPEC_BAND_2G) { in wf_chanspec_iter_firstchan()
1016 chspec = wf_create_20MHz_chspec(CH_MIN_2G_CHANNEL, band); in wf_chanspec_iter_firstchan()
1022 if (band == WL_CHANSPEC_BAND_5G) { in wf_chanspec_iter_firstchan()
1027 chspec = wf_create_chspec_from_primary(iter->range.start, bw, band); in wf_chanspec_iter_firstchan()
1049 chanspec_band_t band = iter->band; in wf_chanspec_iter_next() local
1052 * and will dispatch to the 'next' function for the appropriate band. in wf_chanspec_iter_next()
1060 } else if (band == WL_CHANSPEC_BAND_2G) { in wf_chanspec_iter_next()
1062 } else if (band == WL_CHANSPEC_BAND_5G) { in wf_chanspec_iter_next()
1064 } else if (band == WL_CHANSPEC_BAND_6G) { in wf_chanspec_iter_next()
1113 * This is the _iter_next() helper for 2g band chanspec iteration.
1158 * This is the _iter_next() helper for 5g band chanspec iteration.
1277 * This is the _iter_next() helper for 6g band chanspec iteration.
1335 * primary channels for the 6g band and for the BW being iterated.
1362 * @param band chanspec band
1367 wf_valid_20MHz_chan(uint channel, chanspec_band_t band) in wf_valid_20MHz_chan() argument
1369 if (band == WL_CHANSPEC_BAND_2G) { in wf_valid_20MHz_chan()
1373 } else if (band == WL_CHANSPEC_BAND_5G) { in wf_valid_20MHz_chan()
1390 /* check for channel 165 which is not the side band in wf_valid_20MHz_chan()
1410 else if (band == WL_CHANSPEC_BAND_6G) { in wf_valid_20MHz_chan()
1427 * @param band chanspec band
1432 wf_valid_40MHz_center_chan(uint center_channel, chanspec_band_t band) in wf_valid_40MHz_center_chan() argument
1434 if (band == WL_CHANSPEC_BAND_2G) { in wf_valid_40MHz_center_chan()
1438 } else if (band == WL_CHANSPEC_BAND_5G) { in wf_valid_40MHz_center_chan()
1448 else if (band == WL_CHANSPEC_BAND_6G) { in wf_valid_40MHz_center_chan()
1464 * @param band chanspec band
1469 wf_valid_80MHz_center_chan(uint center_channel, chanspec_band_t band) in wf_valid_80MHz_center_chan() argument
1471 if (band == WL_CHANSPEC_BAND_5G) { in wf_valid_80MHz_center_chan()
1476 } else if (band == WL_CHANSPEC_BAND_6G) { in wf_valid_80MHz_center_chan()
1490 * @param band chanspec band
1495 wf_valid_160MHz_center_chan(uint center_channel, chanspec_band_t band) in wf_valid_160MHz_center_chan() argument
1497 if (band == WL_CHANSPEC_BAND_5G) { in wf_valid_160MHz_center_chan()
1506 } else if (band == WL_CHANSPEC_BAND_6G) { in wf_valid_160MHz_center_chan()
1522 * @param band chanspec band
1527 wf_valid_240MHz_center_chan(uint center_channel, chanspec_band_t band) in wf_valid_240MHz_center_chan() argument
1529 if (band == WL_CHANSPEC_BAND_6G) { in wf_valid_240MHz_center_chan()
1545 * @param band chanspec band
1550 wf_valid_320MHz_center_chan(uint center_channel, chanspec_band_t band) in wf_valid_320MHz_center_chan() argument
1552 if (band == WL_CHANSPEC_BAND_6G) { in wf_valid_320MHz_center_chan()
1566 * Addition to primary20 channel, the function checks for side band for 2g 40 channels
1584 * Create a 20MHz chanspec for the given band.
1586 * This function returns a 20MHz chanspec in the given band.
1589 * @param band a chanspec band (e.g. WL_CHANSPEC_BAND_2G)
1594 wf_create_20MHz_chspec(uint channel, chanspec_band_t band) in wf_create_20MHz_chspec() argument
1599 (band == WL_CHANSPEC_BAND_2G || in wf_create_20MHz_chspec()
1600 band == WL_CHANSPEC_BAND_5G || in wf_create_20MHz_chspec()
1601 band == WL_CHANSPEC_BAND_6G)) { in wf_create_20MHz_chspec()
1602 chspec = band | WL_CHANSPEC_BW_20 | WL_CHANSPEC_CTL_SB_NONE | channel; in wf_create_20MHz_chspec()
1615 * the center channel number, and the band.
1619 * @param band band of the 40MHz channel (chanspec_band_t value)
1622 * in the given band.
1628 chanspec_band_t band) in wf_create_40MHz_chspec() argument
1638 * valid for the given band. in wf_create_40MHz_chspec()
1640 if (sb < 0 || !wf_valid_40MHz_center_chan(center_channel, band)) { in wf_create_40MHz_chspec()
1645 return (chanspec_t)(center_channel | WL_CHANSPEC_BW_40 | band | in wf_create_40MHz_chspec()
1651 * the sub-band for the primary 20MHz channel, and the band.
1654 * @param primary_subband sub-band of the 20MHz primary channel (chanspec_subband_t value)
1655 * @param band band of the 40MHz channel (chanspec_band_t value)
1657 * The primary channel and sub-band should describe one of the 802.11 spec valid
1658 * 40MHz channels in the given band.
1664 chanspec_band_t band) in wf_create_40MHz_chspec_primary_sb() argument
1677 return wf_create_40MHz_chspec(primary_channel, center_channel, band); in wf_create_40MHz_chspec_primary_sb()
1682 * the center channel number, and the band.
1686 * @param band band of the 80MHz channel (chanspec_band_t value)
1695 chanspec_band_t band) in wf_create_80MHz_chspec() argument
1705 * valid for the given band. in wf_create_80MHz_chspec()
1707 if (sb < 0 || !wf_valid_80MHz_center_chan(center_channel, band)) { in wf_create_80MHz_chspec()
1712 return (chanspec_t)(center_channel | WL_CHANSPEC_BW_80 | band | in wf_create_80MHz_chspec()
1718 * the center channel number, and the band.
1722 * @param band band of the 160MHz channel (chanspec_band_t value)
1730 wf_create_160MHz_chspec(uint primary_channel, uint center_channel, chanspec_band_t band) in wf_create_160MHz_chspec() argument
1740 * valid for the given band. in wf_create_160MHz_chspec()
1742 if (sb < 0 || !wf_valid_160MHz_center_chan(center_channel, band)) { in wf_create_160MHz_chspec()
1747 return (chanspec_t)(center_channel | WL_CHANSPEC_BW_160 | band | in wf_create_160MHz_chspec()
1753 * the center channel numbers for each frequency segment, and the band.
1758 * @param band band of the 80+80 MHz channel (chanspec_band_t value)
1760 * Parameters chan0 and chan1 are valid 80 MHz center channel numbers for the given band.
1770 chanspec_band_t band) in wf_create_8080MHz_chspec() argument
1784 if (band == WL_CHANSPEC_BAND_5G) { in wf_create_8080MHz_chspec()
1787 } else if (band == WL_CHANSPEC_BAND_6G) { in wf_create_8080MHz_chspec()
1819 band); in wf_create_8080MHz_chspec()
1826 * the center channel numbers for each frequency segment, and the band.
1831 * @param band band of the 160+160 MHz channel (chanspec_band_t value)
1833 * Parameters chan0 and chan1 are valid 160 MHz center channel numbers for the given band.
1843 chanspec_band_t band) in wf_create_160160MHz_chspec() argument
1857 if (band == WL_CHANSPEC_BAND_5G) { in wf_create_160160MHz_chspec()
1860 } else if (band == WL_CHANSPEC_BAND_6G) { in wf_create_160160MHz_chspec()
1892 band); in wf_create_160160MHz_chspec()
1899 * the center channel number, and the band.
1903 * @param band band of the 240 MHz channel (chanspec_band_t value)
1910 wf_create_240MHz_chspec(uint primary_channel, uint center_channel, chanspec_band_t band) in wf_create_240MHz_chspec() argument
1916 if (band == WL_CHANSPEC_BAND_6G) { in wf_create_240MHz_chspec()
1931 * valid for the given band. in wf_create_240MHz_chspec()
1933 if (sb < 0 || !wf_valid_240MHz_center_chan(center_channel, band)) { in wf_create_240MHz_chspec()
1940 band); in wf_create_240MHz_chspec()
1947 * the center channel number, and the band.
1951 * @param band band of the 320 MHz channel (chanspec_band_t value)
1953 * Parameters chan is valid 320 MHz center channel numbers for the given band.
1961 wf_create_320MHz_chspec(uint primary_channel, uint center_channel, chanspec_band_t band) in wf_create_320MHz_chspec() argument
1967 if (band == WL_CHANSPEC_BAND_6G) { in wf_create_320MHz_chspec()
1982 * valid for the given band. in wf_create_320MHz_chspec()
1984 if (sb < 0 || !wf_valid_320MHz_center_chan(center_channel, band)) { in wf_create_320MHz_chspec()
1991 band); in wf_create_320MHz_chspec()
1998 * the center channel number, channel width, and the band. The channel width
2006 * @param band chanspec band of channel (chanspec_band_t)
2009 * for the given bandwidth in the given band.
2015 chanspec_bw_t bw, chanspec_band_t band) in wf_create_chspec() argument
2032 /* calculate the sub-band index */ in wf_create_chspec()
2036 /* if we have a good sub-band, assemble the chanspec, and use wf_chspec_valid() in wf_create_chspec()
2041 if (band == WL_CHANSPEC_BAND_6G) { in wf_create_chspec()
2048 if (band == WL_CHANSPEC_BAND_6G) { in wf_create_chspec()
2057 chspec = center_channel | band | bw | in wf_create_chspec()
2069 * channel width, and the band.
2073 * @param band chanspec band of channel (chanspec_band_t)
2079 * the 2G band.
2081 * This function supports creating 20MHz bandwidth chanspecs on any band.
2083 * For the 2GHz band, 40MHz channels overlap, so two 40MHz channels may
2085 * whenever called with a bandwidth of 40MHz or wider for the 2GHz band.
2088 * 20MHz primary channel uniquely specifies a wider channel in a given band.
2094 wf_create_chspec_from_primary(uint primary_channel, chanspec_bw_t bw, chanspec_band_t band) in wf_create_chspec_from_primary() argument
2099 chspec = wf_create_20MHz_chspec(primary_channel, band); in wf_create_chspec_from_primary()
2100 } else if (band == WL_CHANSPEC_BAND_2G || band == WL_CHANSPEC_BAND_5G) { in wf_create_chspec_from_primary()
2107 if (band == WL_CHANSPEC_BAND_2G && bw == WL_CHANSPEC_BW_40) { in wf_create_chspec_from_primary()
2125 chspec = wf_create_chspec(primary_channel, center_ch[i], bw, band); in wf_create_chspec_from_primary()
2131 else if (band == WL_CHANSPEC_BAND_6G) { in wf_create_chspec_from_primary()
2163 chspec = wf_create_chspec(primary_channel, center, bw, band); in wf_create_chspec_from_primary()
2330 * The primary 40MHz channel is the 40MHz sub-band that contains the primary 20MHz channel.
2393 * 2G band 2.4 - 2.5 2.407
2394 * 5G band 5.0 - 5.940 5.000
2395 * 6G band 5.940 - 7.205 5.940
2400 * The returned channel will be in the range [1, 14] in the 2.4 GHz band,
2401 * [1, 253] for 6 GHz band, or [1, 200] otherwise.
2480 * The valid channel range is [1, 14] in the 2.4 GHz band, [1,253] in the 6 GHz
2481 * band, and [1, 200] otherwise.
2624 * Returns the center channel of the primary 80 MHz sub-band of the provided chanspec
2644 * Returns the center channel of the secondary 80 MHz sub-band of the provided chanspec
2664 * Returns the chanspec for the primary 80MHz sub-band of an 160MHz or 80+80 channel
2702 * Returns the chanspec for the secondary 80MHz sub-band of an 160MHz or 80+80 channel
2764 * Returns the center channel of the primary 160MHz sub-band of the provided chanspec
2784 * Returns the chanspec for the primary 160MHz sub-band of an 240/320MHz or 160+160 channel
2942 wf_create_chspec_sb(uint sb, uint center_channel, chanspec_bw_t bw, chanspec_band_t band) in wf_create_chspec_sb() argument
2948 chspec = center_channel | band | bw | ((uint)sb << WL_CHANSPEC_CTL_SB_SHIFT); in wf_create_chspec_sb()
2953 wf_create_160160MHz_chspec_sb(uint sb, uint chan0, uint chan1, chanspec_band_t band) in wf_create_160160MHz_chspec_sb() argument
2971 if (band == WL_CHANSPEC_BAND_5G) { in wf_create_160160MHz_chspec_sb()
2974 } else if (band == WL_CHANSPEC_BAND_6G) { in wf_create_160160MHz_chspec_sb()
2998 sb | WL_CHANSPEC_BW_160160 | band); in wf_create_160160MHz_chspec_sb()