summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43
Commit message (Collapse)AuthorAgeFilesLines
* b43: Remove PIO RX workqueueMichael Buesch2009-09-083-34/+7
| | | | | | | | | This removes the PIO RX work. It's not needed anymore, because we can sleep in the threaded interrupt handler. Signed-off-by: Michael Buesch <mb@bu3sch.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Remove DMA/PIO queue locksMichael Buesch2009-09-084-60/+13
| | | | | | | | | This removes the DMA/PIO queue locks. Locking is handled by wl->mutex now. Signed-off-by: Michael Buesch <mb@bu3sch.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Remove TX spinlockMichael Buesch2009-09-082-37/+43
| | | | | | | | | This removes the TX spinlock and defers TX to a workqueue to allow locking wl->mutex instead and to allow sleeping for register accesses. Signed-off-by: Michael Buesch <mb@bu3sch.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Use a threaded IRQ handlerMichael Buesch2009-09-0811-221/+204
| | | | | | | | | | | | Use a threaded IRQ handler to allow locking the mutex and sleeping while executing an interrupt. This removes usage of the irq_lock spinlock, but introduces a new hardirq_lock, which is _only_ used for the PCI/SSB lowlevel hard-irq handler. Sleeping busses (SDIO) will use mutex instead. Signed-off-by: Michael Buesch <mb@bu3sch.de> Tested-by: Larry Finger <Larry.Finger@lwfinger.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix TX gain tablesGábor Stefanik2009-08-311-153/+153
| | | | | | | | | The rev1 2GHz and rev2 5GHz gain tables were incorrectly documented on the specs originally. Update these gaintables to match the cor- rected specs. Signed-off-by: Gábor Stefanik <netroller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix typo in modparam_btcoex descriptionGábor Stefanik2009-08-311-1/+1
| | | | | Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Add myself to module authors & to LP-PHY file copyright noticesGábor Stefanik2009-08-313-2/+5
| | | | | | | | Also mark the LP-PHY driver "802.11a/g" instead of "802.11g", as LP-PHY is capable of both 2GHz and 5GHz operation. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Refactor and update antenna diversity for A/G-PHYGábor Stefanik2009-08-312-65/+36
| | | | | | | | | -Make use of the b43_phy_set/mask/maskset helpers. -Fix a few errors in the code. -Make the code more readable. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Implement antenna diversity support for LP-PHYGábor Stefanik2009-08-285-9/+17
| | | | | | | | | | The A/G-PHY changes are fallout fixes from the enum change, which in turn allows the LP-PHY code to be much simpler. The antenna_to_phyctl change is a fix for a potential existing bug that this patch may otherwise trigger. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Enable LP-PHY support by default and remove Kconfig warningGábor Stefanik2009-08-281-3/+1
| | | | | | | | | | The most common LP-PHY device, BCM4312, is now fully functional. So, no need to say "probably won't work for you" anymore. It's also not "for debuggers and developers only", as it is perfectly usable for end-users now (at least for BCM4312). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Revert to the original PHY register write routineGábor Stefanik2009-08-281-1/+2
| | | | | | | | After some discussion on IRC about the PHY register write change, I am not sure anymore if this is the right thing to do. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* ssb: Implement PMU LDO control and use it in b43Gábor Stefanik2009-08-281-7/+3
| | | | | | | | Implement the "PMU LDO set voltage" and "PMU LDO PA ref enable" functions, and use them during LP-PHY baseband init in b43. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix and update LP-PHY codeGábor Stefanik2009-08-285-81/+122
| | | | | | | | | | | | | | | | | | | | -Fix a few nasty typos (b43_phy_* operations instead of b43_radio_*) in the channel tune routines. -Fix some typos & spec errors found by MMIO tracing. -Optimize b43_phy_write & b43_phy_mask/set/maskset to use only the minimal number of MMIO accesses. (Write is possible using a single 32-bit MMIO write, while set/mask/maskset can be done in 3 16-bit MMIOs). -Set the default channel back to 1, as the bug forcing us to use channel 7 is now fixed. With this, the device comes up, scans, associates, transmits, receives, monitors and injects on all channels - in other words, it's fully functional. Sensitivity and TX power are still sub-optimal, due to the lack of calibration (that's next on my list). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix and simplify Qdiv roundupGábor Stefanik2009-08-281-11/+8
| | | | | | | | | | | | The Qdiv roundup routine is essentially a fixed-point division algorithm, using only integer math. However, the version in the specs had a major error that has been recently fixed (a missing quotient++). Replace Qdiv roundup with a rewritten, simplified version. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix a few typos in the RC calibration codeGábor Stefanik2009-08-281-3/+4
| | | | | | | | | The RC calibration code has some typos - fix them. Also, make the default channel 7, as channel 1 is still broken (only channels 7 and 8, and occasionally 9 work). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: add hardware tkipgregor kowski2009-08-205-12/+147
| | | | | | | | This add hardware tkip for b43. Signed-off-by: Gregor Kowski <gregor.kowski@gmail.com> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Implement spec updates and remove resolved FIXMEsGábor Stefanik2009-08-203-46/+82
| | | | | | | | | | | | Larry has started re-checking all current routines against a new version of the Broadcom MIPS driver. This patch implements the first round of changes he documented on the specs wiki. Also remove a few FIXMEs regarding missing initial values for variables with dynamic initial values where reading the values has been implemented. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Two small spec updatesGábor Stefanik2009-08-201-5/+12
| | | | | | | | | | | | The specs are beginning to support rev3 LP-PHYs - implement one of the changes needed for rev3 support. Also, in the new MIPS driver, the "Japan TX filter" was renamed to "analog TX filter init" - however, calling it "init" is confusing, so name it "set analog filter", with a comment for easier future identification. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix setting TX power control mode during RC calibrationGábor Stefanik2009-08-201-1/+1
| | | | | | | | Call set_tx_power_control with a LPPHY_TXPCTL rather than an LPPHY_TX_PWR_CTL_CMD_MODE. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix reading old mode in the set TX power control routineGábor Stefanik2009-08-201-2/+2
| | | | | | | Check the mode the hardware is in, not the mode we used the last time. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* mac80211: allow configure_filter callback to sleepJohannes Berg2009-08-201-1/+1
| | | | | | | | | | | | | | | | | | | | | Over time, a whole bunch of drivers have come up with their own scheme to delay the configure_filter operation to a workqueue. To be able to simplify things, allow configure_filter to sleep, and add a new prepare_multicast callback that drivers that need the multicast address list implement. This new callback must be atomic, but most drivers either don't care or just calculate a hash which can be done atomically and then uploaded to the hardware non-atomically. A cursory look suggests that at76c50x-usb, ar9170, mwl8k (which is actually very broken now), rt2x00, wl1251, wl1271 and zd1211 should make use of this new capability. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Remove BROKEN from B43_PHY_LPGábor Stefanik2009-08-202-7/+9
| | | | | | | | | | | Larry has reported success getting scan data with an LP-PHY device, so it's probably time to release LP-PHY support for testing. Also disable 802.11a support for now, as 802.11a currently causes the driver to panic on startup (NULL pointer dereference). Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Update B2062 radio init with recent spec changesGábor Stefanik2009-08-201-0/+5
| | | | | | | | The spec for initializing the B2062 radio have changed recently, update the code to match the changes. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix a bug in the B2062 channel tune pathGábor Stefanik2009-08-201-1/+1
| | | | | | | I missed the "+16" part of the instruction in the specs. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Update code for spec fixes, and fix a few typosGábor Stefanik2009-08-201-18/+35
| | | | | | | | | | | A few typos have been discovered in both the specs and the code. This patch fixes them. Also use lpphy_op_switch_channel consistently, and make all users of it print its return value for easier debugging. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix a spec error in the B2062 channel switch routineGábor Stefanik2009-08-201-0/+4
| | | | | | | The channel switch routine had a whole instruction missing. Add it. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Update baseband init for recent spec changesGábor Stefanik2009-08-201-5/+68
| | | | | | | | | | | | | | The spec had some nasty typos, and a large part of the rev0/1 BB init procedure was also missing. Fix these. Also make the init-time channel switch debuggable. (The change from -EINVAL to -EIO is simply to make it possible to distinguish the PLL charge pump error from a channel-not-found error.) Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Handle B43_PHYTYPE_LP in RX pathGábor Stefanik2009-08-202-1/+2
| | | | | | | | Don't drop all packets received from an LP-PHY with WARN_ON. Also update a comment with LP-specific information. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Fix another TX power control abuseGábor Stefanik2009-08-201-3/+4
| | | | | | | This should fix the remaining WARN_ON. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Update TX gain override for a spec typo fixGábor Stefanik2009-08-201-1/+1
| | | | | Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Don't adjust gain table for rev2+ when setting channelGábor Stefanik2009-08-201-2/+1
| | | | | | | Rev2+ never needs to have gain tables adjusted according to the spec. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Make LP-PHY testableGábor Stefanik2009-08-201-4/+7
| | | | | | | | | -Enable rate memory init for LP-PHY (same as G and N-PHY). -Mark rev.2 LP-PHYs with the B2063 radio as supported. -Allow using the 5GHz band on LP-PHYs. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Add LP-PHY firmware loading supportGábor Stefanik2009-08-201-1/+25
| | | | | | | Add support for loading LP-PHY firmware to b43_try_request_fw. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Implement channel switching for rev0/1/B2062 radioGábor Stefanik2009-08-202-15/+284
| | | | | | | | | | | | | -Move pdiv from lpphy_2062_init to struct b43_phy_lp. -Add channel table for the B2062 radio. -Add code for tuning the B2062 radio to channel. -Add error handling to op_switch_channel, and use it for both radios. Rev0/1/B2062 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Implement channel switching for rev2+/B2063 radioGábor Stefanik2009-08-201-22/+402
| | | | | | | | Rev.2+/B2063 will now hopefully show some signs of life, though it won't work at full performance, as calibration is still missing. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Initialize TX power controlGábor Stefanik2009-08-202-7/+103
| | | | | | | | The HW TX power control init still needs work. The SW init is complete according to the specs. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Update dummy transmission to match V4 specsGábor Stefanik2009-08-205-23/+31
| | | | | | | | The V4 dummy transmission has two extra bools in its prototype, so update all callers with the 2 bools. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Implement RC calibration for rev.0/1 LP-PHYsGábor Stefanik2009-08-141-47/+460
| | | | | | | | | | Also implement get/set BB mult, get/set TX gain, set RX gain, disable/restore CRS, run/stop DDFS, RX IQ est and QDIV roundup in the process. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Acked-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Refactor TX gain table I/OGábor Stefanik2009-08-142-39/+55
| | | | | | | | | | Make it possible to write individual gain table entries. Allow gain table entries to be written outside gain table init. Add version-agnostic helpers for writing gain tables. Use the new TX gain table helpers during table init. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Implement RC calibration for rev.2+ LP PHYsGábor Stefanik2009-08-141-1/+85
| | | | | Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Implement reading band SPROMGábor Stefanik2009-08-142-1/+100
| | | | | | | | | Some of the new variables in b43_phy_lp appear to be dead code in the vendor driver; they will be removed if they remain unused when LP-PHY implementation is finished. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix a typo in the sync_stx routineGábor Stefanik2009-08-141-1/+1
| | | | | | | I completely missed the "one's complement" instruction from the specs. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Update LP-PHY rev2+ baseband init to match the specsGábor Stefanik2009-08-142-4/+72
| | | | | | | | | | The rev2+ BB init spec has changed behind us, and thus the code is no longer up to date. Update the code to match the current specs. Also implement save/restore dig filt state, as required by the new specification. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Implement LP-PHY baseband table initializationGábor Stefanik2009-08-143-4/+1756
| | | | | | | Implement LP-PHY baseband table init for all revisions. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: LP-PHY: Implement STX synchronizationGábor Stefanik2009-08-141-2/+55
| | | | | | | The v2+ radio init (B2063) is now complete, modulo BCM4325 support. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix hardware key index handlingMichael Buesch2009-08-143-54/+53
| | | | | | | | | This fixes the hardware encryption keys index and array size handling. Thanks to Gregor Kowski for reporting this issue. Signed-off-by: Michael Buesch <mb@bu3sch.de> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change.Gábor Stefanik2009-08-141-1/+1
| | | | | | | Update a comment that still says IEEE80211_IF_TYPE instead of NL80211_IFTYPE. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: remove wrong probe_resp_plcp writegregor kowski2009-08-141-114/+0
| | | | | | | | | | | The tkip hw support uncovered a bug in b43_write_probe_resp_template : it is writing at the wrong shm offset, it is in the B43_SHM_SH_TKIPTSCTTAK zone. Remove b43_write_probe_resp_template, b43_write_probe_resp_plcp and b43_write_probe_resp_plcp because the probe response offload is currently not supported by mac80211. Signed-off-by: Gregor Kowski <gregor.kowski@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Typo fixes & minor cleanupGábor Stefanik2009-08-142-2/+2
| | | | | | | | Make use of HostFlags defines in the LP-PHY code. Fix fallout from the IEEE80211_IF_TYPE to NL80211_IFTYPE change. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
* b43: Add LP 2063 radio initGábor Stefanik2009-08-143-56/+386
| | | | | | | | Add B2063 radio init code and tables for LP-PHY. Rename structures common between B2062 and B2063 to B206X. Signed-off-by: Gábor Stefanik <netrolller.3d@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
OpenPOWER on IntegriCloud