diff options
Diffstat (limited to 'drivers/net/wireless/ath/ath9k/eeprom_4k.c')
| -rw-r--r-- | drivers/net/wireless/ath/ath9k/eeprom_4k.c | 14 | 
1 files changed, 14 insertions, 0 deletions
diff --git a/drivers/net/wireless/ath/ath9k/eeprom_4k.c b/drivers/net/wireless/ath/ath9k/eeprom_4k.c index 07b806c56c56..e5a78d4fd66e 100644 --- a/drivers/net/wireless/ath/ath9k/eeprom_4k.c +++ b/drivers/net/wireless/ath/ath9k/eeprom_4k.c @@ -748,6 +748,20 @@ static void ath9k_hw_4k_set_txpower(struct ath_hw *ah,  			  | ATH9K_POW_SM(ratesArray[rateDupCck], 0));  	} +	/* TPC initializations */ +	if (ah->tpc_enabled) { +		int ht40_delta; + +		ht40_delta = (IS_CHAN_HT40(chan)) ? ht40PowerIncForPdadc : 0; +		ar5008_hw_init_rate_txpower(ah, ratesArray, chan, ht40_delta); +		/* Enable TPC */ +		REG_WRITE(ah, AR_PHY_POWER_TX_RATE_MAX, +			MAX_RATE_POWER | AR_PHY_POWER_TX_RATE_MAX_TPC_ENABLE); +	} else { +		/* Disable TPC */ +		REG_WRITE(ah, AR_PHY_POWER_TX_RATE_MAX, MAX_RATE_POWER); +	} +  	REGWRITE_BUFFER_FLUSH(ah);  }  | 

