linux/net/mac80211
Johannes Berg 3a25a8c8b7 mac80211: add improved HW queue control
mac80211 currently only supports one hardware queue
per AC. This is already problematic for off-channel
uses since if we go off channel while the BE queue
is full and then try to send an off-channel frame
the frame will never go out. This will become worse
when we support multi-channel since then a queue on
one channel might be full, but we have to stop the
software queue for all channels. That is obviously
not desirable.

To address this problem allow drivers to register
more hardware queues, and allow them to map them to
virtual interfaces. When they stop a hardware queue
the corresponding AC software queues on the correct
interfaces will be stopped as well. Additionally,
there's an off-channel queue to solve that problem
and a per-interface after-DTIM beacon queue. This
allows drivers to manage software queues closer to
how the hardware works.

Currently, there's a limit of 16 hardware queues.
This may or may not be sufficient, we can adjust it
as needed.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
2012-04-11 16:23:50 -04:00
..
aes_ccm.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_ccm.h mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.c mac80211: use AES_BLOCK_SIZE 2011-07-08 11:11:24 -04:00
aes_cmac.h mac80211: fix CMAC races 2011-07-08 11:11:20 -04:00
agg-rx.c mac80211: optimize aggregation session timeout handling 2012-04-09 16:09:36 -04:00
agg-tx.c mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
cfg.c mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
cfg.h
chan.c mac80211: remove channel type argument from rate_update 2012-04-10 14:54:08 -04:00
debugfs_key.c mac80211: fix debugfs key->station symlink 2012-01-18 14:38:05 -05:00
debugfs_key.h mac80211: support separate default keys 2010-12-13 15:23:29 -05:00
debugfs_netdev.c mac80211: Allow tsf increments via debugfs 2012-04-10 15:20:30 -04:00
debugfs_netdev.h mac80211: reduce reliance on netdev 2009-12-21 18:38:52 -05:00
debugfs_sta.c mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
debugfs_sta.h
debugfs.c mac80211: make uapsd_* keys per-vif 2012-03-15 13:43:12 -04:00
debugfs.h mac80211: refactor debugfs function generation code 2010-11-15 13:24:48 -05:00
driver-ops.h mac80211: add explicit monitor interface if needed 2012-04-11 16:23:49 -04:00
driver-trace.c mac80211: fix sparse warnings/errors 2009-08-04 16:43:25 -04:00
driver-trace.h cfg80211/nl80211: clarify TX queue API 2012-04-10 14:54:09 -04:00
event.c
ht.c mac80211: set HT channel before association 2012-04-10 14:54:07 -04:00
ibss.c mac80211: Modify sta_get_rates to give basic rates 2012-04-11 16:23:47 -04:00
ieee80211_i.h mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
iface.c mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
Kconfig mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
key.c mac80211: clean up asm/unaligned.h inclusion 2012-02-27 14:06:32 -05:00
key.h mac80211: allow driver to disconnect after resume 2011-07-13 14:49:43 -04:00
led.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
led.h mac80211: selective throughput LED trigger active 2010-12-22 14:33:37 -05:00
main.c mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
Makefile mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
mesh_hwmp.c mac80211: fix the RANN propagation issues 2012-04-09 16:37:10 -04:00
mesh_pathtbl.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next 2012-03-20 21:04:47 -07:00
mesh_plink.c mac80211: Check basic rates when peering 2012-04-11 16:23:47 -04:00
mesh_sync.c mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
mesh.c mac80211: Check basic rates when peering 2012-04-11 16:23:47 -04:00
mesh.h mac80211: Check basic rates when peering 2012-04-11 16:23:47 -04:00
michael.c
michael.h
mlme.c mac80211: sanity check for null SSID 2012-04-10 15:20:28 -04:00
offchannel.c mac80211: remove dead code 2012-01-04 14:31:47 -05:00
pm.c mac80211: add explicit monitor interface if needed 2012-04-11 16:23:49 -04:00
rate.c Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless 2012-02-29 14:53:21 -05:00
rate.h mac80211: notify driver of rate control updates 2012-04-10 14:54:08 -04:00
rc80211_minstrel_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_minstrel_ht.c mac80211: remove channel type argument from rate_update 2012-04-10 14:54:08 -04:00
rc80211_minstrel_ht.h minstrel_ht: move minstrel_mcs_groups declaration to header file 2010-06-24 15:42:18 -04:00
rc80211_minstrel.c minstrel: Remove unused function parameter in calc_rate_durations() 2011-11-11 12:32:52 -05:00
rc80211_minstrel.h minstrel_ht: fixed rate mode through debugfs 2011-06-01 15:12:29 -04:00
rc80211_pid_algo.c net: fix assignment of 0/1 to bool variables. 2011-12-19 22:27:29 -05:00
rc80211_pid_debugfs.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
rc80211_pid.h Fix common misspellings 2011-03-31 11:26:23 -03:00
rx.c mac80211: remove channel type argument from rate_update 2012-04-10 14:54:08 -04:00
scan.c mac80211: Filter duplicate IE ids 2012-03-07 13:51:37 -05:00
spectmgmt.c mac80211: Remove unnecessary OOM logging messages 2011-09-13 15:45:02 -04:00
sta_info.c mac80211: end service period only after sending last buffered frame 2012-04-09 16:06:00 -04:00
sta_info.h mac80211: Implement mesh synchronization framework 2012-04-10 15:20:31 -04:00
status.c mac80211: use compare_ether_addr on MAC addresses instead of memcmp 2012-03-05 15:38:31 -05:00
tkip.c net: Add export.h for EXPORT_SYMBOL/THIS_MODULE to non-modules 2011-10-31 19:30:30 -04:00
tkip.h mac80211: fix TKIP races, make API easier to use 2011-07-08 11:11:19 -04:00
tx.c mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
util.c mac80211: add improved HW queue control 2012-04-11 16:23:50 -04:00
wep.c mac80211: linearize SKBs as needed for crypto 2012-03-13 14:54:17 -04:00
wep.h mac80211: move RX WEP weak IV counting 2012-03-13 14:54:16 -04:00
wme.c mac80211: use IEEE80211_NUM_ACS 2012-04-10 14:56:10 -04:00
wme.h mac80211: make ieee80211_downgrade_queue static 2012-04-10 14:54:06 -04:00
work.c mac80211: redesign auth/assoc 2012-02-06 14:50:37 -05:00
wpa.c mac80211: linearize SKBs as needed for crypto 2012-03-13 14:54:17 -04:00
wpa.h mac80211: fix tx->skb NULL pointer dereference 2012-01-16 15:01:16 -05:00