summaryrefslogtreecommitdiffstats
path: root/sys/dev
diff options
context:
space:
mode:
authoradrian <adrian@FreeBSD.org>2011-12-23 09:09:10 +0000
committeradrian <adrian@FreeBSD.org>2011-12-23 09:09:10 +0000
commit557be54d6324f110c3b92f5ee4916cf23409d5ed (patch)
tree7484a5803746549eb33d522d42f03a122a5981d0 /sys/dev
parentd39ac0cc90579764fae475b373b3b055347fccf0 (diff)
downloadFreeBSD-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.c13
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
}
/*
OpenPOWER on IntegriCloud