aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/b43/phy.c
AgeCommit message (Collapse)Author
2008-05-14b43: use the bitrev helpers rather than rolling a private oneHarvey Harrison
The 4-bit reversal flip_4bit is replaced with the bitrev helper bitrev8 and a 4-bit shift. The B43_WARN is moved to the location where a register is read from for checking there. The other caller explicitly passes an array index which is guaranteed to be within range and so a B43_WARN is not added there. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Reviewed-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-05-14b43: replace limit_value macro with clamp_valHarvey Harrison
kernel-provided clamp_val is identical, delete the private limit_value helper. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Cc: Michael Buesch <mb@bu3sch.de> Cc: "John W. Linville" <linville@tuxdriver.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-05-07b43: Remove some dead codeMichael Buesch
This patch removes some dead code from the driver. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-05-07b43: Rewrite LO calibration algorithmMichael Buesch
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-04-23b43: Fix HostFlags data typesMichael Buesch
The HostFlags are a bitmask of 48bit. So we must use an u64 datatype to hold all bits. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-03-13b43: phy.c fix typo in register writeHarvey Harrison
Commit 61bca6eb85c863603d6054530e2f65c3b9aba85b b43: rewrite A PHY initialization has a typo, the result of the register read should be masked, not the register offset. Signed-off-by: Harvey Harrison <harvey.harrison@gmail.com> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: Add NPHY channel switch codeMichael Buesch
This adds code and table data for channel switching on NPHYs. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: Add NPHY radio init codeMichael Buesch
This adds some code to init the 2055 radio. This patch adds two files "tables_nphy.h" and "tables_nphy.c" Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: Remove the PHY spinlockMichael Buesch
This fixes a sparse warning about weird locking. The spinlock is not needed, so simply remove it. This also adds some sanity checks to the PHY and radio locking to protect against recursive locking. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: Fix PHY register routingMichael Buesch
This fixes the PHY routing bit handling. This is needed for N-PHY. No functional change to A-PHY and G-PHY code. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: Add N-PHY register definitionsMichael Buesch
This patch adds all register definitions for the N-PHY. This adds two new files: nphy.h and nphy.c No functional changes to existing code. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: Convert to use of the new SPROM structureLarry Finger
The b43 driver is modified to use the new SPROM structure. Signed-off-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43/b43legacy: fix my copyright noticesStefano Brivio
Fix my copyright notices in b43 and b43legacy. Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Cc: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2008-01-28b43: rewrite A PHY initializationStefano Brivio
Rewrite and sync A PHY initialization with specs, thus allowing for further work to be done on 802.11a support. Note that A PHY initialization involves G PHYs as well. Signed-off-by: Stefano Brivio <stefano.brivio@polimi.it> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-11-29drivers/net/wireless: Add missing "space"Joe Perches
Signed-off-by: Joe Perches <joe@perches.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
2007-10-13b43 wireless needs <linux/io.h>Geert Uytterhoeven
b43 wireless needs <linux/io.h> linux/drivers/net/wireless/b43/pio.h: In function 'b43_pio_write': linux/drivers/net/wireless/b43/pio.h:89: error: implicit declaration of function 'mmiowb' linux/drivers/net/wireless/b43/phy.c: In function 'b43_phy_write': linux/drivers/net/wireless/b43/phy.c:301: error: implicit declaration of function 'mmiowb' linuxdrivers/net/wireless/b43/sysfs.c: In function 'b43_attr_interfmode_store': linuxdrivers/net/wireless/b43/sysfs.c:147: error: implicit declaration of function 'mmiowb' Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2007-10-10[B43]: RF-kill supportMichael Buesch
This adds full support for the RFKILL button and the RFKILL LED trigger. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10[B43]: Support for turning the radio off from software.Michael Buesch
This adds support for turning the radio off in software. That's useful in environments, where you don't want the RF to radiate any signals, but don't want to bring the interface down. Cc: Larry Finger <larry.finger@lwfinger.net> Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
2007-10-10[B43]: add mac80211-based driver for modern BCM43xx devicesMichael Buesch
Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>