Search Linux Wireless

Re: [PATCH] rtl8187b: do not do per packet TX AGC

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

 



On Thu, 28 Oct 2010 20:01:00 -0200
Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx> wrote:

> Clearing the per packet TX AGC for the RTL8187B device appears to
> increase its overall TX power. This allows the device to associate and a
> connection to be established using APs a little further away.
> 
> This is in accordance to what is done for RTL8187L devices and also what
> Realtek drivers do.
> 
> Tested-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx>
> Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo@xxxxxxxxxxxxxx>
> Cc: linux-wireless@xxxxxxxxxxxxxxx
> Cc: Larry Finger <Larry.Finger@xxxxxxxxxxxx>
> Cc: Rogerio Luz Coelho <rogluz.news@xxxxxxxxx>
> Cc: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>
> Cc: Hin-Tak Leung <hintak.leung@xxxxxxxxx>
> Cc: seno <senada@xxxxxxxxxxx>

Tested-by: Herton Ronaldo Krzesinski <herton@xxxxxxxxxxxxxxx>

> ---
>  drivers/net/wireless/rtl818x/rtl8187_dev.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/wireless/rtl818x/rtl8187_dev.c b/drivers/net/wireless/rtl818x/rtl8187_dev.c
> index 38fa824..6e26149 100644
> --- a/drivers/net/wireless/rtl818x/rtl8187_dev.c
> +++ b/drivers/net/wireless/rtl818x/rtl8187_dev.c
> @@ -775,10 +775,6 @@ static int rtl8187b_init_hw(struct ieee80211_hw *dev)
>  	reg = rtl818x_ioread8(priv, &priv->map->CW_CONF);
>  	reg |= RTL818X_CW_CONF_PERPACKET_RETRY_SHIFT;
>  	rtl818x_iowrite8(priv, &priv->map->CW_CONF, reg);
> -	reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
> -	reg |= RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT |
> -	       RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT;
> -	rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg);
>  
>  	rtl818x_iowrite16_idx(priv, (__le16 *)0xFFE0, 0x0FFF, 1);
>  
> @@ -929,6 +925,12 @@ static int rtl8187_start(struct ieee80211_hw *dev)
>  		priv->rx_conf = reg;
>  		rtl818x_iowrite32(priv, &priv->map->RX_CONF, reg);
>  
> +		reg = rtl818x_ioread8(priv, &priv->map->TX_AGC_CTL);
> +		reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_GAIN_SHIFT;
> +		reg &= ~RTL818X_TX_AGC_CTL_PERPACKET_ANTSEL_SHIFT;
> +		reg &= ~RTL818X_TX_AGC_CTL_FEEDBACK_ANT;
> +		rtl818x_iowrite8(priv, &priv->map->TX_AGC_CTL, reg);
> +
>  		rtl818x_iowrite32(priv, &priv->map->TX_CONF,
>  				  RTL818X_TX_CONF_HW_SEQNUM |
>  				  RTL818X_TX_CONF_DISREQQSIZE |
> -- 
> 1.7.1
> 


-- 
[]'s
Herton
--
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 Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]
  Powered by Linux