aboutsummaryrefslogtreecommitdiff
path: root/drivers/net/wireless/ath
AgeCommit message (Collapse)AuthorFilesLines
2013-08-02ath10k: implement rx checksum offloadingMichal Kazior1-0/+40
HW supports L3/L4 rx checksum offloading. This should reduce CPU load and improve performance on slow host machines. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-08-01ath9k: Add statistics for antenna diversitySujith Manoharan3-28/+95
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Use a subroutine to calculate ALT ratioSujith Manoharan1-94/+79
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Simplify checks in quick_scanSujith Manoharan1-10/+10
There is a function to do a ratio comparison for ALT, so make use of it. Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Use a helper function for checking LNA optionsSujith Manoharan1-87/+79
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Use a subroutine to try LNA switchSujith Manoharan1-40/+52
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Add ALT check for cards with GROUP-3 configSujith Manoharan1-17/+33
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Use a subroutine to check for short scanSujith Manoharan1-14/+23
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Do a quick scan only when scan_not_start is trueSujith Manoharan3-9/+26
Right now, it is being done for all cases. Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01ath9k: Add a debugfs file for antenna diversitySujith Manoharan1-0/+64
Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>
2013-08-01Merge branch 'for-john' of ↵John W. Linville2-1/+3
git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
2013-07-31ath10k: detect the number of spatial streams supported by hwMichal Kazior3-12/+20
Until now ath10k assumed 3 spatial streams. However some devices support only 2 spatial streams. This patch improves performance on devices that don't support 3 spatial streams. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-31ath10k: improve tx throughput on slow machinesMichal Kazior1-3/+3
It is more efficient to move just the 802.11 header instead of the whole payload in most cases. This has no measurable effect on modern hardware. It should improve performance by a few percent on hardware such as an Access Point that have a slow CPU compared to a typical desktop CPU. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: fix rts/fragmentation threshold setupMichal Kazior1-26/+28
If RTS and fragmentation threshold values are 0xFFFFFFFF they should be considered disabled and no min/max limits must be applied. This fixes some issues with throughput issues, especially with VHT. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: fix memleak in mac setupMichal Kazior1-11/+15
In some cases channel arrays were never freed. The patch also unifies error handling in the mac setup function. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: don't reset HTC endpoints unnecessarilyMichal Kazior1-1/+0
Endpoints are re-initialized upon HTC start anyway so there's no need to do that twice in case of restarting HTC (i.e. in case of hardware recovery). Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: prevent HTC from being used after stoppingMichal Kazior2-16/+15
It was possible to submit new HTC commands after/while HTC stopped. This led to memory corruption in some rare cases. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: create debugfs interface to trigger fw crashMichal Kazior1-0/+57
This can be useful for testing. To perform a forced firmware crash write 'crash' to 'simulate_fw_crash' debugfs file. E.g. echo crash > /sys/kernel/debug/ieee80211/phy1/ath10k/simulate_fw_crash Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: fix NULL dereference for injected packetsMichal Kazior1-4/+8
Tx processing functions dereference vif and caused NULL to be dereferenced for injected frames. Don't call these functions at all for injected frames. It doesn't make much sense to do so anyway. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: implement fw crash simulation commandMichal Kazior2-0/+38
This can be useful to test FW crash handling. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: implement device recoveryMichal Kazior7-19/+144
Restart the hardware if FW crashes. If FW crashes during recovery we leave the hardware in a "wedged" state to avoid recursive recoveries. When in "wedged" state userspace may bring interfaces down (to issue stop()) and then bring one interface (to issue start()) to reload hardware manually. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: skip fw stats debugfs interface if device is downMichal Kazior1-14/+16
If the device is not running then there may be no FW at all to send the query to. If the FW is already there it might still trigger a crash if the command is sent before the device is fully initialized. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: store firmware files in memoryMichal Kazior2-52/+109
Different FW versions may provide different functions thus mean different hw capabilities advertised to mac80211. It is safe to swap firmware files on disk during driver/device runtime without worries. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: defer hw setup to start/stop mac80211 hooksMichal Kazior3-32/+81
This fixes suspend-to-disk. The hardware is now re-initialized upon freeze/thaw properly. This also makes suspend/resume re-initialize the hardware as WoWLAN support is not done yet. With some little work it should be possible to support hw reconfiguration for hw/fw recovery. HW must be initialized once before registering to mac80211 because FW determinates what hw capabilities can be advertised. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: make sure all resources are freed upon ath10k_stop()Michal Kazior1-0/+25
This is necessary for proper hw reconfiguration and to avoid memory leaks. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: move free_vdev_map initializationMichal Kazior1-2/+2
This is necessary for hw reconfiguration to work. Since mac80211 is not calling remove_interface() is such case we must reset free_vdev_map. Also use a define instead of a hardcoded value for vdev map initialization. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: decouple suspend codeMichal Kazior5-154/+138
Split up fw-related and hw-related suspension code. Although we don't advertise WoW support to mac80211 yet it's useful to keep the code in suspend/resume hooks. At this point there's no need to keep pci pm ops. In case of WoW mac80211 calls ath10k_suspend() which should take care of entering low-power mode. In case WoW is not available mac80211 will go through regular interface teradown and use start/stop. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: reset BMI state upon initMichal Kazior3-0/+9
This is necessary if we want to be able to restart hw on-the-fly. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: allow deferred regd updateMichal Kazior2-7/+26
Regulatory domain notification hook can be called regardless of the hw state (i.e. before start mac80211 callback). Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: decouple core start/stop logicMichal Kazior2-12/+34
Enables code reuse for proper hw reconfiguration that is in turn required for proper suspend/hibernation/wowlan support. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: decouple pci start/stop logicMichal Kazior2-39/+91
Split logic that prepares the device for BMI phase/cleans up related resources. This is necessary for ath10k to be able to restart hw on the fly without reloading the module. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: add missing debug printsMichal Kazior1-0/+6
Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: abort scan properly if wmi_scan_stop failsMichal Kazior1-0/+4
Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: improve lockingMichal Kazior1-2/+55
Add more lockdep asserts and a few conf_mutex locks. It's better to be on the safe side. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: embed HTT struct inside ath10kMichal Kazior7-34/+34
This reduces number of allocations and simplifies memory managemnt. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: embed HTC struct inside ath10kMichal Kazior7-46/+27
This reduces number of allocations and simplifies memory managemnt. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: rename hif callbackMichal Kazior3-9/+9
The `set_callbacks` is a more appopriate name for the function. Let's leave `init` for something else. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: change function to take struct ath10k as argMichal Kazior1-3/+3
This aligns it to the argument list of other similar functions. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: provide errno if bmi read/write failsMichal Kazior1-2/+4
Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: lower print level for a messageMichal Kazior1-2/+3
Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: silent warning in IBSS modeMichal Kazior1-2/+2
There is no TIM IE generated in IBSS beacons by mac80211. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: fix typo in define nameMichal Kazior3-6/+6
Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: remove ath10k_busMichal Kazior3-10/+1
It serves no purpose. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: do not setup rts/frag thresholds for suspended interfacesMichal Kazior1-2/+2
mac80211 calls for rts/frag threshold hooks before any interface is brought back up again when resuming. We would set vdev parameters before given vdev is created lading to a FW crash. rts/frag thresholds will be re-set accordingly in add_interface() hook anyway. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: setup rts/frag thresholds upon vdev creationMichal Kazior1-1/+19
mac80211 configures rts/frag thresholds per-hw not per-vif. ath10k FW expects those values to be set per-vdev (i.e. per-vif). ath10k should now respect rts/frag thresholds set before a given interface was brought up. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: fix possible deadlockMichal Kazior1-4/+6
It was possible to have a deadlock due to inverted locking of local->iflist_mtx and ath10k->conf_mutex. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-30ath10k: fix teardown orderingMichal Kazior1-1/+1
This should fix memory corruption if HIF is tried to be restarted. Signed-off-by: Michal Kazior <[email protected]> Signed-off-by: Kalle Valo <[email protected]>
2013-07-29Merge branch 'for-linville-current' of git://github.com/kvalo/athJohn W. Linville1-1/+1
2013-07-25Merge branch 'master' of ↵John W. Linville6-24/+50
git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless
2013-07-24ath9k: Fix diversity combining for AR9285Sujith Manoharan7-20/+30
When antenna diversity combining is enabled in the EEPROM, the initial values for the MAIN/ALT config have to be programmed correctly. This patch adds it for AR9285. Since the diversity combining macros are common to all chip families, remove the redundant AR9285 macros and move the definitions to phy.h. Signed-off-by: Sujith Manoharan <[email protected]> Signed-off-by: John W. Linville <[email protected]>