summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
diff options
context:
space:
mode:
authorSara Sharon2016-02-18 13:21:12 +0100
committerLuca Coelho2016-05-10 21:14:39 +0200
commit0636b938214c90c3a7d145ad86b64a061bb10c50 (patch)
treeea2d1714050c6405dc257869b62ead904e822906 /drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
parentiwlwifi: Edit the 8265 SDIO ID (diff)
downloadkernel-qcow2-linux-0636b938214c90c3a7d145ad86b64a061bb10c50.tar.gz
kernel-qcow2-linux-0636b938214c90c3a7d145ad86b64a061bb10c50.tar.xz
kernel-qcow2-linux-0636b938214c90c3a7d145ad86b64a061bb10c50.zip
iwlwifi: mvm: implement driver RX queues sync command
mac80211 will call the driver whenever there is a race between RSS queues and control path that requires a processing of all pending frames in RSS queues. Implement that by utilizing the internal notification mechanism: queue a message to all queues. When the message is received on a queue it decrements the atomic counter. This guarantees that all pending frames in the RX queue were processed since the message is in order inside the queue. Signed-off-by: Sara Sharon <sara.sharon@intel.com> Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h b/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
index 4c086d048097..ade170bd8683 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h
@@ -437,9 +437,11 @@ struct iwl_rxq_sync_notification {
/**
* Internal message identifier
*
+* @IWL_MVM_RXQ_SYNC: sync RSS queues
* @IWL_MVM_RXQ_NOTIF_DEL_BA: notify RSS queues of delBA
*/
enum iwl_mvm_rxq_notif_type {
+ IWL_MVM_RXQ_SYNC,
IWL_MVM_RXQ_NOTIF_DEL_BA,
};
@@ -448,10 +450,12 @@ enum iwl_mvm_rxq_notif_type {
* in &iwl_rxq_sync_cmd. Should be DWORD aligned.
*
* @type: value from &iwl_mvm_rxq_notif_type
+* @cookie: internal cookie to identify old notifications
* @data: payload
*/
struct iwl_mvm_internal_rxq_notif {
u32 type;
+ u32 cookie;
u8 data[];
} __packed;