diff options
author | Sara Sharon <sara.sharon@intel.com> | 2016-02-18 14:21:12 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2016-05-10 22:14:39 +0300 |
commit | 0636b938214c90c3a7d145ad86b64a061bb10c50 (patch) | |
tree | ea2d1714050c6405dc257869b62ead904e822906 /drivers/net/wireless/intel/iwlwifi/mvm/fw-api-rx.h | |
parent | e5ed17929bf4177c523465af187ab70c9a454caa (diff) |
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.h | 4 |
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; |