Lines Matching +full:20 +full:a

10  *      Unless you and Broadcom execute a separate written software license
16 * As a special exception, the copyright holders of this software give you
20 * the license of that module. An independent module is a module which is not
25 * software in any way with any other Broadcom software provided under a license
31 * $Id: bcmwifi_channels.c 695288 2017-04-19 17:20:39Z $
41 #define tolower(c) (bcm_isupper((c)) ? ((c) + 'a' - 'A') : (c))
68 * channel number of the 5MHz, 10MHz, 20MHz channel,
71 * (optional) 5, 10, 20, 40, 80, 160, or 80+80. Default value is 20.
90 * In its simplest form, it is a 20MHz channel number, with the implied band
103 * 5g8 20MHz 8 - -
104 * 52 20MHz 52 - -
117 * 2g8 20MHz 8 - -
118 * 8 20MHz 8 - -
119 * 6 20MHz 6 - -
131 "20",
140 {5, 10, 20, 40, 80, 160, 160};
227 return (uint8)(((bw - 20) / 2) / 5); in center_chan_to_edge()
255 /* sb must be a index to a 20MHz channel in range */ in channel_to_sb()
256 if (sb >= (bw / 20)) { in channel_to_sb()
298 /* given a chanspec and a string buffer, format the chanspec as a
299 * string, and return the original pointer a.
357 /* Outputs a max of CHANSPEC_STR_LEN chars including '\0' */ in wf_chspec_ntoa()
371 /* if endp is the initial pointer value, then a number was not read */ in read_uint()
383 /* given a chanspec string, convert to a chanspec.
388 wf_chspec_aton_ex(const char *a, const uint default_bw) in wf_chspec_aton_ex() argument
397 bw = 20; in wf_chspec_aton_ex()
402 if (!read_uint(&a, &num)) in wf_chspec_aton_ex()
404 /* if we are looking at a 'g', then the first number was a band */ in wf_chspec_aton_ex()
405 c = tolower(a[0]); in wf_chspec_aton_ex()
407 a++; /* consume the char */ in wf_chspec_aton_ex()
418 if (!read_uint(&a, &pri_ch)) in wf_chspec_aton_ex()
421 c = tolower(a[0]); in wf_chspec_aton_ex()
437 a ++; /* consume the 'u','l', or '/' */ in wf_chspec_aton_ex()
451 if (!read_uint(&a, &bw)) in wf_chspec_aton_ex()
459 } else if (bw == 20) { in wf_chspec_aton_ex()
476 c = (char)tolower((int)a[0]); in wf_chspec_aton_ex()
478 /* if we have a 2g/40 channel, we should have a l/u spec now */ in wf_chspec_aton_ex()
481 a ++; /* consume the u/l char */ in wf_chspec_aton_ex()
497 a ++; /* consume the char '+' */ in wf_chspec_aton_ex()
501 if (*a++ != plus80[i]) { in wf_chspec_aton_ex()
507 if (!read_uint(&a, &ch1)) in wf_chspec_aton_ex()
511 if (a[0] != '-') in wf_chspec_aton_ex()
513 a ++; /* consume the char */ in wf_chspec_aton_ex()
516 if (!read_uint(&a, &ch2)) in wf_chspec_aton_ex()
522 while (a[0] == ' ') { in wf_chspec_aton_ex()
523 a ++; in wf_chspec_aton_ex()
527 if (a[0] != '\0') in wf_chspec_aton_ex()
534 * a center channel (or two) and sideband. in wf_chspec_aton_ex()
537 /* if a sb u/l string was given, just use that, in wf_chspec_aton_ex()
549 /* if the bw is 20, center and sideband are trivial */ in wf_chspec_aton_ex()
554 /* if the bw is 40/80/160, not 80+80, a single method in wf_chspec_aton_ex()
607 /* figure out primary 20 MHz sideband */ in wf_chspec_aton_ex()
627 /* given a chanspec string, convert to a chanspec.
631 wf_chspec_aton(const char *a) in wf_chspec_aton() argument
633 return wf_chspec_aton_ex(a, WL_CHANSPEC_BW_20); in wf_chspec_aton()
637 * Verify the chanspec is using a legal set of parameters, i.e. that the
638 * chanspec specified a band, bw, pri_sb and channel and that the
701 * Verify the chanspec specifies a valid channel according to 802.11.
702 * RETURNS: TRUE if the chanspec is a valid 802.11 channel
751 /* check for a valid center channel */ in wf_chspec_valid()
753 /* We don't have an array of legal 20MHz 5G channels, but they are in wf_chspec_valid()
813 * Create a 20MHz chanspec for the given band.
815 * This function returns a 20MHz chanspec in the given band.
817 * @param channel 20MHz channel number
818 * @param band a chanspec band (e.g. WL_CHANSPEC_BAND_2G)
820 * @return Returns a 20MHz chanspec, or IVNCHANSPEC in case of error.
842 * Return the primary 20MHz channel.
844 * This function returns the channel number of the primary 20MHz channel. For
845 * 20MHz channels this is just the channel number. For 40MHz or wider channels
846 * it is the primary 20MHz channel specified by the chanspec.
850 * @return Returns the channel number of the primary 20MHz channel
861 /* Is there a sideband ? */ in wf_chspec_primary20_chan()
887 /* given a chanspec, return the bandwidth string */
895 * Return the primary 20MHz chanspec of the given chanspec
905 /* Is there a sideband ? */ in wf_chspec_primary20_chspec()
914 /* return chanspec given primary 20MHz channel and bandwidth
968 * The primary 20MHz channel of the returned 40MHz chanspec is the same as the primary 20MHz
1009 * Return the channel number for a given frequency and base frequency.
1011 * If the given base frequency is zero, a base frequency of 5 GHz is assumed for
1022 * frequency is not a 2.4 GHz channel, or if the frequency is not and even
1054 /* check that frequency is a 5MHz multiple from the base */ in wf_mhz2channel()
1073 * The channel range of [1, 14] is only checked for a start_factor of
1108 * primary_channel - primary 20Mhz channel
1131 * find a 80MHz chanspec with the given center_channel that had a primary channel in wf_chspec_80()
1140 * primary_20mhz - Primary 20 MHz channel
1343 * For 20/40/80MHz chanspec, set ch[0] to be the center freq, and chan[1]=-1
1359 /* for 20, 40, and 80 Mhz */ in wf_chspec_get_80p80_channels()
1380 /* This routine returns the chanspec for a given operating class and
1431 /* This routine returns the opclass for a given chanspec */
1440 /* Populates array with all 20MHz side bands of a given chanspec_t in the following order:
1445 * Works with 20, 40, 80, 80p80 and 160MHz chspec
1457 if (CHSPEC_IS20(chspec)) return; /* nothing more to do since 20MHz chspec */ in wf_get_all_ext()
1458 /* 20MHz EXT */ in wf_get_all_ext()
1464 GET_ALL_SB(t, &((pext)[2])); /* get the 20MHz side bands in 40MHz EXT */ in wf_get_all_ext()
1467 /* get the 20MHz side bands in 80MHz EXT (secondary) */ in wf_get_all_ext()
1474 * (Overlap: At least one 20MHz subband is common between the two chanspecs provided)