summaryrefslogtreecommitdiff
path: root/sys/dev/ath
diff options
context:
space:
mode:
authorSam Leffler <sam@FreeBSD.org>2009-05-19 17:35:15 +0000
committerSam Leffler <sam@FreeBSD.org>2009-05-19 17:35:15 +0000
commit88608a2211e9bf2aa5a823a5e6c5cb76d7220a15 (patch)
tree9aef58822a6f337443802fa4fa2dd1287a078d10 /sys/dev/ath
parent683f31342d1679bfa2719bee0200992eb51e759c (diff)
Notes
Diffstat (limited to 'sys/dev/ath')
-rw-r--r--sys/dev/ath/ath_hal/ah.h1
-rw-r--r--sys/dev/ath/ath_hal/ar5210/ar5210_attach.c2
-rw-r--r--sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c6
-rw-r--r--sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c4
-rw-r--r--sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c4
-rw-r--r--sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c4
6 files changed, 5 insertions, 16 deletions
diff --git a/sys/dev/ath/ath_hal/ah.h b/sys/dev/ath/ath_hal/ah.h
index e9ceaf063770..faeec97b2df4 100644
--- a/sys/dev/ath/ath_hal/ah.h
+++ b/sys/dev/ath/ath_hal/ah.h
@@ -356,6 +356,7 @@ typedef enum {
| HAL_INT_RXKCM
| HAL_INT_SWBA
| HAL_INT_BMISS
+ | HAL_INT_BNR
| HAL_INT_GPIO,
} HAL_INT;
diff --git a/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c b/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
index 2d601e633c1a..0a470ee69a4d 100644
--- a/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
+++ b/sys/dev/ath/ath_hal/ar5210/ar5210_attach.c
@@ -369,7 +369,7 @@ ar5210FillCapabilityInfo(struct ath_hal *ah)
}
pCap->halTstampPrecision = 15; /* NB: s/w extended from 13 */
- pCap->halIntrMask = HAL_INT_COMMON
+ pCap->halIntrMask = (HAL_INT_COMMON - HAL_INT_BNR)
| HAL_INT_RX
| HAL_INT_TX
| HAL_INT_FATAL
diff --git a/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c b/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c
index ccc233232abd..96b1a2cb1918 100644
--- a/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c
+++ b/sys/dev/ath/ath_hal/ar5210/ar5210_interrupts.c
@@ -14,7 +14,7 @@
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*
- * $Id: ar5210_interrupts.c,v 1.4 2008/11/10 04:08:02 sam Exp $
+ * $FreeBSD$
*/
#include "opt_ah.h"
@@ -59,7 +59,7 @@ ar5210GetPendingInterrupts(struct ath_hal *ah, HAL_INT *masked)
* status bits leak through that weren't requested
* (e.g. RXNOFRM) and that might confuse the caller.
*/
- *masked = (isr & HAL_INT_COMMON) & ahp->ah_maskReg;
+ *masked = (isr & (HAL_INT_COMMON - HAL_INT_BNR)) & ahp->ah_maskReg;
if (isr & AR_FATAL_INT)
*masked |= HAL_INT_FATAL;
@@ -105,7 +105,7 @@ ar5210SetInterrupts(struct ath_hal *ah, HAL_INT ints)
OS_REG_WRITE(ah, AR_IER, AR_IER_DISABLE);
}
- mask = ints & HAL_INT_COMMON;
+ mask = ints & (HAL_INT_COMMON - HAL_INT_BNR);
if (ints & HAL_INT_RX)
mask |= AR_IMR_RXOK_INT | AR_IMR_RXERR_INT;
if (ints & HAL_INT_TX) {
diff --git a/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c b/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c
index be467def34ad..4c20ca1b5a24 100644
--- a/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c
+++ b/sys/dev/ath/ath_hal/ar5211/ar5211_interrupts.c
@@ -64,8 +64,6 @@ ar5211GetPendingInterrupts(struct ath_hal *ah, HAL_INT *masked)
*masked |= HAL_INT_RX;
if (isr & (AR_ISR_TXOK | AR_ISR_TXDESC | AR_ISR_TXERR | AR_ISR_TXEOL))
*masked |= HAL_INT_TX;
- if (isr & AR_ISR_BNR)
- *masked |= HAL_INT_BNR;
/*
* Receive overrun is usually non-fatal on Oahu/Spirit.
* BUT on some parts rx could fail and the chip must be reset.
@@ -139,8 +137,6 @@ ar5211SetInterrupts(struct ath_hal *ah, HAL_INT ints)
}
if (ints & HAL_INT_RX)
mask |= AR_IMR_RXOK | AR_IMR_RXERR | AR_IMR_RXDESC;
- if (ints & AR_ISR_BNR)
- mask |= HAL_INT_BNR;
if (ints & HAL_INT_FATAL) {
/*
* NB: ar5212Reset sets MCABT+SSERR+DPERR in AR_IMR_S2
diff --git a/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c b/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c
index d8f25d72b713..d6614276c2e8 100644
--- a/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c
+++ b/sys/dev/ath/ath_hal/ar5212/ar5212_interrupts.c
@@ -92,8 +92,6 @@ ar5212GetPendingInterrupts(struct ath_hal *ah, HAL_INT *masked)
ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXERR);
ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXEOL);
}
- if (isr & AR_ISR_BNR)
- *masked |= HAL_INT_BNR;
/*
* Receive overrun is usually non-fatal on Oahu/Spirit.
@@ -175,8 +173,6 @@ ar5212SetInterrupts(struct ath_hal *ah, HAL_INT ints)
if (ints & HAL_INT_CABEND)
mask2 |= (AR_IMR_S2_CABEND );
}
- if (ints & HAL_INT_BNR)
- mask |= AR_IMR_BNR;
if (ints & HAL_INT_FATAL) {
/*
* NB: ar5212Reset sets MCABT+SSERR+DPERR in AR_IMR_S2
diff --git a/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c b/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
index 7aa538d6c540..7b6f951175f0 100644
--- a/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
+++ b/sys/dev/ath/ath_hal/ar5416/ar5416_interrupts.c
@@ -119,8 +119,6 @@ ar5416GetPendingInterrupts(struct ath_hal *ah, HAL_INT *masked)
ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXERR);
ahp->ah_intrTxqs |= MS(isr1, AR_ISR_S1_QCU_TXEOL);
}
- if (isr & AR_ISR_BNR)
- *masked |= HAL_INT_BNR;
/* Interrupt Mitigation on AR5416 */
#ifdef AR5416_INT_MITIGATION
@@ -229,8 +227,6 @@ ar5416SetInterrupts(struct ath_hal *ah, HAL_INT ints)
if (ints & HAL_INT_TSFOOR)
mask2 |= AR_IMR_S2_TSFOOR;
}
- if (ints & HAL_INT_BNR)
- mask |= AR_IMR_BNR;
/* Write the new IMR and store off our SW copy. */
HALDEBUG(ah, HAL_DEBUG_INTERRUPT, "%s: new IMR 0x%x\n", __func__, mask);