Lines Matching full:mhz
59 /* Definitions for D11AC capable (80MHz+) Chanspec type */
68 * channel number of the 5MHz, 10MHz, 20MHz channel,
69 * or primary channel of 40MHz, 80MHz, 160MHz, or 80+80MHz channel.
73 * (only for 2.4GHz band 40MHz) U for upper sideband primary, L for lower.
75 * For 2.4GHz band 40MHz channels, the same primary channel may be the
76 * upper sideband for one 40MHz channel, and the lower sideband for an
77 * overlapping 40MHz channel. The U/L disambiguates which 40MHz channel
80 * For 40MHz in the 5GHz band and all channel bandwidths greater than
81 * 40MHz, the U/L specificaion is not allowed since the channels are
88 * Specifies the center channel of the primary and secondary 80MHz band.
90 * In its simplest form, it is a 20MHz channel number, with the implied band
94 * 40MHz channels is also allowed: <channel><primary-sideband>
97 * primary channel of 40MHz, channel <= 14 is 2GHz, otherwise 5GHz
103 * 5g8 20MHz 8 - -
104 * 52 20MHz 52 - -
105 * 52/40 40MHz 54 52-56 52
106 * 56/40 40MHz 54 52-56 56
107 * 52/80 80MHz 58 52-64 52
108 * 56/80 80MHz 58 52-64 56
109 * 60/80 80MHz 58 52-64 60
110 * 64/80 80MHz 58 52-64 64
111 * 52/160 160MHz 50 36-64 52
113 * 36/80+80/42-106 80+80MHz 42,106 36-48,100-112 36
117 * 2g8 20MHz 8 - -
118 * 8 20MHz 8 - -
119 * 6 20MHz 6 - -
120 * 6/40l 40MHz 8 6-10 6
121 * 6l 40MHz 8 6-10 6
122 * 6/40u 40MHz 4 2-6 6
123 * 6u 40MHz 4 2-6 6
145 /* 40MHz channels in 5GHz band */
151 /* 80MHz channels in 5GHz band */
157 /* 160MHz channels in 5GHz band */
201 * Return the chanspec bandwidth in MHz
202 * Bandwidth of 160 MHz will be returned for 80+80MHz chanspecs.
206 * @return bandwidth of chspec in MHz units
217 /* bw in MHz, return the channel count from the center channel to the
223 /* edge channels separated by BW - 10MHz on each side in center_chan_to_edge()
225 * MHz to channel num conversion is 5MHz/channel in center_chan_to_edge()
255 /* sb must be a index to a 20MHz channel in range */ in channel_to_sb()
271 /* return index of 80MHz channel from channel number
332 /* primary20 sideband string if needed for 2g 40MHz */ in wf_chspec_ntoa()
339 /* primary20 sideband string instead of BW for 40MHz */ in wf_chspec_ntoa()
506 /* read primary 80MHz channel */ in wf_chspec_aton_ex()
515 /* read secondary 80MHz channel */ in wf_chspec_aton_ex()
607 /* figure out primary 20 MHz sideband */ in wf_chspec_aton_ex()
609 /* is the primary channel contained in the 1st 80MHz channel? */ in wf_chspec_aton_ex()
612 /* no match for primary channel 'pri_ch' in segment0 80MHz channel */ in wf_chspec_aton_ex()
688 /* both 80MHz and 80+80MHz use 80MHz side bands. in wf_chspec_malformed()
689 * 80+80 SB info is relative to the primary 80MHz sub-band. in wf_chspec_malformed()
729 /* the two channels must be separated by more than 80MHz by VHT req */ in wf_chspec_valid()
753 /* We don't have an array of legal 20MHz 5G channels, but they are in wf_chspec_valid()
754 * each side of the legal 40MHz channels. Check the chanspec in wf_chspec_valid()
755 * channel against either side of the 40MHz channels. in wf_chspec_valid()
765 * of 40MHz 5G channel 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
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
868 /* For an 80+80 MHz channel, the sideband 'sb' field is an 80 MHz sideband in wf_chspec_primary20_chan()
869 * (LL, LU, UL, LU) for the 80 MHz frequency segment 0. in wf_chspec_primary20_chan()
895 * Return the primary 20MHz chanspec of the given chanspec
914 /* return chanspec given primary 20MHz channel and bandwidth
967 * This function returns the chanspec for the primary 40MHz of an 80MHz or wider channel.
968 * The primary 20MHz channel of the returned 40MHz chanspec is the same as the primary 20MHz
979 /* if the chanspec is > 80MHz, use the helper routine to find the primary 80 MHz channel */ in wf_chspec_primary40_chspec()
984 /* determine primary 40 MHz sub-channel of an 80 MHz chanspec */ in wf_chspec_primary40_chspec()
990 /* Primary 40MHz is on lower side */ in wf_chspec_primary40_chspec()
994 /* Primary 40MHz is on upper side */ in wf_chspec_primary40_chspec()
1000 /* Create primary 40MHz chanspec */ in wf_chspec_primary40_chspec()
1014 * Frequency is specified in MHz.
1023 * multiple of 5 MHz from the base frequency to the base plus 1 GHz.
1054 /* check that frequency is a 5MHz multiple from the base */ in wf_mhz2channel()
1066 * Return the center frequency in MHz of the given channel and base frequency.
1075 * Odd start_factors produce channels on .5 MHz boundaries, in which case
1076 * the answer is rounded down to an integral MHz.
1105 * Returns the chanspec 80Mhz channel corresponding to the following input
1108 * primary_channel - primary 20Mhz channel
1109 * center_channel - center frequecny of the 80Mhz 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
1145 * The primary channel must be contained in one of the 80MHz channels. This routine
1146 * will determine which frequency segment is the primary 80 MHz segment.
1167 /* does the primary channel fit with the 1st 80MHz channel ? */ in wf_chspec_get8080_chspec()
1174 /* no, so does the primary channel fit with the 2nd 80MHz channel ? */ in wf_chspec_get8080_chspec()
1177 /* no match for pri_ch to either 80MHz center channel */ in wf_chspec_get8080_chspec()
1195 * This function returns the 80Mhz channel for the given id.
1207 * Returns the center channel of the primary 80 MHz sub-band of the provided chanspec
1227 * Returns the center channel of the secondary 80 MHz sub-band of the provided chanspec
1247 * Returns the chanspec for the primary 80MHz sub-band of an 160MHz or 80+80 channel
1267 /* Create primary 80MHz chanspec */ in wf_chspec_primary80_chspec()
1275 /* Primary 80MHz is on lower side */ in wf_chspec_primary80_chspec()
1279 /* Primary 80MHz is on upper side */ in wf_chspec_primary80_chspec()
1284 /* Create primary 80MHz chanspec */ in wf_chspec_primary80_chspec()
1295 * Returns the chanspec for the secondary 80MHz sub-band of an 160MHz or 80+80 channel
1309 /* Create secondary 80MHz chanspec */ in wf_chspec_secondary80_chspec()
1319 /* Primary 80MHz is on lower side */ in wf_chspec_secondary80_chspec()
1323 /* Primary 80MHz is on upper side */ in wf_chspec_secondary80_chspec()
1327 /* Create secondary 80MHz chanspec */ in wf_chspec_secondary80_chspec()
1341 * For 160MHz or 80P80 chanspec, set ch[0]/ch[1] to be the low/high 80 Mhz channels
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()
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
1453 chanspec_t t = (CHSPEC_IS160(chspec) || CHSPEC_IS8080(chspec)) ? /* if bw > 80MHz */ in wf_get_all_ext()
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()
1460 if (CHSPEC_IS40(chspec)) return; /* nothing more to do since 40MHz chspec */ in wf_get_all_ext()
1461 /* center 40MHz 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()
1465 if (CHSPEC_IS80(chspec)) return; /* nothing more to do since 80MHz chspec */ 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)