aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c10
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-commands.h6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-core.h2
3 files changed, 16 insertions, 2 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 23e5c42e7d7e..7c4deee4c527 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -2694,8 +2694,18 @@ static void rs_fill_link_cmd(struct iwl_priv *priv,
2694 2694
2695 lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF; 2695 lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF;
2696 lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF; 2696 lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF;
2697
2697 lq_cmd->agg_params.agg_time_limit = 2698 lq_cmd->agg_params.agg_time_limit =
2698 cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF); 2699 cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
2700 /*
2701 * overwrite if needed, pass aggregation time limit
2702 * to uCode in uSec
2703 */
2704 if (priv && priv->cfg->agg_time_limit &&
2705 priv->cfg->agg_time_limit >= LINK_QUAL_AGG_TIME_LIMIT_MIN &&
2706 priv->cfg->agg_time_limit <= LINK_QUAL_AGG_TIME_LIMIT_MAX)
2707 lq_cmd->agg_params.agg_time_limit =
2708 cpu_to_le16(priv->cfg->agg_time_limit);
2699} 2709}
2700 2710
2701static void *rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir) 2711static void *rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
diff --git a/drivers/net/wireless/iwlwifi/iwl-commands.h b/drivers/net/wireless/iwlwifi/iwl-commands.h
index c6a0470b2f50..14a7a8c0711a 100644
--- a/drivers/net/wireless/iwlwifi/iwl-commands.h
+++ b/drivers/net/wireless/iwlwifi/iwl-commands.h
@@ -2110,8 +2110,10 @@ struct iwl_link_qual_general_params {
2110 */ 2110 */
2111struct iwl_link_qual_agg_params { 2111struct iwl_link_qual_agg_params {
2112 2112
2113 /* Maximum number of uSec in aggregation. 2113 /*
2114 * Driver should set this to 4000 (4 milliseconds). */ 2114 *Maximum number of uSec in aggregation.
2115 * default set to 4000 (4 milliseconds) if not configured in .cfg
2116 */
2115 __le16 agg_time_limit; 2117 __le16 agg_time_limit;
2116 2118
2117 /* 2119 /*
diff --git a/drivers/net/wireless/iwlwifi/iwl-core.h b/drivers/net/wireless/iwlwifi/iwl-core.h
index 702d62bf4ee4..f5586b5e0496 100644
--- a/drivers/net/wireless/iwlwifi/iwl-core.h
+++ b/drivers/net/wireless/iwlwifi/iwl-core.h
@@ -280,6 +280,7 @@ struct iwl_mod_params {
280 * @scan_antennas: available antenna for scan operation 280 * @scan_antennas: available antenna for scan operation
281 * @need_dc_calib: need to perform init dc calibration 281 * @need_dc_calib: need to perform init dc calibration
282 * @bt_statistics: use BT version of statistics notification 282 * @bt_statistics: use BT version of statistics notification
283 * @agg_time_limit: maximum number of uSec in aggregation
283 * 284 *
284 * We enable the driver to be backward compatible wrt API version. The 285 * We enable the driver to be backward compatible wrt API version. The
285 * driver specifies which APIs it supports (with @ucode_api_max being the 286 * driver specifies which APIs it supports (with @ucode_api_max being the
@@ -350,6 +351,7 @@ struct iwl_cfg {
350 u8 scan_tx_antennas[IEEE80211_NUM_BANDS]; 351 u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
351 const bool need_dc_calib; 352 const bool need_dc_calib;
352 const bool bt_statistics; 353 const bool bt_statistics;
354 u16 agg_time_limit;
353}; 355};
354 356
355/*************************** 357/***************************