Commit 64ba8930 authored by Johannes Berg's avatar Johannes Berg Committed by Emmanuel Grumbach

iwlwifi: trans: make aggregation explicit for TX queue handling

Currently a valid sta_id is assumed to mean that the queue is
meant to also be aggregated, but that assumption will not be
true in the future, so don't make it in the lower level but
only in the inline wrapper.
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent d4578ea8
...@@ -405,6 +405,7 @@ struct iwl_trans_txq_scd_cfg { ...@@ -405,6 +405,7 @@ struct iwl_trans_txq_scd_cfg {
u8 fifo; u8 fifo;
s8 sta_id; s8 sta_id;
u8 tid; u8 tid;
bool aggregate;
int frame_limit; int frame_limit;
}; };
...@@ -803,6 +804,7 @@ static inline void iwl_trans_txq_enable(struct iwl_trans *trans, int queue, ...@@ -803,6 +804,7 @@ static inline void iwl_trans_txq_enable(struct iwl_trans *trans, int queue,
.sta_id = sta_id, .sta_id = sta_id,
.tid = tid, .tid = tid,
.frame_limit = frame_limit, .frame_limit = frame_limit,
.aggregate = sta_id >= 0,
}; };
iwl_trans_txq_enable_cfg(trans, queue, ssn, &cfg); iwl_trans_txq_enable_cfg(trans, queue, ssn, &cfg);
...@@ -816,6 +818,7 @@ static inline void iwl_trans_ac_txq_enable(struct iwl_trans *trans, int queue, ...@@ -816,6 +818,7 @@ static inline void iwl_trans_ac_txq_enable(struct iwl_trans *trans, int queue,
.sta_id = -1, .sta_id = -1,
.tid = IWL_MAX_TID_COUNT, .tid = IWL_MAX_TID_COUNT,
.frame_limit = IWL_FRAME_LIMIT, .frame_limit = IWL_FRAME_LIMIT,
.aggregate = false,
}; };
iwl_trans_txq_enable_cfg(trans, queue, 0, &cfg); iwl_trans_txq_enable_cfg(trans, queue, 0, &cfg);
......
...@@ -1085,8 +1085,7 @@ void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, u16 ssn, ...@@ -1085,8 +1085,7 @@ void iwl_trans_pcie_txq_enable(struct iwl_trans *trans, int txq_id, u16 ssn,
if (txq_id != trans_pcie->cmd_queue) if (txq_id != trans_pcie->cmd_queue)
iwl_scd_txq_set_chain(trans, txq_id); iwl_scd_txq_set_chain(trans, txq_id);
/* If this queue is mapped to a certain station: it is an AGG */ if (cfg->aggregate) {
if (cfg->sta_id >= 0) {
u16 ra_tid = BUILD_RAxTID(cfg->sta_id, cfg->tid); u16 ra_tid = BUILD_RAxTID(cfg->sta_id, cfg->tid);
/* Map receiver-address / traffic-ID to this queue */ /* Map receiver-address / traffic-ID to this queue */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment