diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2011-03-28 07:33:40 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-04-04 16:20:03 -0400 |
commit | 9e33a3553821418b2c4f53d09311476c55176b13 (patch) | |
tree | fa0538ca1775be5b598949b2418721268e0ece53 /drivers/net/wireless/rt2x00/rt2x00dev.c | |
parent | 2f2bb7e8bdc977c94cdaaf84328526555eba89b1 (diff) |
rt2x00: Implement tx power temperature compensation
rt2800 devices should adjust their tx power in accordance with the
eeproms temperature calibration values. Add a new driver callback
gain_calibration that is called every 4 seconds.
The rt2800 gain calibration routine simply runs the tx power
configuration that takes care of calculating the temperature
compensation delta.
We don't need to synchronize the calls to rt2800_config_txpower
as they should all happen from mac80211's single threaded workqueue.
Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/rt2x00/rt2x00dev.c')
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00dev.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c index 55c1d0332b2..a98c4348523 100644 --- a/drivers/net/wireless/rt2x00/rt2x00dev.c +++ b/drivers/net/wireless/rt2x00/rt2x00dev.c | |||
@@ -71,6 +71,7 @@ int rt2x00lib_enable_radio(struct rt2x00_dev *rt2x00dev) | |||
71 | */ | 71 | */ |
72 | rt2x00queue_start_queues(rt2x00dev); | 72 | rt2x00queue_start_queues(rt2x00dev); |
73 | rt2x00link_start_tuner(rt2x00dev); | 73 | rt2x00link_start_tuner(rt2x00dev); |
74 | rt2x00link_start_agc(rt2x00dev); | ||
74 | 75 | ||
75 | /* | 76 | /* |
76 | * Start watchdog monitoring. | 77 | * Start watchdog monitoring. |
@@ -93,6 +94,7 @@ void rt2x00lib_disable_radio(struct rt2x00_dev *rt2x00dev) | |||
93 | /* | 94 | /* |
94 | * Stop all queues | 95 | * Stop all queues |
95 | */ | 96 | */ |
97 | rt2x00link_stop_agc(rt2x00dev); | ||
96 | rt2x00link_stop_tuner(rt2x00dev); | 98 | rt2x00link_stop_tuner(rt2x00dev); |
97 | rt2x00queue_stop_queues(rt2x00dev); | 99 | rt2x00queue_stop_queues(rt2x00dev); |
98 | rt2x00queue_flush_queues(rt2x00dev, true); | 100 | rt2x00queue_flush_queues(rt2x00dev, true); |