android_kernel_xiaomi_sdm845/drivers/net/wireless/b43
Michael Buesch f5eda47f45 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>
2008-05-07 15:02:12 -04:00
..
b43.h b43: Fix some TX/RX locking issues 2008-05-01 17:38:18 -04:00
debugfs.c b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
debugfs.h b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
dma.c b43: Workaround DMA quirks 2008-04-23 21:25:36 -04:00
dma.h b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
Kconfig b43: Use SSB block-I/O to do PIO 2008-04-08 16:44:41 -04:00
leds.c PM: Remove destroy_suspended_device() 2008-04-19 19:10:28 -07:00
leds.h [B43]: LED triggers support 2007-10-10 16:54:11 -07:00
lo.c b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
lo.h b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
main.c b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
main.h b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
Makefile b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
nphy.c b43: Add more N-PHY stuff 2008-04-08 16:44:41 -04:00
nphy.h b43: Don't compile N-PHY code when N-PHY is disabled 2008-03-25 16:41:59 -04:00
pcmcia.c ssb: Turn suspend/resume upside down 2008-04-08 15:05:57 -04:00
pcmcia.h [B43]: add mac80211-based driver for modern BCM43xx devices 2007-10-10 16:51:37 -07:00
phy.c b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
phy.h b43: Rewrite LO calibration algorithm 2008-05-07 15:02:12 -04:00
pio.c b43: Use SSB block-I/O to do PIO 2008-04-08 16:44:41 -04:00
pio.h b43: Add PIO support for PCMCIA devices 2008-04-08 15:05:56 -04:00
rfkill.c b43: fix use-after-free rfkill bug 2008-01-16 12:53:32 -05:00
rfkill.h b43: Rewrite and fix rfkill init 2007-11-10 04:25:12 -05:00
sysfs.c cfg80211 API for channels/bitrates, mac80211 and driver conversion 2008-02-29 15:19:32 -05:00
sysfs.h [B43]: add mac80211-based driver for modern BCM43xx devices 2007-10-10 16:51:37 -07:00
tables_nphy.c b43: Add lots of N-PHY lookup tables 2008-01-28 15:10:03 -08:00
tables_nphy.h b43: Add lots of N-PHY lookup tables 2008-01-28 15:10:03 -08:00
tables.c b43: Fix for broken transmission 2008-01-28 15:05:59 -08:00
tables.h b43: rewrite A PHY initialization 2008-01-28 15:04:31 -08:00
wa.c b43: pull out helpers for writing noise table 2008-03-13 16:02:33 -04:00
wa.h b43: rewrite A PHY initialization 2008-01-28 15:04:31 -08:00
xmit.c mac80211: Replace ieee80211_tx_control->key_idx with ieee80211_key_conf 2008-05-07 15:02:11 -04:00
xmit.h b43: Add more N-PHY stuff 2008-04-08 16:44:41 -04:00