aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/nphy.c
diff options
context:
space:
mode:
authorMichael Buesch <mb@bu3sch.de>2008-08-28 13:33:40 -0400
committerJohn W. Linville <linville@tuxdriver.com>2008-08-29 16:24:13 -0400
commit18c8adeb0244f823ba78a51e23f813fe68bc3c54 (patch)
tree1b294669d04c207d8e90b5807780fe4eb81778d9 /drivers/net/wireless/b43/nphy.c
parentef1a628d83fc0423c36e773281162be790503168 (diff)
b43: Rewrite TX power adjustment
This patch rewrites the TX power recalculation algorithms to scale better with changed enviromnent. If there's low TX traffic, the power will be checked against the desired values every 60 seconds. If there is high TX traffic, the check is redone every 2 seconds. This improves the reaction times a lot and confuses the rate control less. It will also reduce the time it initially takes to tune to a new TX power value. With the old algorithm it could take about 30 to 45 seconds to settle to a new power value. This will happen in about two to four seconds now. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/nphy.c')
-rw-r--r--drivers/net/wireless/b43/nphy.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/net/wireless/b43/nphy.c b/drivers/net/wireless/b43/nphy.c
index 831986c459f8..4cfeab8560f6 100644
--- a/drivers/net/wireless/b43/nphy.c
+++ b/drivers/net/wireless/b43/nphy.c
@@ -34,10 +34,16 @@ void b43_nphy_set_rxantenna(struct b43_wldev *dev, int antenna)
34{//TODO 34{//TODO
35} 35}
36 36
37void b43_nphy_xmitpower(struct b43_wldev *dev) 37static void b43_nphy_op_adjust_txpower(struct b43_wldev *dev)
38{//TODO 38{//TODO
39} 39}
40 40
41static enum b43_txpwr_result b43_nphy_op_recalc_txpower(struct b43_wldev *dev,
42 bool ignore_tssi)
43{//TODO
44 return B43_TXPWR_RES_DONE;
45}
46
41static void b43_chantab_radio_upload(struct b43_wldev *dev, 47static void b43_chantab_radio_upload(struct b43_wldev *dev,
42 const struct b43_nphy_channeltab_entry *e) 48 const struct b43_nphy_channeltab_entry *e)
43{ 49{
@@ -602,10 +608,6 @@ static unsigned int b43_nphy_op_get_default_chan(struct b43_wldev *dev)
602 return 36; 608 return 36;
603} 609}
604 610
605static void b43_nphy_op_xmitpower(struct b43_wldev *dev)
606{//TODO
607}
608
609const struct b43_phy_operations b43_phyops_n = { 611const struct b43_phy_operations b43_phyops_n = {
610 .allocate = b43_nphy_op_allocate, 612 .allocate = b43_nphy_op_allocate,
611 .init = b43_nphy_op_init, 613 .init = b43_nphy_op_init,
@@ -617,5 +619,6 @@ const struct b43_phy_operations b43_phyops_n = {
617 .software_rfkill = b43_nphy_op_software_rfkill, 619 .software_rfkill = b43_nphy_op_software_rfkill,
618 .switch_channel = b43_nphy_op_switch_channel, 620 .switch_channel = b43_nphy_op_switch_channel,
619 .get_default_chan = b43_nphy_op_get_default_chan, 621 .get_default_chan = b43_nphy_op_get_default_chan,
620 .xmitpower = b43_nphy_op_xmitpower, 622 .recalc_txpower = b43_nphy_op_recalc_txpower,
623 .adjust_txpower = b43_nphy_op_adjust_txpower,
621}; 624};