diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-04-26 15:04:41 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-04-27 16:09:20 -0400 |
commit | 5bea40069e46542f5691ec5771edc53e0ca58d71 (patch) | |
tree | 0744069ebbbc40a50362e84b682ba2c0524f8126 /drivers/net/wireless/ath/ath9k/mac.c | |
parent | 5d5d44d914623b6122f050ec900ea4016aa3a993 (diff) |
ath9k_hw: Fix TX interrupt mitigation settings
TX interrupt mitigation reduces the number of interrupts
by addressing several interrupt actions (AR_IMR_TXOK,
AR_IMR_TXDESC) all in one interrupt so when enabling
it discard setting the other interrupts.
Without this TX interrupt mitigation would actually
increase the number of interrupts two-fold. We still
leave TX interrupt mitigation disabled as it is still
being tested.
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/mac.c')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/mac.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/ath/ath9k/mac.c b/drivers/net/wireless/ath/ath9k/mac.c index 7bbf502563bc..0e425cb4bbb1 100644 --- a/drivers/net/wireless/ath/ath9k/mac.c +++ b/drivers/net/wireless/ath/ath9k/mac.c | |||
@@ -878,10 +878,12 @@ enum ath9k_int ath9k_hw_set_interrupts(struct ath_hw *ah, | |||
878 | if (ints & ATH9K_INT_TX) { | 878 | if (ints & ATH9K_INT_TX) { |
879 | if (ah->config.tx_intr_mitigation) | 879 | if (ah->config.tx_intr_mitigation) |
880 | mask |= AR_IMR_TXMINTR | AR_IMR_TXINTM; | 880 | mask |= AR_IMR_TXMINTR | AR_IMR_TXINTM; |
881 | if (ah->txok_interrupt_mask) | 881 | else { |
882 | mask |= AR_IMR_TXOK; | 882 | if (ah->txok_interrupt_mask) |
883 | if (ah->txdesc_interrupt_mask) | 883 | mask |= AR_IMR_TXOK; |
884 | mask |= AR_IMR_TXDESC; | 884 | if (ah->txdesc_interrupt_mask) |
885 | mask |= AR_IMR_TXDESC; | ||
886 | } | ||
885 | if (ah->txerr_interrupt_mask) | 887 | if (ah->txerr_interrupt_mask) |
886 | mask |= AR_IMR_TXERR; | 888 | mask |= AR_IMR_TXERR; |
887 | if (ah->txeol_interrupt_mask) | 889 | if (ah->txeol_interrupt_mask) |