linux/drivers/net/wireless/intel/iwlwifi/mvm
Sara Sharon 26d6c16bed iwlwifi: mvm: add multicast station
Currently multicast queue is associated with the broadcast
station.

This raises quite a few issues:

The multicast queue has a special treatment:
- It is sent in the MAC context command
- It is excluded from tfd_queue_mask

In DQA mode we end up enabling two queues - the probe response
queue and the multicast queue - with the same station (broadcast)
and TID while in DQA mode it should be unique RA-TID.
Firmware will enforce it for a000 devices, so this allocation
will fail.

In addition, in a000 devices the FW will set the FIFO and not
the driver. So there is a need for FW to know when we enable
the queue that it is multicast queue so it will be bound to
the multicast FIFO. There is no such way in current design.

In order to simplify driver and firmware handling of this queue
create a multicast station.
This solves the unique RA-TID issue in the short term and serves
as preparation for the long term.

In the long term we will also add a flag marking this station for
the FW as the multicast station.
Once we will do that the FW will know this is the multicast queue
immediately when it is added and bind it to the correct FIFO.
It will also enable removing the special treatment of the
queue in the MAC context command.

Signed-off-by: Sara Sharon <sara.sharon@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
2017-04-11 14:54:35 +03:00
..
binding.c iwlwifi: mvm: support new binding API 2017-04-11 13:09:11 +03:00
coex.c iwlwifi: mvm: fix the channel inhibition table for Channel 14 2016-07-06 09:56:32 +03:00
constants.h iwlwifi: mvm: add a flag to disable checksum 2016-05-10 22:14:46 +03:00
d3.c iwlwifi: mvm: support new binding API 2017-04-11 13:09:11 +03:00
debugfs-vif.c Merge branch 'work.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-10-10 13:04:49 -07:00
debugfs.c iwlwifi: mvm: mark ret as maybe_unused in iwl_dbgfs_fw_restart_write() 2017-01-26 09:39:02 +02:00
debugfs.h
fw-api-coex.h iwlwifi: mvm: cleanup the coex code 2016-07-06 02:19:21 +03:00
fw-api-d3.h iwlwifi: mvm: add firmware API name comment 2016-05-10 22:14:41 +03:00
fw-api-mac.h iwlwifi: mvm: support new statistics APIs 2017-02-03 16:26:39 +02:00
fw-api-power.h iwlwifi: remove support for fw older than -17 and -22 2016-09-26 23:15:14 +03:00
fw-api-rs.h
fw-api-rx.h iwlwifi: mvm: use firmware station PM notification for AP_LINK_PS 2016-10-19 12:46:32 +03:00
fw-api-scan.h iwlwifi: mvm: support new scan API 2017-02-03 16:26:40 +02:00
fw-api-sta.h iwlwifi: mvm: use firmware station PM notification for AP_LINK_PS 2016-10-19 12:46:32 +03:00
fw-api-stats.h iwlwifi: mvm: support new statistics APIs 2017-02-03 16:26:39 +02:00
fw-api-tof.h
fw-api-tx.h iwlwifi: mvm: adjust new API of compressed BA 2017-04-11 14:54:32 +03:00
fw-api.h iwlwifi: mvm: support new binding API 2017-04-11 13:09:11 +03:00
fw-dbg.c iwlwifi: mvm: synchronize firmware DMA paging memory 2017-02-03 16:26:42 +02:00
fw-dbg.h iwlwifi: mvm: consider P2p device type for firmware dump triggers 2016-08-29 22:29:04 +03:00
fw.c iwlwifi: mvm: avoid exceeding the allowed print length 2017-02-08 17:54:23 +02:00
led.c
mac80211.c iwlwifi: mvm: add multicast station 2017-04-11 14:54:35 +03:00
mac-ctxt.c iwlwifi: mvm: add multicast station 2017-04-11 14:54:35 +03:00
Makefile Makefile: drop -D__CHECK_ENDIAN__ from cflags 2016-12-16 00:13:43 +02:00
mvm.h iwlwifi: mvm: add multicast station 2017-04-11 14:54:35 +03:00
nvm.c iwlwifi: move BIOS MCC retrieval to common code 2016-09-19 10:09:37 +03:00
offloading.c
ops.c iwlwifi: mvm: add DQA_ENABLE_CMD to the command list 2017-04-11 14:54:31 +03:00
phy-ctxt.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
power.c iwlwifi: mvm: cleanup incorrect and redundant define 2017-02-03 16:26:39 +02:00
quota.c
rs.c iwlwifi: mvm: don't call << operator with a negative value 2017-02-08 17:54:21 +02:00
rs.h iwlwifi: mvm: rs: add rate scaling support for 160MHz channels 2016-07-06 01:19:22 +03:00
rx.c iwlwifi: mvm: fix RX SKB header size and align it properly 2017-04-11 14:54:33 +03:00
rxmq.c iwlwifi: mvm: fix reorder timer re-arming 2017-02-08 12:55:32 +02:00
scan.c iwlwifi: mvm: support new scan API 2017-02-03 16:26:40 +02:00
sf.c iwlmvm: mvm: set correct state in smart-fifo configuration 2016-07-06 02:09:55 +03:00
sta.c iwlwifi: mvm: add multicast station 2017-04-11 14:54:35 +03:00
sta.h iwlwifi: mvm: add multicast station 2017-04-11 14:54:35 +03:00
tdls.c cfg80211: remove enum ieee80211_band 2016-04-12 15:56:15 +02:00
testmode.h
time-event.c
time-event.h
tof.c
tof.h
tt.c iwlwifi: fix kernel crash when unregistering thermal zone 2017-01-21 14:58:37 +02:00
tx.c iwlwifi: mvm: cleanup pending frames in DQA mode 2017-04-11 14:54:33 +03:00
utils.c iwlwifi: mvm: release static queues on bcast release 2017-02-06 19:19:23 +02:00