freebsd-skq/sys/dev/ath/ath_hal/ar5416
adrian e85dde4087 Make sure that the AR_MISC_MODE value from the initvals are properly respected.
This commit really is "fix the OFDM duration calculation to match reality when
running in 802.11g mode."

The AR5212 init vals set AR_MISC_MODE to 0x0 and all the bits that can be set are
set through code.

The AR5416 and later initvals set AR_MISC_MODE to various other values (with
the AR5212 AR_MISC_MODE options cleared), which include AR_PCU_CCK_SIFS_MODE .
This adds 6uS to SIFS on non-CCK frames when transmitting.

This fixes the issue where _DATA_ 802.11g OFDM frames were being TX'ed with
the ACK duration set to 38uS, not 44uS as on the AR5212 (and other devices.)

The AR5212 TX pathway obeys the software-programmed duration field in the packet,
but the 11n TX pathway overrides that with a hardware-calculated duration. This
was getting it wrong because of the above AR_MISC_MODE setting. I've verified
that 11g data OFDM frames are now being TXed with the correct ACK+SIFS duration
programmed in.
2011-03-19 03:15:28 +00:00
..
ar2133.c Fix the nfarray offsets for the ar2133/ar5133 radio - (AR5416, AR9160, etc.) 2011-03-13 13:00:45 +00:00
ar5416_ani.c Add debugging messages to the AR5416 ANI code that's found in the AR5212 ANI code. 2011-03-19 00:46:10 +00:00
ar5416_attach.c Make sure that the AR_MISC_MODE value from the initvals are properly respected. 2011-03-19 03:15:28 +00:00
ar5416_beacon.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_cal_adcdc.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_cal_adcgain.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_cal_iq.c Fix the calibration logic to correctly clamp the calculated coefficient. 2010-08-14 15:28:15 +00:00
ar5416_cal.c Introduce methods for the initial calibration and the new PA calibration 2011-03-11 11:35:36 +00:00
ar5416_cal.h Introduce methods for the initial calibration and the new PA calibration 2011-03-11 11:35:36 +00:00
ar5416_eeprom.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_gpio.c Add support for the AR9285 chipset, which is found on many netbooks 2010-01-29 10:10:14 +00:00
ar5416_interrupts.c Bring in a couple of fixes from the Linux ath9k related to chip hangs. 2010-06-01 15:33:10 +00:00
ar5416_keycache.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_misc.c Only enable 11n modes if the chipset suports 11n. 2011-01-20 09:46:18 +00:00
ar5416_phy.c Modify the AR5416 11na rate table to use 24mb OFDM 11a for control traffic, 2011-02-21 05:10:34 +00:00
ar5416_power.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:02:50 +00:00
ar5416_recv.c Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416_reset.c Make sure that the AR_MISC_MODE value from the initvals are properly respected. 2011-03-19 03:15:28 +00:00
ar5416_xmit.c Add a temporary workaround so the 11n rate scenario setup code sets a useful 2011-02-05 22:54:37 +00:00
ar5416.h Move out some of the shared eeprom board value calculation routines into ah.c 2011-03-13 05:54:05 +00:00
ar5416.ini Bring over ar5416 inivals from Linux-2.6.34. 2010-08-10 07:48:13 +00:00
ar5416desc.h Replace Id keyword with the FreeBSD keyword. 2010-01-29 10:07:17 +00:00
ar5416phy.h Add in some AR9280 specific board configuration options. 2011-02-07 22:00:31 +00:00
ar5416reg.h * fix the ar5416 check macros to be slightly more correct; 2011-03-03 08:30:28 +00:00