diff options
author | adrian <adrian@FreeBSD.org> | 2011-12-23 09:09:10 +0000 |
---|---|---|
committer | adrian <adrian@FreeBSD.org> | 2011-12-23 09:09:10 +0000 |
commit | 557be54d6324f110c3b92f5ee4916cf23409d5ed (patch) | |
tree | 7484a5803746549eb33d522d42f03a122a5981d0 /sys/dev | |
parent | d39ac0cc90579764fae475b373b3b055347fccf0 (diff) | |
download | FreeBSD-src-557be54d6324f110c3b92f5ee4916cf23409d5ed.zip FreeBSD-src-557be54d6324f110c3b92f5ee4916cf23409d5ed.tar.gz |
Disable the code which hard-sets the LEDs on. This prevents the LED
state from correctly updating things.
The reference driver directly enables/disables the LED state as required,
rather than nailing it up like it currently is. That'll have to come
later by adding some further HAL methods.
Obtained from: Atheros
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ath/ath_hal/ar5416/ar5416_misc.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c b/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c index 572f710..0010c1a 100644 --- a/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c +++ b/sys/dev/ath/ath_hal/ar5416/ar5416_misc.c @@ -73,11 +73,23 @@ ar5416SetLedState(struct ath_hal *ah, HAL_LED_STATE state) AR_MAC_LED_ASSOC_NONE, AR_MAC_LED_ASSOC_NONE, }; +#if 0 uint32_t bits; +#endif if (AR_SREV_HOWL(ah)) return; + OS_REG_RMW_FIELD(ah, AR_MAC_LED, + AR_MAC_LED_ASSOC, ledbits[state & 0x7]); + + /* + * For now, don't override the power/network LED + * "on" bits. The reference driver notes that some + * devices connect the LED pins to other functionality + * so we can't just leave this on by default. + */ +#if 0 bits = OS_REG_READ(ah, AR_MAC_LED); bits = (bits &~ AR_MAC_LED_MODE) | SM(AR_MAC_LED_MODE_POWON, AR_MAC_LED_MODE) @@ -88,6 +100,7 @@ ar5416SetLedState(struct ath_hal *ah, HAL_LED_STATE state) bits = (bits &~ AR_MAC_LED_ASSOC) | SM(ledbits[state & 0x7], AR_MAC_LED_ASSOC); OS_REG_WRITE(ah, AR_MAC_LED, bits); +#endif } /* |