Read in the extended regulatory domain flags so future code can use them.
These describe FCC/Japan channel and DFS behaviour. The AR9285 and later chips don't set these bits in the eeprom, the correct behaviour is to just assume all five bits are enabled.
This commit is contained in:
parent
f98c5772c9
commit
496023c65b
@ -298,6 +298,7 @@ struct ath_hal_private {
|
||||
* State for regulatory domain handling.
|
||||
*/
|
||||
HAL_REG_DOMAIN ah_currentRD; /* EEPROM regulatory domain */
|
||||
HAL_REG_DOMAIN ah_currentRDext; /* EEPROM extended regdomain flags */
|
||||
HAL_CHANNEL_INTERNAL ah_channels[AH_MAXCHAN]; /* private chan state */
|
||||
u_int ah_nchan; /* valid items in ah_channels */
|
||||
const struct regDomain *ah_rd2GHz; /* reg state for 2G band */
|
||||
|
@ -371,6 +371,8 @@ ar5416Attach(uint16_t devid, HAL_SOFTC sc,
|
||||
/* Read Reg Domain */
|
||||
AH_PRIVATE(ah)->ah_currentRD =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_0, AH_NULL);
|
||||
AH_PRIVATE(ah)->ah_currentRDext =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_1, AH_NULL);
|
||||
|
||||
/*
|
||||
* ah_miscMode is populated by ar5416FillCapabilityInfo()
|
||||
|
@ -236,6 +236,9 @@ ar9130Attach(uint16_t devid, HAL_SOFTC sc,
|
||||
/* Read Reg Domain */
|
||||
AH_PRIVATE(ah)->ah_currentRD =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_0, AH_NULL);
|
||||
AH_PRIVATE(ah)->ah_currentRDext =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_1, AH_NULL);
|
||||
|
||||
|
||||
/*
|
||||
* ah_miscMode is populated by ar5416FillCapabilityInfo()
|
||||
|
@ -241,6 +241,8 @@ ar9160Attach(uint16_t devid, HAL_SOFTC sc,
|
||||
/* Read Reg Domain */
|
||||
AH_PRIVATE(ah)->ah_currentRD =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_0, AH_NULL);
|
||||
AH_PRIVATE(ah)->ah_currentRDext =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_1, AH_NULL);
|
||||
|
||||
/*
|
||||
* ah_miscMode is populated by ar5416FillCapabilityInfo()
|
||||
|
@ -325,6 +325,8 @@ ar9280Attach(uint16_t devid, HAL_SOFTC sc,
|
||||
/* Read Reg Domain */
|
||||
AH_PRIVATE(ah)->ah_currentRD =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_0, AH_NULL);
|
||||
AH_PRIVATE(ah)->ah_currentRDext =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_1, AH_NULL);
|
||||
|
||||
/*
|
||||
* ah_miscMode is populated by ar5416FillCapabilityInfo()
|
||||
|
@ -284,6 +284,11 @@ ar9285Attach(uint16_t devid, HAL_SOFTC sc,
|
||||
/* Read Reg Domain */
|
||||
AH_PRIVATE(ah)->ah_currentRD =
|
||||
ath_hal_eepromGet(ah, AR_EEP_REGDMN_0, AH_NULL);
|
||||
/*
|
||||
* For Kite and later chipsets, the following bits are not
|
||||
* programmed in EEPROM and so are set as enabled always.
|
||||
*/
|
||||
AH_PRIVATE(ah)->ah_currentRDext = AR9285_RDEXT_DEFAULT;
|
||||
|
||||
/*
|
||||
* ah_miscMode is populated by ar5416FillCapabilityInfo()
|
||||
|
Loading…
Reference in New Issue
Block a user