opnsense-src/sys/dev/ath/ath_hal
Adrian Chadd 8a67b42a74 Migrate the chip power mode status to public ath_hal, rather than the
private per-chip HAL.

This allows the ah_osdep.[ch] code to check whether the power state is
valid for doing chip programming.

It should be a no-op for normal driver work but it does require a
clean kernel/module rebuild, as the size of HAL structures have changed.

Now, this doesn't track whether the hardware is ACTUALLY awake,
as NETWORK_SLEEP wakes the chip up for a short period when traffic
is received.  This doesn't actually set the power mode to AWAKE, so
we have to be careful about how we touch things.

But it's enough to start down the path of implementing station mode
chipset power savings, as a large part of the silliness is making
sure the chip is awake during periodic calibration / ANI and
random places where transmit may be occuring.  I'd rather not a repeat
of debugging power save on ath9k, where races with calibration
and transmit path stuff took a couple years to shake out.

Tested:

* AR5416, STA mode
2014-03-10 06:03:35 +00:00
..
ah_regdomain PicoStation M2HP presents reg domain 0x2a which is not found in atheros or linux 2014-02-23 18:07:17 +00:00
ar5210 Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ar5211 Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ar5212 Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ar5312 Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ar5416 Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ar9001 Use the TPC bank by default for AR9160. 2013-04-17 07:22:23 +00:00
ar9002 Set the antenna "config group" field. 2013-06-12 15:18:10 +00:00
ar9003 Add device identification and probe/attach support for the QCA9565. 2013-05-02 00:59:39 +00:00
ah.c Add a HAL local routine to map the 2GHz channel frequency to an IEEE 2013-06-26 04:46:03 +00:00
ah.h Migrate the chip power mode status to public ath_hal, rather than the 2014-03-10 06:03:35 +00:00
ah_debug.h HAL additions to enable MCI Bluetooth coexistence in the AR9300 HAL. 2013-04-05 07:41:47 +00:00
ah_decode.h Add a threadid to the ah_decode API. 2012-04-04 20:46:20 +00:00
ah_desc.h Document the AR9285/AR9485 LNA configuration information that's 2013-06-05 00:39:20 +00:00
ah_devid.h Add device identification and probe/attach support for the QCA9565. 2013-05-02 00:59:39 +00:00
ah_diagcodes.h Add some more diagnostic codes. 2012-08-24 00:17:39 +00:00
ah_eeprom.h Bring over some new EEPROM regulatory domain flags. 2012-08-24 01:14:00 +00:00
ah_eeprom_9287.c Move this magic check to only occur if no eeprom data is given. 2012-08-26 04:26:49 +00:00
ah_eeprom_9287.h Make sure the extended regdomain word is initialised. 2011-06-28 00:01:55 +00:00
ah_eeprom_v1.c Fix the eeprom set API method to return HAL_STATUS. 2011-05-14 15:12:02 +00:00
ah_eeprom_v1.h Replace Id keyword with FreeBSD keyword and set the svn props correctly. 2010-03-03 17:32:32 +00:00
ah_eeprom_v3.c Fix the eeprom set API method to return HAL_STATUS. 2011-05-14 15:12:02 +00:00
ah_eeprom_v3.h Replace Id keyword with FreeBSD keyword and set the svn props correctly. 2010-03-03 17:32:32 +00:00
ah_eeprom_v4k.c "Upgrade" the AR9285 code to support PCI/ART EEPROM on flash. 2012-04-20 21:56:13 +00:00
ah_eeprom_v4k.h Bring over a pdadc calibration fix from ath9k - unused power detector 2011-04-22 10:57:46 +00:00
ah_eeprom_v14.c Introduce the FRAC_5G EEPROM parameter. 2011-07-30 13:45:12 +00:00
ah_eeprom_v14.h Introduce the FRAC_5G EEPROM parameter. 2011-07-30 13:45:12 +00:00
ah_internal.h Add a HAL local routine to map the 2GHz channel frequency to an IEEE 2013-06-26 04:46:03 +00:00
ah_regdomain.c PicoStation M2HP presents reg domain 0x2a which is not found in atheros or linux 2014-02-23 18:07:17 +00:00
ah_regdomain.h Migrate the regulatory database definitions into separate header files 2011-03-10 03:13:56 +00:00
ah_soc.h Replace Id keyword with FreeBSD keyword and set the svn props correctly. 2010-03-03 17:32:32 +00:00