2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2025-01-10 22:54:11 +08:00
linux-next/drivers/net/wireless
Benjamin Berg ebee76f7fa ath10k: allow setting coverage class
Unfortunately ath10k does not generally allow modifying the coverage class
with the stock firmware and Qualcomm has so far refused to implement this
feature so that it can be properly supported in ath10k. If we however know
the registers that need to be modified for proper operation with a higher
coverage class, then we can do these modifications from the driver.

This is a hack and might cause subtle problems but as it's not enabled by
default (only when user space changes the coverage class explicitly) it should
not cause new problems for existing setups. But still this should be considered
as an experimental feature and used with caution.

This patch implements the support for first generation cards (QCA9880, QCA9887
and so on) which are based on a core that is similar to ath9k. The registers
are modified in place and need to be re-written every time the firmware sets
them. To achieve this the register status is verified after certain WMI events
from the firmware.

The coverage class may not be modified temporarily right after the card
re-initializes the registers. This is for example the case during scanning.

Thanks to Sebastian Gottschall <s.gottschall@dd-wrt.com> for initially
working on a userspace support for this. This patch wouldn't have been
possible without this documentation.

Signed-off-by: Benjamin Berg <benjamin@sipsolutions.net>
Signed-off-by: Simon Wunderlich <sw@simonwunderlich.de>
Signed-off-by: Mathias Kretschmer <mathias.kretschmer@fit.fraunhofer.de>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2016-10-04 18:03:22 +03:00
..
admtek cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
ath ath10k: allow setting coverage class 2016-10-04 18:03:22 +03:00
atmel mac80211: Add support for beacon report radio measurement 2016-07-06 14:53:19 +02:00
broadcom brcmfmac: drop unused fields from struct brcmf_pub 2016-09-26 20:51:02 +03:00
cisco wireless: airo: rename 'register' variable 2016-06-29 18:56:20 +03:00
intel iwlwifi: pcie: use LIST_HEAD() macro 2016-09-19 11:29:35 +03:00
intersil hostap: Use memdup_user() to reuse code 2016-09-03 12:54:53 +03:00
marvell mwifiex: code rearrangement in mwifiex_usb_host_to_card() 2016-09-26 20:39:43 +03:00
mediatek mt7601u: use linux/bitfield.h 2016-09-09 12:09:25 +03:00
ralink rt2x00usb: Fix error return code 2016-09-03 13:06:49 +03:00
realtek rtl8xxxu: Stop log spam from each successful interrupt 2016-09-26 20:41:37 +03:00
rsi rsi: eliminate superfluous NULL check 2016-06-14 17:17:58 +03:00
st mac80211: Add support for beacon report radio measurement 2016-07-06 14:53:19 +02:00
ti wlcore: wl18xx: Use chip specific configuration firmware 2016-09-26 18:13:45 +03:00
zydas zd1211rw: fix spelling mistake "firmeware" -> "firmware" 2016-09-03 19:59:56 +03:00
Kconfig
mac80211_hwsim.c mac80211: Add support for beacon report radio measurement 2016-07-06 14:53:19 +02:00
mac80211_hwsim.h drivers/wireless: use nla_put_u64_64bit() 2016-04-26 12:00:48 -04:00
Makefile
ray_cs.c
ray_cs.h
rayctl.h
rndis_wlan.c nl80211: support beacon report scanning 2016-07-06 14:51:31 +02:00
wl3501_cs.c wl3501_cs: Add spinlock to wl3501_reset 2016-09-03 13:01:18 +03:00
wl3501.h