diff options
author | Michael Buesch <mb@bu3sch.de> | 2008-04-20 16:03:32 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2008-05-07 21:02:12 +0200 |
commit | f5eda47f45e90dfa38e25d569b9ac84ba94f8301 (patch) | |
tree | 5f806ae4729696cebef0bef0c261c6353b18045a /drivers/net/wireless/b43/main.h | |
parent | ssb: Allow reading of 440-byte SPROM that is not rev 4 (diff) | |
download | linux-f5eda47f45e90dfa38e25d569b9ac84ba94f8301.tar.xz linux-f5eda47f45e90dfa38e25d569b9ac84ba94f8301.zip |
b43: Rewrite LO calibration algorithm
This patch distributes the Local Oscillator calibration bursts over time,
so that calibration only happens when it's actually needed.
Currently we periodically perform a recalibration of the whole table.
The table is huge and this takes lots of time. Additionally only small bits
of the table are actually needed at a given time. So instead of maintaining
a huge table with all possible calibration values, we create dynamic calibration
settings that
a) We only calibrate when they are actually needed.
b) Are cached for some time until they expire.
So a recalibration might happen if we need a calibration setting that's not
cached, or if the active calibration setting expires.
Currently the expire timeout is set to 30 seconds. We may raise that in future.
This patch reduces overall memory consumption by nuking the
huge static calibration tables.
This patch has been tested on several 4306, 4311 and 4318 flavours.
Signed-off-by: Michael Buesch <mb@bu3sch.de>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/main.h')
-rw-r--r-- | drivers/net/wireless/b43/main.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/main.h b/drivers/net/wireless/b43/main.h index 5230aeca78bf..dad23c42b422 100644 --- a/drivers/net/wireless/b43/main.h +++ b/drivers/net/wireless/b43/main.h @@ -114,4 +114,7 @@ void b43_controller_restart(struct b43_wldev *dev, const char *reason); #define B43_PS_ASLEEP (1 << 3) /* Force device asleep */ void b43_power_saving_ctl_bits(struct b43_wldev *dev, unsigned int ps_flags); +void b43_mac_suspend(struct b43_wldev *dev); +void b43_mac_enable(struct b43_wldev *dev); + #endif /* B43_MAIN_H_ */ |