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
signature.asc
Description: This is a digitally signed message part
_______________________________________________ Bcm43xx-dev mailing list [email protected] https://lists.berlios.de/mailman/listinfo/bcm43xx-dev
