Lines Matching refs:ah
54 ath9k_regd_get_eepromRD(struct ath_hal *ah) in ath9k_regd_get_eepromRD() argument
56 return (ah->ah_currentRD & ~WORLDWIDE_ROAMING_FLAG); in ath9k_regd_get_eepromRD()
72 ath9k_regd_is_eeprom_valid(struct ath_hal *ah) in ath9k_regd_is_eeprom_valid() argument
74 uint16_t rd = ath9k_regd_get_eepromRD(ah); in ath9k_regd_is_eeprom_valid()
96 ath9k_regd_is_fcc_midband_supported(struct ath_hal *ah) in ath9k_regd_is_fcc_midband_supported() argument
100 regcap = ah->ah_caps.reg_cap; in ath9k_regd_is_fcc_midband_supported()
109 ath9k_regd_is_ccode_valid(struct ath_hal *ah, uint16_t cc) in ath9k_regd_is_ccode_valid() argument
119 rd = ath9k_regd_get_eepromRD(ah); in ath9k_regd_is_ccode_valid()
146 ath9k_regd_get_wmodes_nreg(struct ath_hal *ah, in ath9k_regd_get_wmodes_nreg() argument
152 bcopy(ah->ah_caps.wireless_modes, modes_allowed, in ath9k_regd_get_wmodes_nreg()
153 sizeof (ah->ah_caps.wireless_modes)); in ath9k_regd_get_wmodes_nreg()
155 if (is_set(ATH9K_MODE_11G, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
159 if (is_set(ATH9K_MODE_11A, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
163 if (is_set(ATH9K_MODE_11NG_HT20, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
167 if (is_set(ATH9K_MODE_11NA_HT20, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
171 if (is_set(ATH9K_MODE_11NG_HT40PLUS, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
175 if (is_set(ATH9K_MODE_11NG_HT40MINUS, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
179 if (is_set(ATH9K_MODE_11NA_HT40PLUS, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
183 if (is_set(ATH9K_MODE_11NA_HT40MINUS, ah->ah_caps.wireless_modes) && in ath9k_regd_get_wmodes_nreg()
189 ath9k_regd_is_public_safety_sku(struct ath_hal *ah) in ath9k_regd_is_public_safety_sku() argument
193 rd = ath9k_regd_get_eepromRD(ah); in ath9k_regd_is_public_safety_sku()
201 if (ah->ah_countryCode == CTRY_UNITED_STATES_FCC49) in ath9k_regd_is_public_safety_sku()
221 ath9k_regd_get_default_country(struct ath_hal *ah) in ath9k_regd_get_default_country() argument
226 rd = ath9k_regd_get_eepromRD(ah); in ath9k_regd_get_default_country()
278 ath9k_regd_get_wmode_regdomain(struct ath_hal *ah, int regDmn, in ath9k_regd_get_wmode_regdomain() argument
289 rdnum = ath9k_regd_get_eepromRD(ah); in ath9k_regd_get_wmode_regdomain()
382 ath9k_regd_get_eeprom_reg_ext_bits(struct ath_hal *ah, in ath9k_regd_get_eeprom_reg_ext_bits() argument
385 return ((ah->ah_currentRDExt & (1 << bit)) ? B_TRUE : B_FALSE); in ath9k_regd_get_eeprom_reg_ext_bits()
412 ath9k_regd_is_chan_present(struct ath_hal *ah, uint16_t c) in ath9k_regd_is_chan_present() argument
417 if (!ah->ah_channels[i].channel) in ath9k_regd_is_chan_present()
419 else if (ah->ah_channels[i].channel == c) in ath9k_regd_is_chan_present()
429 struct ath_hal *ah, in ath9k_regd_add_channel() argument
455 !(ah->ah_caps.hw_caps & ATH9K_HW_CAP_CHAN_HALFRATE)) { in ath9k_regd_add_channel()
463 !(ah->ah_caps.hw_caps & ATH9K_HW_CAP_CHAN_QUARTERRATE)) { in ath9k_regd_add_channel()
483 if ((rd->flags & NO_HOSTAP) && (ah->ah_opmode == ATH9K_M_HOSTAP)) { in ath9k_regd_add_channel()
490 !(ath9k_regd_get_eeprom_reg_ext_bits(ah, REG_EXT_FCC_DFS_HT40)) && in ath9k_regd_add_channel()
499 !(ath9k_regd_get_eeprom_reg_ext_bits(ah, in ath9k_regd_add_channel()
508 !(ath9k_regd_get_eeprom_reg_ext_bits(ah, REG_EXT_JAPAN_DFS_HT40)) && in ath9k_regd_add_channel()
548 uint32_t regcap = ah->ah_caps.reg_cap; in ath9k_regd_add_channel()
574 ret = ath9k_regd_is_chan_present(ah, c); in ath9k_regd_add_channel()
576 chan = &ah->ah_channels[pos]; in ath9k_regd_add_channel()
586 chan = &ah->ah_channels[ret]; in ath9k_regd_add_channel()
604 ath9k_regd_japan_check(struct ath_hal *ah, int b, struct regDomain *rd5GHz) in ath9k_regd_japan_check() argument
612 regcap = ah->ah_caps.reg_cap; in ath9k_regd_japan_check()
633 struct ath_hal *ah, in ath9k_regd_init_channels() argument
647 struct ath9k_channel *ichans = &ah->ah_channels[0]; in ath9k_regd_init_channels()
662 if (!ath9k_regd_is_ccode_valid(ah, cc)) { in ath9k_regd_init_channels()
668 if (!ath9k_regd_is_eeprom_valid(ah)) { in ath9k_regd_init_channels()
674 ah->ah_countryCode = ath9k_regd_get_default_country(ah); in ath9k_regd_init_channels()
676 if (ah->ah_countryCode == CTRY_DEFAULT) { in ath9k_regd_init_channels()
677 ah->ah_countryCode = cc & COUNTRY_CODE_MASK; in ath9k_regd_init_channels()
678 if ((ah->ah_countryCode == CTRY_DEFAULT) && in ath9k_regd_init_channels()
679 (ath9k_regd_get_eepromRD(ah) == CTRY_DEFAULT)) { in ath9k_regd_init_channels()
680 ah->ah_countryCode = CTRY_UNITED_STATES; in ath9k_regd_init_channels()
685 if (ah->ah_countryCode == CTRY_DEFAULT) { in ath9k_regd_init_channels()
686 regdmn = ath9k_regd_get_eepromRD(ah); in ath9k_regd_init_channels()
690 country = ath9k_regd_find_country(ah->ah_countryCode); in ath9k_regd_init_channels()
695 ah->ah_countryCode)); in ath9k_regd_init_channels()
701 if (((ath9k_regd_get_eepromRD(ah) & in ath9k_regd_init_channels()
704 if (!isWwrSKU_NoMidband(ah) && in ath9k_regd_init_channels()
705 ath9k_regd_is_fcc_midband_supported(ah)) in ath9k_regd_init_channels()
715 if (!ath9k_regd_get_wmode_regdomain(ah, regdmn, in ath9k_regd_init_channels()
720 ah->ah_countryCode)); in ath9k_regd_init_channels()
723 if (!ath9k_regd_get_wmode_regdomain(ah, regdmn, in ath9k_regd_init_channels()
728 ah->ah_countryCode)); in ath9k_regd_init_channels()
732 if (!isWwrSKU(ah) && ((rd5GHz.regDmnEnum == FCC1) || in ath9k_regd_init_channels()
734 if (ath9k_regd_is_fcc_midband_supported(ah)) { in ath9k_regd_init_channels()
735 if (!ath9k_regd_get_wmode_regdomain(ah, in ath9k_regd_init_channels()
741 ah->ah_countryCode)); in ath9k_regd_init_channels()
748 modes_avail = ah->ah_caps.wireless_modes; in ath9k_regd_init_channels()
750 ath9k_regd_get_wmodes_nreg(ah, country, &rd5GHz, modes_allowed); in ath9k_regd_init_channels()
759 if (maxchans > ARRAY_SIZE(ah->ah_channels)) in ath9k_regd_init_channels()
760 maxchans = ARRAY_SIZE(ah->ah_channels); in ath9k_regd_init_channels()
775 if (!ath9k_get_channel_edges(ah, cm->flags, &c_lo, &c_hi)) { in ath9k_regd_init_channels()
834 if (ath9k_regd_japan_check(ah, in ath9k_regd_init_channels()
864 if (ath9k_regd_add_channel(ah, in ath9k_regd_init_channels()
885 if (next > ARRAY_SIZE(ah->ah_channels)) { in ath9k_regd_init_channels()
889 next, (int)ARRAY_SIZE(ah->ah_channels))); in ath9k_regd_init_channels()
890 next = ARRAY_SIZE(ah->ah_channels); in ath9k_regd_init_channels()
898 ah->ah_nchan = next; in ath9k_regd_init_channels()
905 ah->ah_channels[i].channel, in ath9k_regd_init_channels()
906 ah->ah_channels[i].channelFlags)); in ath9k_regd_init_channels()
911 ah->ah_countryCode = ah->ah_countryCode; in ath9k_regd_init_channels()
913 ah->ah_currentRDInUse = (uint16_t)regdmn; /* LINT */ in ath9k_regd_init_channels()
914 ah->ah_currentRD5G = rd5GHz.regDmnEnum; in ath9k_regd_init_channels()
915 ah->ah_currentRD2G = rd2GHz.regDmnEnum; in ath9k_regd_init_channels()
917 ah->ah_iso[0] = 0; in ath9k_regd_init_channels()
918 ah->ah_iso[1] = 0; in ath9k_regd_init_channels()
920 ah->ah_iso[0] = country->isoName[0]; in ath9k_regd_init_channels()
921 ah->ah_iso[1] = country->isoName[1]; in ath9k_regd_init_channels()
928 ath9k_regd_check_channel(struct ath_hal *ah, const struct ath9k_channel *c) in ath9k_regd_check_channel() argument
939 cc = ah->ah_curchan; in ath9k_regd_check_channel()
949 base = ah->ah_channels; in ath9k_regd_check_channel()
950 n = ah->ah_nchan; in ath9k_regd_check_channel()
985 ath9k_regd_get_antenna_allowed(struct ath_hal *ah, struct ath9k_channel *chan) in ath9k_regd_get_antenna_allowed() argument
989 ichan = ath9k_regd_check_channel(ah, chan); in ath9k_regd_get_antenna_allowed()
997 ath9k_regd_get_ctl(struct ath_hal *ah, struct ath9k_channel *chan) in ath9k_regd_get_ctl() argument
1002 if (ah->ah_countryCode == CTRY_DEFAULT && isWwrSKU(ah)) { in ath9k_regd_get_ctl()
1010 ichan = ath9k_regd_check_channel(ah, chan); in ath9k_regd_get_ctl()
1028 ath9k_regd_get_current_country(struct ath_hal *ah, in ath9k_regd_get_current_country() argument
1031 uint16_t rd = ath9k_regd_get_eepromRD(ah); in ath9k_regd_get_current_country()
1037 ctry->isMultidomain = isWwrSKU(ah); in ath9k_regd_get_current_country()
1039 ctry->countryCode = ah->ah_countryCode; in ath9k_regd_get_current_country()
1040 ctry->regDmnEnum = ah->ah_currentRD; in ath9k_regd_get_current_country()
1041 ctry->regDmn5G = ah->ah_currentRD5G; in ath9k_regd_get_current_country()
1042 ctry->regDmn2G = ah->ah_currentRD2G; in ath9k_regd_get_current_country()
1043 ctry->iso[0] = ah->ah_iso[0]; in ath9k_regd_get_current_country()
1044 ctry->iso[1] = ah->ah_iso[1]; in ath9k_regd_get_current_country()
1045 ctry->iso[2] = ah->ah_iso[2]; in ath9k_regd_get_current_country()