aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/tables_lpphy.c
diff options
context:
space:
mode:
authorGábor Stefanik <netrolller.3d@gmail.com>2009-08-18 19:18:13 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-08-20 11:36:07 -0400
commit5904d2067680e9bb73a4816fa6b9eec49355c9c8 (patch)
tree8bb02d8a1e824ace7892c2e6a63758a989185f79 /drivers/net/wireless/b43/tables_lpphy.c
parent16a832e785820aa199641c77b2d6f4a443d2ec46 (diff)
downloadkernel_samsung_tuna-5904d2067680e9bb73a4816fa6b9eec49355c9c8.zip
kernel_samsung_tuna-5904d2067680e9bb73a4816fa6b9eec49355c9c8.tar.gz
kernel_samsung_tuna-5904d2067680e9bb73a4816fa6b9eec49355c9c8.tar.bz2
b43: LP-PHY: Implement spec updates and remove resolved FIXMEs
Larry has started re-checking all current routines against a new version of the Broadcom MIPS driver. This patch implements the first round of changes he documented on the specs wiki. Also remove a few FIXMEs regarding missing initial values for variables with dynamic initial values where reading the values has been implemented. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/tables_lpphy.c')
-rw-r--r--drivers/net/wireless/b43/tables_lpphy.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/drivers/net/wireless/b43/tables_lpphy.c b/drivers/net/wireless/b43/tables_lpphy.c
index 2721310..60d472f 100644
--- a/drivers/net/wireless/b43/tables_lpphy.c
+++ b/drivers/net/wireless/b43/tables_lpphy.c
@@ -2367,7 +2367,17 @@ static void lpphy_rev2plus_write_gain_table(struct b43_wldev *dev, int offset,
tmp = data.pad << 16;
tmp |= data.pga << 8;
tmp |= data.gm;
- tmp |= 0x7f000000;
+ if (dev->phy.rev >= 3) {
+ if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+ tmp |= 0x10 << 24;
+ else
+ tmp |= 0x70 << 24;
+ } else {
+ if (b43_current_band(dev->wl) == IEEE80211_BAND_5GHZ)
+ tmp |= 0x14 << 24;
+ else
+ tmp |= 0x7F << 24;
+ }
b43_lptab_write(dev, B43_LPTAB32(7, 0xC0 + offset), tmp);
tmp = data.bb_mult << 20;
tmp |= data.dac << 28;