On Wed, Jan 14, 2009 at 6:33 PM, Johannes Berg
<[email protected]> wrote:
> 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."
>
but why in the specs, it also mentioned txpid5ga, txpid5gl, txpid5gah
and txpid2g, is the three 5g value is just one value in fact? a bit
confuse?
> 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.
>
Yanbo
_______________________________________________
Bcm43xx-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev