diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2014-04-20 07:05:51 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-04-22 15:06:34 -0400 |
commit | 557579279f5f783fa86295cf767a19f9e98bb62d (patch) | |
tree | 23361ef430480599645a6555fd2936bcc7e0bb32 | |
parent | c7ebe237e0bf8960f9b764c5fc51f6448fa48cc7 (diff) |
b43: N-PHY: enable forgotten write of hw power adjust table
We've implemented table calculation, but forgot to enable writing it in
power setup function.
By the way document table layout.
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/b43/phy_n.c | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index 291b38c45420..482b31210d28 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c | |||
@@ -3400,6 +3400,20 @@ static void b43_nphy_tx_prepare_adjusted_power_table(struct b43_wldev *dev) | |||
3400 | u8 idx, delta; | 3400 | u8 idx, delta; |
3401 | u8 i, stf_mode; | 3401 | u8 i, stf_mode; |
3402 | 3402 | ||
3403 | /* Array adj_pwr_tbl corresponds to the hardware table. It consists of | ||
3404 | * 21 groups, each containing 4 entries. | ||
3405 | * | ||
3406 | * First group has entries for CCK modulation. | ||
3407 | * The rest of groups has 1 entry per modulation (SISO, CDD, STBC, SDM). | ||
3408 | * | ||
3409 | * Group 0 is for CCK | ||
3410 | * Groups 1..4 use BPSK (group per coding rate) | ||
3411 | * Groups 5..8 use QPSK (group per coding rate) | ||
3412 | * Groups 9..12 use 16-QAM (group per coding rate) | ||
3413 | * Groups 13..16 use 64-QAM (group per coding rate) | ||
3414 | * Groups 17..20 are unknown | ||
3415 | */ | ||
3416 | |||
3403 | for (i = 0; i < 4; i++) | 3417 | for (i = 0; i < 4; i++) |
3404 | nphy->adj_pwr_tbl[i] = nphy->tx_power_offset[i]; | 3418 | nphy->adj_pwr_tbl[i] = nphy->tx_power_offset[i]; |
3405 | 3419 | ||
@@ -3598,10 +3612,8 @@ static void b43_nphy_tx_power_ctl_setup(struct b43_wldev *dev) | |||
3598 | } | 3612 | } |
3599 | 3613 | ||
3600 | b43_nphy_tx_prepare_adjusted_power_table(dev); | 3614 | b43_nphy_tx_prepare_adjusted_power_table(dev); |
3601 | /* | ||
3602 | b43_ntab_write_bulk(dev, B43_NTAB16(26, 64), 84, nphy->adj_pwr_tbl); | 3615 | b43_ntab_write_bulk(dev, B43_NTAB16(26, 64), 84, nphy->adj_pwr_tbl); |
3603 | b43_ntab_write_bulk(dev, B43_NTAB16(27, 64), 84, nphy->adj_pwr_tbl); | 3616 | b43_ntab_write_bulk(dev, B43_NTAB16(27, 64), 84, nphy->adj_pwr_tbl); |
3604 | */ | ||
3605 | 3617 | ||
3606 | if (nphy->hang_avoid) | 3618 | if (nphy->hang_avoid) |
3607 | b43_nphy_stay_in_carrier_search(dev, false); | 3619 | b43_nphy_stay_in_carrier_search(dev, false); |