svn commit: r225924 - head/sys/dev/ath/ath_hal/ar5416
Adrian Chadd
adrian at FreeBSD.org
Sun Oct 2 13:51:27 UTC 2011
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
More information about the svn-src-head
mailing list