On Mo, 2009-09-14 at 21:10 +0200, Gábor Stefanik wrote:
> The generic analog switch routine is not correct for LP-PHY according
> to the latest specs. Implement the proper analog core switch routine.
> 
> Signed-off-by: Gábor Stefanik <[email protected]>
> ---
> diff --git a/drivers/net/wireless/b43/phy_lp.c 
> b/drivers/net/wireless/b43/phy_lp.c
> index 80da9c7..b0e127a 100644
> --- a/drivers/net/wireless/b43/phy_lp.c
> +++ b/drivers/net/wireless/b43/phy_lp.c
> @@ -2160,6 +2160,16 @@ static int lpphy_b2063_tune(struct b43_w
>       return 0;
>  }
>  
> +static void b43_lpphy_op_switch_analog(struct b43_wldev *dev, bool on)
> +{
The spec says:
Else if this in an LP PHY 
     a. If argument "on" is zero 
             1. OR PHY Register 0x43C with 7 
                
             2. OR PHY Register 0x43B with 7 
                
> +     if (on) {
This stuff is executed when on is true (ie. anything else than zero)
> +             b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVRVAL, 0x7);
> +             b43_phy_set(dev, B43_LPPHY_AFE_CTL_OVR, 0x7);
> +     } else {
> +             b43_phy_mask(dev, B43_LPPHY_AFE_CTL_OVR, 0xFFF8);
> +     }
> +}
> +
>  static int b43_lpphy_op_switch_channel(struct b43_wldev *dev,
>                                      unsigned int new_channel)
>  {
> @@ -2239,7 +2249,7 @@ const struct b43_phy_operations b43_phyo
>       .radio_read             = b43_lpphy_op_radio_read,
>       .radio_write            = b43_lpphy_op_radio_write,
>       .software_rfkill        = b43_lpphy_op_software_rfkill,
> -     .switch_analog          = b43_phyop_switch_analog_generic,
> +     .switch_analog          = b43_lpphy_op_switch_analog,
>       .switch_channel         = b43_lpphy_op_switch_channel,
>       .get_default_chan       = b43_lpphy_op_get_default_chan,
>       .set_rx_antenna         = b43_lpphy_op_set_rx_antenna,
> 
> _______________________________________________
> Bcm43xx-dev mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to