diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/ath/ath9k/hw.c | 10 | ||||
-rw-r--r-- | drivers/net/wireless/ath/ath9k/phy.h | 3 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/hw.c b/drivers/net/wireless/ath/ath9k/hw.c index ae371448b5a0..7c64aa521a10 100644 --- a/drivers/net/wireless/ath/ath9k/hw.c +++ b/drivers/net/wireless/ath/ath9k/hw.c | |||
@@ -1345,6 +1345,16 @@ static void ath9k_hw_override_ini(struct ath_hw *ah, | |||
1345 | * Necessary to avoid issues on AR5416 2.0 | 1345 | * Necessary to avoid issues on AR5416 2.0 |
1346 | */ | 1346 | */ |
1347 | REG_WRITE(ah, 0x9800 + (651 << 2), 0x11); | 1347 | REG_WRITE(ah, 0x9800 + (651 << 2), 0x11); |
1348 | |||
1349 | /* | ||
1350 | * Disable RIFS search on some chips to avoid baseband | ||
1351 | * hang issues. | ||
1352 | */ | ||
1353 | if (AR_SREV_9100(ah) || AR_SREV_9160(ah)) { | ||
1354 | val = REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS); | ||
1355 | val &= ~AR_PHY_RIFS_INIT_DELAY; | ||
1356 | REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val); | ||
1357 | } | ||
1348 | } | 1358 | } |
1349 | 1359 | ||
1350 | static u32 ath9k_hw_def_ini_fixup(struct ath_hw *ah, | 1360 | static u32 ath9k_hw_def_ini_fixup(struct ath_hw *ah, |
diff --git a/drivers/net/wireless/ath/ath9k/phy.h b/drivers/net/wireless/ath/ath9k/phy.h index 31de27dc0c4a..0999a495fd46 100644 --- a/drivers/net/wireless/ath/ath9k/phy.h +++ b/drivers/net/wireless/ath/ath9k/phy.h | |||
@@ -384,6 +384,9 @@ bool ath9k_hw_set_rf_regs(struct ath_hw *ah, | |||
384 | 384 | ||
385 | #define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0 | 385 | #define AR_PHY_HEAVY_CLIP_ENABLE 0x99E0 |
386 | 386 | ||
387 | #define AR_PHY_HEAVY_CLIP_FACTOR_RIFS 0x99EC | ||
388 | #define AR_PHY_RIFS_INIT_DELAY 0x03ff0000 | ||
389 | |||
387 | #define AR_PHY_M_SLEEP 0x99f0 | 390 | #define AR_PHY_M_SLEEP 0x99f0 |
388 | #define AR_PHY_REFCLKDLY 0x99f4 | 391 | #define AR_PHY_REFCLKDLY 0x99f4 |
389 | #define AR_PHY_REFCLKPD 0x99f8 | 392 | #define AR_PHY_REFCLKPD 0x99f8 |