ath9k: disable RIFS search on some chips to avoid baseband hangs
SVN-Revision: 19829
This commit is contained in:
		
							parent
							
								
									0ab4d7e848
								
							
						
					
					
						commit
						e08dd936ef
					
				
							
								
								
									
										31
									
								
								package/mac80211/patches/550-ath9k_rifs_disable.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								package/mac80211/patches/550-ath9k_rifs_disable.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,31 @@
 | 
			
		||||
--- a/drivers/net/wireless/ath/ath9k/hw.c
 | 
			
		||||
+++ b/drivers/net/wireless/ath/ath9k/hw.c
 | 
			
		||||
@@ -1326,6 +1326,16 @@ static void ath9k_hw_override_ini(struct
 | 
			
		||||
 	 * Necessary to avoid issues on AR5416 2.0
 | 
			
		||||
 	 */
 | 
			
		||||
 	REG_WRITE(ah, 0x9800 + (651 << 2), 0x11);
 | 
			
		||||
+
 | 
			
		||||
+	/*
 | 
			
		||||
+	 * Disable RIFS search on some chips to avoid baseband
 | 
			
		||||
+	 * hang issues.
 | 
			
		||||
+	 */
 | 
			
		||||
+	if (AR_SREV_9100(ah) || AR_SREV_9160(ah)) {
 | 
			
		||||
+		val = REG_READ(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS);
 | 
			
		||||
+		val &= ~AR_PHY_RIFS_INIT_DELAY;
 | 
			
		||||
+		REG_WRITE(ah, AR_PHY_HEAVY_CLIP_FACTOR_RIFS, val);
 | 
			
		||||
+	}
 | 
			
		||||
 }
 | 
			
		||||
 
 | 
			
		||||
 static u32 ath9k_hw_def_ini_fixup(struct ath_hw *ah,
 | 
			
		||||
--- 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 
 | 
			
		||||
 
 | 
			
		||||
 #define AR_PHY_HEAVY_CLIP_ENABLE         0x99E0
 | 
			
		||||
 
 | 
			
		||||
+#define AR_PHY_HEAVY_CLIP_FACTOR_RIFS    0x99EC
 | 
			
		||||
+#define AR_PHY_RIFS_INIT_DELAY         0x03ff0000
 | 
			
		||||
+
 | 
			
		||||
 #define AR_PHY_M_SLEEP      0x99f0
 | 
			
		||||
 #define AR_PHY_REFCLKDLY    0x99f4
 | 
			
		||||
 #define AR_PHY_REFCLKPD     0x99f8
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user