Commit a64e1a45 authored by Sujith Manoharan's avatar Sujith Manoharan Committed by John W. Linville

ath9k: Fix RX interrupt mitigation

The threshold values for RX interrupt mitigation
are different for AR9003 and AR9002 families.
Signed-off-by: default avatarSujith Manoharan <c_manoha@qca.qualcomm.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7f6d7407
...@@ -358,6 +358,14 @@ static void ath9k_hw_init_config(struct ath_hw *ah) ...@@ -358,6 +358,14 @@ static void ath9k_hw_init_config(struct ath_hw *ah)
ah->config.rx_intr_mitigation = true; ah->config.rx_intr_mitigation = true;
if (AR_SREV_9300_20_OR_LATER(ah)) {
ah->config.rimt_last = 500;
ah->config.rimt_first = 2000;
} else {
ah->config.rimt_last = 250;
ah->config.rimt_first = 700;
}
/* /*
* We need this for PCI devices only (Cardbus, PCI, miniPCI) * We need this for PCI devices only (Cardbus, PCI, miniPCI)
* _and_ if on non-uniprocessor systems (Multiprocessor/HT). * _and_ if on non-uniprocessor systems (Multiprocessor/HT).
...@@ -1876,8 +1884,8 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan, ...@@ -1876,8 +1884,8 @@ int ath9k_hw_reset(struct ath_hw *ah, struct ath9k_channel *chan,
REG_WRITE(ah, AR_OBS, 8); REG_WRITE(ah, AR_OBS, 8);
if (ah->config.rx_intr_mitigation) { if (ah->config.rx_intr_mitigation) {
REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, 500); REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_LAST, ah->config.rimt_last);
REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, 2000); REG_RMW_FIELD(ah, AR_RIMT, AR_RIMT_FIRST, ah->config.rimt_first);
} }
if (ah->config.tx_intr_mitigation) { if (ah->config.tx_intr_mitigation) {
......
...@@ -310,6 +310,8 @@ struct ath9k_ops_config { ...@@ -310,6 +310,8 @@ struct ath9k_ops_config {
u8 max_txtrig_level; u8 max_txtrig_level;
u16 ani_poll_interval; /* ANI poll interval in ms */ u16 ani_poll_interval; /* ANI poll interval in ms */
u16 hw_hang_checks; u16 hw_hang_checks;
u16 rimt_first;
u16 rimt_last;
/* Platform specific config */ /* Platform specific config */
u32 aspm_l1_fix; u32 aspm_l1_fix;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment