linux/drivers/net/wireless/ath/ath10k
Michal Kazior 45c9abc059 ath10k: implement more versatile set_bitrate_mask
Until now only a single fixed tx rate or nss was
allowed to be set.

The patch attempts to improve this by allowing
most bitrate masks. The limitation is VHT MCS
rates cannot be expressed separately using
existing firmware interfaces and only the
following VHT MCS ranges are supported: none, 0-7,
0-8, and 0-9.

This keeps the old behaviour when requesting
single tx rate or single nss. The new bitrate mask
logic is only applied to other cases that would
return -EINVAL until now.

Depending on firmware revisions some combinations
may crash firmware so use with care, please.

This depends on "ath10k: don't use reassoc flag".
Without it key cache would effectively be
invalidated upon bitrate change leading to
communication being no longer possible.

These work:

  iw wlan0 set bitrates legacy-5 6 12 ht-mcs-5 1 2 3
  iw wlan0 set bitrates legacy-5 ht-mcs-5 7 8 9
  iw wlan0 set bitrates legacy-5 24 ht-mcs-5 vht-mcs-5 1:0-9

These won't work:

  iw wlan0 set bitrates legacy-5 ht-mcs-5 vht-mcs-5 1:0-5
  iw wlan0 set bitrates vht-mcs-5 2:7-9

(note the invalid VHT MCS ranges)

Signed-off-by: Michal Kazior <michal.kazior@tieto.com>
Signed-off-by: Kalle Valo <kvalo@qca.qualcomm.com>
2015-04-27 11:48:53 +03:00
..
bmi.c ath10k: improve logging to include dev id 2014-08-26 19:04:48 +03:00
bmi.h ath10k: fix use of multiple blank lines 2014-09-18 10:45:20 +03:00
ce.c ath10k: add support for qca6174 2015-01-27 16:01:02 +02:00
ce.h ath10k: fix CE_DESC_FLAGS_META_DATA_LSB definition 2015-02-15 16:50:39 +02:00
core.c ath10k: allow loading device specific board files 2015-04-21 20:35:12 +03:00
core.h ath10k: implement more versatile set_bitrate_mask 2015-04-27 11:48:53 +03:00
debug.c ath10k: allow loading device specific board files 2015-04-21 20:35:12 +03:00
debug.h ath10k: Implement sta_add_debugfs 2015-01-13 16:13:13 +02:00
debugfs_sta.c ath10k: add support to send delba 2015-01-13 16:13:47 +02:00
hif.h ath10k: remove transfer_id from ath10k_hif_cb::tx_completion 2014-12-01 09:13:36 +02:00
htc.c ath10k: replenish htc tx credits always 2015-04-09 14:58:16 +03:00
htc.h ath10k: fix use of multiple blank lines 2014-09-18 10:45:20 +03:00
htt_rx.c ath10k: fix no-ack frame status 2015-04-09 15:11:30 +03:00
htt_tx.c ath10k: rework tx queue locking 2015-04-01 20:31:00 +03:00
htt.c ath10k: fix HTT op backwards compatibility for QCA6174 2015-03-30 14:56:06 +03:00
htt.h ath10k: fix no-ack frame status 2015-04-09 15:11:30 +03:00
hw.c ath10k: add support for qca6174 2015-01-27 16:01:02 +02:00
hw.h ath10k: allocate fw resources for iface combinations 2015-04-01 20:31:23 +03:00
Kconfig ath10k: ATH10K_DEBUGFS depends on DEBUG_FS 2014-09-10 14:17:45 +03:00
mac.c ath10k: implement more versatile set_bitrate_mask 2015-04-27 11:48:53 +03:00
mac.h ath10k: implement tx pause wmi event 2015-04-01 20:31:08 +03:00
Makefile ath10k: add WOW disconnect/magic-packet support 2015-03-30 09:09:30 +03:00
p2p.c ath10k: implement handling of p2p noa event 2015-03-07 09:57:42 +02:00
p2p.h ath10k: implement handling of p2p noa event 2015-03-07 09:57:42 +02:00
pci.c ath10k: fix qca61x4 hw2.1 support 2015-04-21 20:38:12 +03:00
pci.h ath10k: fix target wakeup timeout 2015-01-29 12:26:28 +02:00
rx_desc.h ath10k: add hw rate definitions 2015-03-30 15:09:15 +03:00
spectral.c ath10k: introduce wmi ops 2014-12-08 17:39:08 +02:00
spectral.h ath10k: clean up phyerr code 2014-09-23 12:31:54 +03:00
targaddrs.h ath10k: add support for qca6174 2015-01-27 16:01:02 +02:00
testmode_i.h ath10k: add testmode 2014-09-11 23:42:36 +03:00
testmode.c ath10k: introduce wmi ops 2014-12-08 17:39:08 +02:00
testmode.h ath10k: add testmode 2014-09-11 23:42:36 +03:00
thermal.c ath10k: don't call quiet mode if it's not implemented 2015-04-01 20:21:17 +03:00
thermal.h ath10k: configure thermal throttle while powering up 2015-03-23 17:16:37 +02:00
trace.c
trace.h ath10k: add extra check for frame tracing 2015-04-17 09:33:48 +03:00
txrx.c ath10k: fix no-ack frame status 2015-04-09 15:11:30 +03:00
txrx.h ath10k: fix Rx aggregation reordering 2014-07-25 11:15:39 +03:00
wmi-ops.h ath10k: implement adaptive qcs command 2015-04-01 20:30:52 +03:00
wmi-tlv.c ath10k: use scan burst for hw roc 2015-04-15 15:07:39 +03:00
wmi-tlv.h ath10k: implement tx pause wmi event 2015-04-01 20:31:08 +03:00
wmi.c ath10k: enable the BT-coex feature 2015-04-17 09:45:28 +03:00
wmi.h ath10k: enable the BT-coex feature 2015-04-17 09:45:28 +03:00
wow.c ath10k: add WOW patterns support 2015-03-30 09:10:24 +03:00
wow.h ath10k: add WOW patterns support 2015-03-30 09:10:24 +03:00