On Wed, 2009-01-14 at 15:58 +0800, YanBo wrote:
> Three functions about tx power control
>  b43_nphy_tx_power_fix() b43_nphy_tx_power_coeff_set()
> b43_nphy_tx_power_type_set()
> but remain lots of TODO cause not very clearly understand the SPECS
> 
> Signed-off-by: Li YanBo <[email protected]>
> ---
>  drivers/net/wireless/b43/phy_n.c |  195 
> +++++++++++++++++++++++++++++++++++++-
>  1 files changed, 194 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/net/wireless/b43/phy_n.c 
> b/drivers/net/wireless/b43/phy_n.c
> index 586e774..1330309 100644
> --- a/drivers/net/wireless/b43/phy_n.c
> +++ b/drivers/net/wireless/b43/phy_n.c
> @@ -82,9 +82,183 @@ static void b43_chantab_phy_upload(struct b43_wldev *dev,
>       b43_phy_write(dev, B43_NPHY_BW6, e->phy_bw6);
>  }
> 
> +enum b43_nphy_txpid {
> +     B43_N_5G_MEDIUM_FREQ = 0,
> +     B43_N_5G_LOW_FREQ,
> +     B43_N_5G_HIGH_FREQ,
> +     B43_N_2G_FREQ,
> +     /* Attent: currently we just using 2 txpid */
> +     B43_N_TXPID_MAX = 2,
> +};

> +     u32 txpid[B43_N_TXPID_MAX];
> +     int i;
> +
> +     if (nphy->havoid)
> +             b43_nphy_stay_carrier_search_enable(dev);
> +
> +     if (sprom->revision < 4)
> +             txpid[0] = txpid[1] = txpid[2] = txpid[3] = 0x48;

2, 3? This is a little odd. As I say on the wiki, "The txpid values are
two values, one for each radio core."

So you should do that B43_N_MAX_CORES == 2.

> +     else {
> +             /* TODO */
> +/*           if  (medium freq range, 5100..5499 mhz) */
> +/*                   txpid[B43_N_5G_MEDIUM_FREQ] = ; */
> +/*                   Use the txpid5ga values from the SPROM in the loop 
> below; */
> +/*           if  (low freq range, 4900..5099 mhz) */
> +/*                   txpid[B43_N_5G_LOW_FREQ] = ; */
> +/*                   Use the txpid5gal values from the SPROM in the loop 
> below; */
> +/*           if (high freq range, 5500.. mhz) */
> +/*                   txpid[B43_N_5G_HIGH_FREQ] = ; */
> +/*                   Use the txpid5gah values from the SPROM in the loop 
> below; */
> +/*           if  (2.4 GHz) */
> +/*                   txpid[B43_N_2G_FREQ] = ; */
> +/*                   Use the txpid2g values from the SPROM in the loop 
> below; */
> +     }
> +     if (phy->rev >= 3)
> +             txpid[0] = txpid[1] = txpid[2] = txpid[3] = 0x28;
> +
> +     for (i = 0; i < B43_N_TXPID_MAX; i++) {

So, this loop just sets up the tx power for each radio core.

johannes

Attachment: signature.asc
Description: This is a digitally signed message part

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

Reply via email to