Skip site navigation (1)Skip section navigation (2)
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>