mirror of
https://github.com/torvalds/linux.git
synced 2024-12-29 14:21:47 +00:00
iwlwifi: mvm: disable tx aggregation on low latency vifs
Aggregations hit latency so disable it by default on low latency vifs for now. Enable control over this behavior and allow control over the max frames in an AMPDU in low latency vifs via debugfs. Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
bdd5483958
commit
9ecd051ecd
@ -1447,6 +1447,10 @@ int iwl_mvm_dbgfs_register(struct iwl_mvm *mvm, struct dentry *dbgfs_dir)
|
||||
goto err;
|
||||
#endif
|
||||
|
||||
if (!debugfs_create_u8("low_latency_agg_frame_limit", S_IRUSR | S_IWUSR,
|
||||
mvm->debugfs_dir,
|
||||
&mvm->low_latency_agg_frame_limit))
|
||||
goto err;
|
||||
if (!debugfs_create_u8("ps_disabled", S_IRUSR,
|
||||
mvm->debugfs_dir, &mvm->ps_disabled))
|
||||
goto err;
|
||||
|
@ -727,6 +727,8 @@ struct iwl_mvm {
|
||||
|
||||
/* system time of last beacon (for AP/GO interface) */
|
||||
u32 ap_last_beacon_gp2;
|
||||
|
||||
u8 low_latency_agg_frame_limit;
|
||||
};
|
||||
|
||||
/* Extract MVM priv from op_mode and _hw */
|
||||
|
@ -415,6 +415,7 @@ iwl_op_mode_mvm_start(struct iwl_trans *trans, const struct iwl_cfg *cfg,
|
||||
mvm->first_agg_queue = 12;
|
||||
}
|
||||
mvm->sf_state = SF_UNINIT;
|
||||
mvm->low_latency_agg_frame_limit = 1;
|
||||
|
||||
mutex_init(&mvm->mutex);
|
||||
mutex_init(&mvm->d0i3_suspend_mutex);
|
||||
|
@ -2855,9 +2855,15 @@ static void rs_fill_lq_cmd(struct iwl_mvm *mvm,
|
||||
* Tx Fifo so that it can start a transaction in the same TxOP. This
|
||||
* basically allows the firmware to send bursts.
|
||||
*/
|
||||
if (iwl_mvm_vif_low_latency(mvmvif))
|
||||
if (iwl_mvm_vif_low_latency(mvmvif)) {
|
||||
lq_cmd->agg_frame_cnt_limit--;
|
||||
|
||||
if (mvm->low_latency_agg_frame_limit)
|
||||
lq_cmd->agg_frame_cnt_limit =
|
||||
min(lq_cmd->agg_frame_cnt_limit,
|
||||
mvm->low_latency_agg_frame_limit);
|
||||
}
|
||||
|
||||
if (mvmsta->vif->p2p)
|
||||
lq_cmd->flags |= LQ_FLAG_USE_RTS_MSK;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user