iwlwifi: make aggregation time limit configurable
By default, aggregation time limit is 4000 uSec, add the parameter to .cfg to allow this parameter can be configure per device base if needed. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
b15826a795
commit
7469701e10
|
@ -2694,8 +2694,18 @@ static void rs_fill_link_cmd(struct iwl_priv *priv,
|
||||||
|
|
||||||
lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF;
|
lq_cmd->agg_params.agg_frame_cnt_limit = LINK_QUAL_AGG_FRAME_LIMIT_DEF;
|
||||||
lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF;
|
lq_cmd->agg_params.agg_dis_start_th = LINK_QUAL_AGG_DISABLE_START_DEF;
|
||||||
|
|
||||||
lq_cmd->agg_params.agg_time_limit =
|
lq_cmd->agg_params.agg_time_limit =
|
||||||
cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
|
cpu_to_le16(LINK_QUAL_AGG_TIME_LIMIT_DEF);
|
||||||
|
/*
|
||||||
|
* overwrite if needed, pass aggregation time limit
|
||||||
|
* to uCode in uSec
|
||||||
|
*/
|
||||||
|
if (priv && priv->cfg->agg_time_limit &&
|
||||||
|
priv->cfg->agg_time_limit >= LINK_QUAL_AGG_TIME_LIMIT_MIN &&
|
||||||
|
priv->cfg->agg_time_limit <= LINK_QUAL_AGG_TIME_LIMIT_MAX)
|
||||||
|
lq_cmd->agg_params.agg_time_limit =
|
||||||
|
cpu_to_le16(priv->cfg->agg_time_limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void *rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
|
static void *rs_alloc(struct ieee80211_hw *hw, struct dentry *debugfsdir)
|
||||||
|
|
|
@ -2110,8 +2110,10 @@ struct iwl_link_qual_general_params {
|
||||||
*/
|
*/
|
||||||
struct iwl_link_qual_agg_params {
|
struct iwl_link_qual_agg_params {
|
||||||
|
|
||||||
/* Maximum number of uSec in aggregation.
|
/*
|
||||||
* Driver should set this to 4000 (4 milliseconds). */
|
*Maximum number of uSec in aggregation.
|
||||||
|
* default set to 4000 (4 milliseconds) if not configured in .cfg
|
||||||
|
*/
|
||||||
__le16 agg_time_limit;
|
__le16 agg_time_limit;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -280,6 +280,7 @@ struct iwl_mod_params {
|
||||||
* @scan_antennas: available antenna for scan operation
|
* @scan_antennas: available antenna for scan operation
|
||||||
* @need_dc_calib: need to perform init dc calibration
|
* @need_dc_calib: need to perform init dc calibration
|
||||||
* @bt_statistics: use BT version of statistics notification
|
* @bt_statistics: use BT version of statistics notification
|
||||||
|
* @agg_time_limit: maximum number of uSec in aggregation
|
||||||
*
|
*
|
||||||
* We enable the driver to be backward compatible wrt API version. The
|
* We enable the driver to be backward compatible wrt API version. The
|
||||||
* driver specifies which APIs it supports (with @ucode_api_max being the
|
* driver specifies which APIs it supports (with @ucode_api_max being the
|
||||||
|
@ -350,6 +351,7 @@ struct iwl_cfg {
|
||||||
u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
|
u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
|
||||||
const bool need_dc_calib;
|
const bool need_dc_calib;
|
||||||
const bool bt_statistics;
|
const bool bt_statistics;
|
||||||
|
u16 agg_time_limit;
|
||||||
};
|
};
|
||||||
|
|
||||||
/***************************
|
/***************************
|
||||||
|
|
Loading…
Reference in New Issue