b43: LP-PHY: Initialize SW TX power control
RFC 1/1 b43: LP-PHY: Initialize SW TX power control
I'm not sure at all if writing to offset 0 in the TX gain table is the right thing to do... please clarify.
---
If this is indeed the right thing to do, please inform me, and I will resubmit this as a formal patch.
phy_lp.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
drivers/net/wireless/b43/phy_lp.c +0 -0
@@ -847,15 +847,23 @@ static void lpphy_calibration(struct b43_wldev *dev)
/* Initialize TX power control */
static void lpphy_tx_pctl_init(struct b43_wldev *dev) {
+ lpphy_tx_gain_table_entry txgain;
if (0/*FIXME HWPCTL capable */) {
//TODO
} else { /* This device is only software TX power control capable. */
+ txgain.bb_mult = 0x96;
if (b43_current_band(dev->wl) == IEEE80211_BAND_2GHZ) {- //TODO
+ txgain.gm = 4;
+ txgain.pad = 12;
+ txgain.pga = 12;
+ txgain.dac = 0;
} else {- //TODO
- }
- //TODO set BB multiplier to 0x0096
+ txgain.gm = 7;
+ txgain.pad = 15;
+ txgain.pga = 14;
+ txgain.dac = 0;
+ } // FIXME offset 0 is just a guess!
+ lpphy_write_gain_table(dev, 0, txgain); } }
Quoted 29 lines · Gábor Stefanik
I'm not sure at all if writing to offset 0 in the TX gain table is the right thing to do... please clarify.
Not-yet-signed-off-by Gábor Stefanik <[email protected]>---
If this is indeed the right thing to do, please inform me, and I will resubmit this as a formal patch.
phy_lp.c| 16 ++++++++++++----1 file changed, 12 insertions(+), 4 deletions(-)drivers/net/wireless/b43/phy_lp.c +3
-1@@ -847,15 +847,23 @@ static void lpphy_calibration(struct b43_wldev *dev)/* Initialize TX power control */ static void lpphy_tx_pctl_init (struct b43_wldev *dev) { +lpphy_tx_gain_table_entry txgain;if (0 /*FIXME HWPCTL capable */ ) {//TODO }else {/* This device is only software TX power control capable. */ + txgain.bb_mult =0x96 ;if (b43_current_band (dev->wl) ==IEEE80211_BAND_2GHZ ) { -//TODO + txgain.gm =4 ;
drivers/net/wireless/b43/phy_lp.c static void lpphy_calibration(struct b43_wldev *dev) · line 863
Quoted 10 lines
drivers/net/wireless/b43/phy_lp.c +6
-3+ txgain.pad =12 ; + txgain.pga =12 ; + txgain.dac =0 ; }else { -//TODO - } -//TODO set BB multiplier to 0x0096 + txgain.gm =7 ; + txgain.pad =15 ; + txgain.pga =14 ;
I found a typo in the specs today. The pad should be 14 and pga should be 15.
drivers/net/wireless/b43/phy_lp.c static void lpphy_calibration(struct b43_wldev *dev) · line 866
Quoted 3 lines
drivers/net/wireless/b43/phy_lp.c +3
-0+ txgain.dac =0 ; + }// FIXME offset 0 is just a guess! +lpphy_write_gain_table (dev,0 , txgain);
The link was wrong in the page. The correct routine is
http://bcm-v4.sipsolutions.net/802.11/PHY/LP/SetTXGain. It has one argument &txgain. I don't think this one has been written yet.
Larry