Date: Sun, 25 Sep 2011 15:28:09 +0000 (UTC) From: Adrian Chadd <adrian@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r225756 - user/adrian/if_ath_tx/sys/dev/ath/ath_hal/ar5416 Message-ID: <201109251528.p8PFS9mD031549@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201109251528.p8PFS9mD031549>