diff options
author | Hauke Mehrtens <hauke@hauke-m.de> | 2013-03-21 15:28:40 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2013-03-25 16:47:06 -0400 |
commit | 64513ef449e3beaacb801d41467f47642683e35a (patch) | |
tree | 4769c86ad5c5ca0ab6e3c3d55c5c2a40533275e3 /drivers/net/wireless/b43 | |
parent | 7e4235acfcb640d15a677721f9e7656a123eafa5 (diff) |
b43: remove warning for LP-PHY with sprom < 8
The BCM5354 SoC has a build in ieee80211 core rev 13 with a LP-PHY on
it. This devices has a sprom version 3 stored in the nvram. This patch
removes the warning and uses the opo values from the sprom as mentioned
in the specs.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43')
-rw-r--r-- | drivers/net/wireless/b43/phy_lp.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/net/wireless/b43/phy_lp.c b/drivers/net/wireless/b43/phy_lp.c index 3ae28561f7a4..5ed352ddae9e 100644 --- a/drivers/net/wireless/b43/phy_lp.c +++ b/drivers/net/wireless/b43/phy_lp.c | |||
@@ -104,14 +104,8 @@ static void lpphy_read_band_sprom(struct b43_wldev *dev) | |||
104 | maxpwr = sprom->maxpwr_bg; | 104 | maxpwr = sprom->maxpwr_bg; |
105 | lpphy->max_tx_pwr_med_band = maxpwr; | 105 | lpphy->max_tx_pwr_med_band = maxpwr; |
106 | cckpo = sprom->cck2gpo; | 106 | cckpo = sprom->cck2gpo; |
107 | /* | ||
108 | * We don't read SPROM's opo as specs say. On rev8 SPROMs | ||
109 | * opo == ofdm2gpo and we don't know any SSB with LP-PHY | ||
110 | * and SPROM rev below 8. | ||
111 | */ | ||
112 | B43_WARN_ON(sprom->revision < 8); | ||
113 | ofdmpo = sprom->ofdm2gpo; | ||
114 | if (cckpo) { | 107 | if (cckpo) { |
108 | ofdmpo = sprom->ofdm2gpo; | ||
115 | for (i = 0; i < 4; i++) { | 109 | for (i = 0; i < 4; i++) { |
116 | lpphy->tx_max_rate[i] = | 110 | lpphy->tx_max_rate[i] = |
117 | maxpwr - (ofdmpo & 0xF) * 2; | 111 | maxpwr - (ofdmpo & 0xF) * 2; |
@@ -124,11 +118,11 @@ static void lpphy_read_band_sprom(struct b43_wldev *dev) | |||
124 | ofdmpo >>= 4; | 118 | ofdmpo >>= 4; |
125 | } | 119 | } |
126 | } else { | 120 | } else { |
127 | ofdmpo &= 0xFF; | 121 | u8 opo = sprom->opo; |
128 | for (i = 0; i < 4; i++) | 122 | for (i = 0; i < 4; i++) |
129 | lpphy->tx_max_rate[i] = maxpwr; | 123 | lpphy->tx_max_rate[i] = maxpwr; |
130 | for (i = 4; i < 15; i++) | 124 | for (i = 4; i < 15; i++) |
131 | lpphy->tx_max_rate[i] = maxpwr - ofdmpo; | 125 | lpphy->tx_max_rate[i] = maxpwr - opo; |
132 | } | 126 | } |
133 | } else { /* 5GHz */ | 127 | } else { /* 5GHz */ |
134 | lpphy->tx_isolation_low_band = sprom->tri5gl; | 128 | lpphy->tx_isolation_low_band = sprom->tri5gl; |