iwlwifi: configurable ampdu factor and density
Add ampdu factor and density to .cfg, this allow both parameters can be configure per device based. Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
This commit is contained in:
parent
7ccc896f4c
commit
172c1d112a
|
@ -239,7 +239,11 @@ static void iwlcore_init_ht_hw_capab(const struct iwl_priv *priv,
|
||||||
ht_info->cap |= IEEE80211_HT_CAP_MAX_AMSDU;
|
ht_info->cap |= IEEE80211_HT_CAP_MAX_AMSDU;
|
||||||
|
|
||||||
ht_info->ampdu_factor = CFG_HT_RX_AMPDU_FACTOR_DEF;
|
ht_info->ampdu_factor = CFG_HT_RX_AMPDU_FACTOR_DEF;
|
||||||
|
if (priv->cfg->ampdu_factor)
|
||||||
|
ht_info->ampdu_factor = priv->cfg->ampdu_factor;
|
||||||
ht_info->ampdu_density = CFG_HT_MPDU_DENSITY_DEF;
|
ht_info->ampdu_density = CFG_HT_MPDU_DENSITY_DEF;
|
||||||
|
if (priv->cfg->ampdu_density)
|
||||||
|
ht_info->ampdu_density = priv->cfg->ampdu_density;
|
||||||
|
|
||||||
ht_info->mcs.rx_mask[0] = 0xFF;
|
ht_info->mcs.rx_mask[0] = 0xFF;
|
||||||
if (rx_chains_num >= 2)
|
if (rx_chains_num >= 2)
|
||||||
|
|
|
@ -281,6 +281,8 @@ struct iwl_mod_params {
|
||||||
* @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
|
* @agg_time_limit: maximum number of uSec in aggregation
|
||||||
|
* @ampdu_factor: Maximum A-MPDU length factor
|
||||||
|
* @ampdu_density: Minimum A-MPDU spacing
|
||||||
*
|
*
|
||||||
* 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
|
||||||
|
@ -352,6 +354,8 @@ struct iwl_cfg {
|
||||||
const bool need_dc_calib;
|
const bool need_dc_calib;
|
||||||
const bool bt_statistics;
|
const bool bt_statistics;
|
||||||
u16 agg_time_limit;
|
u16 agg_time_limit;
|
||||||
|
u8 ampdu_factor;
|
||||||
|
u8 ampdu_density;
|
||||||
};
|
};
|
||||||
|
|
||||||
/***************************
|
/***************************
|
||||||
|
|
|
@ -435,7 +435,13 @@ union iwl_ht_rate_supp {
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
#define CFG_HT_RX_AMPDU_FACTOR_DEF (0x3)
|
#define CFG_HT_RX_AMPDU_FACTOR_8K (0x0)
|
||||||
|
#define CFG_HT_RX_AMPDU_FACTOR_16K (0x1)
|
||||||
|
#define CFG_HT_RX_AMPDU_FACTOR_32K (0x2)
|
||||||
|
#define CFG_HT_RX_AMPDU_FACTOR_64K (0x3)
|
||||||
|
#define CFG_HT_RX_AMPDU_FACTOR_DEF CFG_HT_RX_AMPDU_FACTOR_64K
|
||||||
|
#define CFG_HT_RX_AMPDU_FACTOR_MAX CFG_HT_RX_AMPDU_FACTOR_64K
|
||||||
|
#define CFG_HT_RX_AMPDU_FACTOR_MIN CFG_HT_RX_AMPDU_FACTOR_8K
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Maximal MPDU density for TX aggregation
|
* Maximal MPDU density for TX aggregation
|
||||||
|
@ -444,8 +450,13 @@ union iwl_ht_rate_supp {
|
||||||
* 6 - 8us density
|
* 6 - 8us density
|
||||||
* 7 - 16us density
|
* 7 - 16us density
|
||||||
*/
|
*/
|
||||||
|
#define CFG_HT_MPDU_DENSITY_2USEC (0x4)
|
||||||
#define CFG_HT_MPDU_DENSITY_4USEC (0x5)
|
#define CFG_HT_MPDU_DENSITY_4USEC (0x5)
|
||||||
|
#define CFG_HT_MPDU_DENSITY_8USEC (0x6)
|
||||||
|
#define CFG_HT_MPDU_DENSITY_16USEC (0x7)
|
||||||
#define CFG_HT_MPDU_DENSITY_DEF CFG_HT_MPDU_DENSITY_4USEC
|
#define CFG_HT_MPDU_DENSITY_DEF CFG_HT_MPDU_DENSITY_4USEC
|
||||||
|
#define CFG_HT_MPDU_DENSITY_MAX CFG_HT_MPDU_DENSITY_16USEC
|
||||||
|
#define CFG_HT_MPDU_DENSITY_MIN (0x1)
|
||||||
|
|
||||||
struct iwl_ht_config {
|
struct iwl_ht_config {
|
||||||
/* self configuration data */
|
/* self configuration data */
|
||||||
|
|
Loading…
Reference in New Issue