Author: adrian
Date: Sun Oct  2 13:51:26 2011
New Revision: 225924
URL: http://svn.freebsd.org/changeset/base/225924

Log:
  Document exactly what the RX interrupt mitigation timers do.

Modified:
  head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c

Modified: head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
==============================================================================
--- head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c      Sun Oct  2 13:48:15 
2011        (r225923)
+++ head/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c      Sun Oct  2 13:51:26 
2011        (r225924)
@@ -358,8 +358,30 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO
        OS_REG_WRITE(ah, AR_OBS, 8);
 
 #ifdef AH_AR5416_INTERRUPT_MITIGATION
+       /*
+        * Disable the "general" TX/RX mitigation timers.
+        */
        OS_REG_WRITE(ah, AR_MIRT, 0);
 
+       /*
+        * This initialises the RX interrupt mitigation timers.
+        *
+        * The mitigation timers begin at idle and are triggered
+        * upon the RXOK of a single frame (or sub-frame, for A-MPDU.)
+        * Then, the RX mitigation interrupt will fire:
+        *
+        * + 250uS after the last RX'ed frame, or
+        * + 700uS after the first RX'ed frame
+        *
+        * Thus, the LAST field dictates the extra latency
+        * induced by the RX mitigation method and the FIRST
+        * field dictates how long to delay before firing an
+        * RX mitigation interrupt.
+        *
+        * Please note this only seems to be for RXOK frames;
+        * not CRC or PHY error frames.
+        *
+        */
        OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 250);
        OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 700);
 #endif
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to