Search Linux Wireless

Re: [PATCH 4/5] ath9k_hw: fix tx gain table index for AR953x

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2014-06-24 13:37, Rajkumar Manoharan wrote:
> Fix tx gain table index on fast channel change for AR953x.
> 
> Signed-off-by: Rajkumar Manoharan <rmanohar@xxxxxxxxxxxxxxxx>
> ---
>  drivers/net/wireless/ath/ath9k/ar9003_phy.c | 14 ++++++++++----
>  1 file changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/wireless/ath/ath9k/ar9003_phy.c b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
> index 8927fc3..1ef17e1 100644
> --- a/drivers/net/wireless/ath/ath9k/ar9003_phy.c
> +++ b/drivers/net/wireless/ath/ath9k/ar9003_phy.c
> @@ -1552,12 +1552,15 @@ static int ar9003_hw_fast_chan_change(struct ath_hw *ah,
>  				      u8 *ini_reloaded)
>  {
>  	unsigned int regWrites = 0;
> -	u32 modesIndex;
> +	u32 modesIndex, txgain_index = 0;
>  
> -	if (IS_CHAN_5GHZ(chan))
> +	if (IS_CHAN_5GHZ(chan)) {
>  		modesIndex = IS_CHAN_HT40(chan) ? 2 : 1;
> -	else
> +	} else {
> +		if (AR_SREV_9531(ah))
> +			txgain_index = 1;
>  		modesIndex = IS_CHAN_HT40(chan) ? 3 : 4;
> +	}

How about putting this here:
	if (AR_SREV_9531(ah))
		txgain_index = 1;
	else
		txgain_index = modesIndex;

>  
>  	if (modesIndex == ah->modes_index) {
>  		*ini_reloaded = false;
> @@ -1573,7 +1576,10 @@ static int ar9003_hw_fast_chan_change(struct ath_hw *ah,
>  		ar9003_hw_prog_ini(ah, &ah->ini_radio_post_sys2ant,
>  				   modesIndex);
>  
> -	REG_WRITE_ARRAY(&ah->iniModesTxGain, modesIndex, regWrites);
> +	if (AR_SREV_9531(ah))
> +		REG_WRITE_ARRAY(&ah->iniModesTxGain, txgain_index, regWrites);
> +	else
> +		REG_WRITE_ARRAY(&ah->iniModesTxGain, modesIndex, regWrites);
And then we can change this part to always use txgain_index instead of
modesIndex, without the extra SREV check.

- Felix
--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux