freebsd-nq/sys/dev/ath
Adrian Chadd 3440495a52 Flesh out configurable hardware based LED blinking.
The hardware (MAC) LED blinking involves a few things:

* Selecting which GPIO pins map to the MAC "power" and "network" lines;
* Configuring the MAC LED state (associated, scanning, idle);
* Configuring the MAC LED blinking type and speed.

The AR5416 HAL configures the normal blinking setup - ie, blink rate based
on TX/RX throughput.  The default AR5212 HAL doesn't program in any
specific blinking type, but the default of 0 is the same.

This code introduces a few things:

* The hardware led override is configured via sysctl 'hardled';
* The MAC network and power LED GPIO lines can be set, or left at -1
  if needed.  This is intended to allow only one of the hardware MUX
  entries to be configured (eg for PCIe cards which only have one LED
  exposed.)

TODO:

* For AR2417, the software LED blinking involves software blinking the
  Network LED.  For the AR5416 and later, this can just be configured
  as a GPIO output line.  I'll chase that up with a subsequent commit.

* Add another software LED blink for "Link", separate from "activity",
  which blinks based on the association state.  This would make my
  D-Link DWA-552 have consistent and useful LED behaviour (as they're
  marked "Link" and "Activity."

* Don't expose the hardware LED override unless it's an AR5416 or later,
  as the previous generation hardware doesn't have this multiplexing
  setup.
2011-12-26 07:47:05 +00:00
..
ath_dfs/null - change "is is" to "is" or "it is" 2011-10-16 14:30:28 +00:00
ath_hal Update the hardware LED blinking code to do something useful rather than 2011-12-26 06:07:21 +00:00
ath_rate Fix the compile to work when IEEE80211_DEBUG isn't defined. 2011-11-09 04:08:01 +00:00
ah_osdep.c Introduce a work-around for issues with the AR5416 based MAC on SMP devices. 2011-11-09 22:39:44 +00:00
ah_osdep.h Fix AR5416 and later parts when building with AH_DEBUG or similar defined: 2009-07-06 20:51:54 +00:00
if_ath_ahb.c Begin merging in some of my 802.11n TX aggregation driver changes. 2011-11-08 02:12:11 +00:00
if_ath_debug.c Add support to the TX descriptor printing code to follow ath_buf 2011-11-08 22:01:03 +00:00
if_ath_debug.h Add some new ath(4) debugging bits, from my if_ath_tx 11n TX branch. 2011-10-29 07:17:47 +00:00
if_ath_keycache.c Add a 'vap' to ath_keyset(). 2011-11-08 19:25:52 +00:00
if_ath_keycache.h Add a 'vap' to ath_keyset(). 2011-11-08 19:25:52 +00:00
if_ath_led.c Flesh out configurable hardware based LED blinking. 2011-12-26 07:47:05 +00:00
if_ath_led.h Refactor out the software LED config code into a common function, called 2011-12-26 05:46:22 +00:00
if_ath_misc.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_ath_pci.c Conditionally compile the PCI latency workaround; I think it's 2011-11-08 18:37:52 +00:00
if_ath_sysctl.c Flesh out configurable hardware based LED blinking. 2011-12-26 07:47:05 +00:00
if_ath_sysctl.h Break out most of the HAL related tweaks into a per-HAL instance, 2011-06-23 02:38:36 +00:00
if_ath_tx_ht.c Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_ath_tx_ht.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_ath_tx.c Flesh out the TX aggregation completion statistics. 2011-11-23 05:00:25 +00:00
if_ath_tx.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_ath.c Flesh out configurable hardware based LED blinking. 2011-12-26 07:47:05 +00:00
if_athdfs.h Remove the now unneeded references to these DFS methods. 2011-08-09 15:46:52 +00:00
if_athioctl.h Flesh out the TX aggregation completion statistics. 2011-11-23 05:00:25 +00:00
if_athrate.h Introduce TX aggregation and software TX queue management 2011-11-08 22:43:13 +00:00
if_athvar.h Flesh out configurable hardware based LED blinking. 2011-12-26 07:47:05 +00:00