svn commit: r225756 -
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416
Adrian Chadd
adrian at FreeBSD.org
Sun Sep 25 15:28:09 UTC 2011
Author: adrian
Date: Sun Sep 25 15:28:09 2011
New Revision: 225756
URL: http://svn.freebsd.org/changeset/base/225756
Log:
Disable TX interrupt mitigation for now.
Modified:
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Sun Sep 25 15:07:50 2011 (r225755)
+++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c Sun Sep 25 15:28:09 2011 (r225756)
@@ -144,14 +144,13 @@ ar5416GetPendingInterrupts(struct ath_ha
*/
*masked = isr & HAL_INT_COMMON;
-#ifdef AH_AR5416_INTERRUPT_MITIGATION
+
if (isr & (AR_ISR_RXMINTR | AR_ISR_RXINTM)) {
*masked |= HAL_INT_RX;
}
if (isr & (AR_ISR_TXMINTR | AR_ISR_TXINTM)) {
*masked |= HAL_INT_TX;
}
-#endif
/*
* Don't signal this when doing interrupt mitigation
@@ -162,10 +161,7 @@ ar5416GetPendingInterrupts(struct ath_ha
#endif
if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | AR_ISR_TXEOL)) {
-
-#ifndef AH_AR5416_INTERRUPT_MITIGATION
*masked |= HAL_INT_TX;
-#endif
if (pCap->halUseIsrRac) {
isr0 = OS_REG_READ(ah, AR_ISR_S0_S);
@@ -288,18 +284,12 @@ ar5416SetInterrupts(struct ath_hal *ah,
* Overwrite default mask if Interrupt mitigation
* is specified for AR5416
*/
- mask = ints & HAL_INT_COMMON;
- if (ints & HAL_INT_TX)
- mask |= AR_IMR_TXMINTR | AR_IMR_TXINTM;
if (ints & HAL_INT_RX)
mask |= AR_IMR_RXERR | AR_IMR_RXMINTR | AR_IMR_RXINTM;
- if (ints & HAL_INT_TX) {
- if (ahp->ah_txErrInterruptMask)
- mask |= AR_IMR_TXERR;
- if (ahp->ah_txEolInterruptMask)
- mask |= AR_IMR_TXEOL;
- }
#else
+ if (ints & HAL_INT_RX)
+ mask |= AR_IMR_RXOK | AR_IMR_RXERR | AR_IMR_RXDESC;
+#endif
if (ints & HAL_INT_TX) {
if (ahp->ah_txOkInterruptMask)
mask |= AR_IMR_TXOK;
@@ -310,9 +300,6 @@ ar5416SetInterrupts(struct ath_hal *ah,
if (ahp->ah_txEolInterruptMask)
mask |= AR_IMR_TXEOL;
}
- if (ints & HAL_INT_RX)
- mask |= AR_IMR_RXOK | AR_IMR_RXERR | AR_IMR_RXDESC;
-#endif
if (ints & (HAL_INT_BMISC)) {
mask |= AR_IMR_BCNMISC;
if (ints & HAL_INT_TIM)
Modified: user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Sun Sep 25 15:07:50 2011 (r225755)
+++ user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416/ar5416_reset.c Sun Sep 25 15:28:09 2011 (r225756)
@@ -363,8 +363,6 @@ ar5416Reset(struct ath_hal *ah, HAL_OPMO
#ifdef AH_AR5416_INTERRUPT_MITIGATION
OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500);
OS_REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 2000);
- OS_REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_LAST, 300);
- OS_REG_RMW_FIELD(ah, AR_TIMT, AR_TIMT_FIRST, 750);
#endif
ar5416InitBB(ah, chan);
@@ -611,11 +609,11 @@ ar5416InitIMR(struct ath_hal *ah, HAL_OP
| AR_IMR_BCNMISC;
#ifdef AH_AR5416_INTERRUPT_MITIGATION
- ahp->ah_maskReg |= AR_IMR_TXINTM | AR_IMR_RXINTM
- | AR_IMR_TXMINTR | AR_IMR_RXMINTR;
+ ahp->ah_maskReg |= AR_IMR_RXINTM | AR_IMR_RXMINTR;
#else
- ahp->ah_maskReg |= AR_IMR_TXOK | AR_IMR_RXOK;
-#endif
+ ahp->ah_maskReg |= AR_IMR_RXOK;
+#endif
+ ahp->ah_maskReg |= AR_IMR_TXOK;
if (opmode == HAL_M_HOSTAP)
ahp->ah_maskReg |= AR_IMR_MIB;
More information about the svn-src-user
mailing list