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>
This commit is contained in:

gecommit door
John W. Linville

bovenliggende
2f2bb7e8bd
commit
9e33a35538
@@ -348,6 +348,11 @@ struct link {
|
||||
* to bring the device/driver back into the desired state.
|
||||
*/
|
||||
struct delayed_work watchdog_work;
|
||||
|
||||
/*
|
||||
* Work structure for scheduling periodic AGC adjustments.
|
||||
*/
|
||||
struct delayed_work agc_work;
|
||||
};
|
||||
|
||||
enum rt2x00_delayed_flags {
|
||||
@@ -556,6 +561,7 @@ struct rt2x00lib_ops {
|
||||
struct link_qual *qual);
|
||||
void (*link_tuner) (struct rt2x00_dev *rt2x00dev,
|
||||
struct link_qual *qual, const u32 count);
|
||||
void (*gain_calibration) (struct rt2x00_dev *rt2x00dev);
|
||||
|
||||
/*
|
||||
* Data queue handlers.
|
||||
|
Verwijs in nieuw issue
Block a user