Commit a4b96cc4 authored by Wey-Yi Guy's avatar Wey-Yi Guy Committed by John W. Linville

iwlwifi: add bt_init_traffic_load as configurable parameter

Adding configurable parameter in .cfg for the initial Bluetooth traffic
load; set it to IWL_BT_COEX_TRAFFIC_LOAD_NONE for now, but can be change
for debugging or other reason.
Signed-off-by: default avatarWey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 7bdc473c
...@@ -832,6 +832,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = { ...@@ -832,6 +832,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = {
/* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
}; };
struct iwl_cfg iwl6000g2b_2abg_cfg = { struct iwl_cfg iwl6000g2b_2abg_cfg = {
...@@ -871,6 +872,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = { ...@@ -871,6 +872,7 @@ struct iwl_cfg iwl6000g2b_2abg_cfg = {
/* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
}; };
struct iwl_cfg iwl6000g2b_2bgn_cfg = { struct iwl_cfg iwl6000g2b_2bgn_cfg = {
...@@ -912,6 +914,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = { ...@@ -912,6 +914,7 @@ struct iwl_cfg iwl6000g2b_2bgn_cfg = {
/* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
}; };
struct iwl_cfg iwl6000g2b_2bg_cfg = { struct iwl_cfg iwl6000g2b_2bg_cfg = {
...@@ -951,6 +954,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = { ...@@ -951,6 +954,7 @@ struct iwl_cfg iwl6000g2b_2bg_cfg = {
/* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
}; };
struct iwl_cfg iwl6000g2b_bgn_cfg = { struct iwl_cfg iwl6000g2b_bgn_cfg = {
...@@ -992,6 +996,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = { ...@@ -992,6 +996,7 @@ struct iwl_cfg iwl6000g2b_bgn_cfg = {
/* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
}; };
struct iwl_cfg iwl6000g2b_bg_cfg = { struct iwl_cfg iwl6000g2b_bg_cfg = {
...@@ -1031,6 +1036,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = { ...@@ -1031,6 +1036,7 @@ struct iwl_cfg iwl6000g2b_bg_cfg = {
/* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */ /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
.scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A, .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
.advanced_bt_coexist = true, .advanced_bt_coexist = true,
.bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
}; };
/* /*
......
...@@ -2805,7 +2805,7 @@ static void __iwl_down(struct iwl_priv *priv) ...@@ -2805,7 +2805,7 @@ static void __iwl_down(struct iwl_priv *priv)
iwl_clear_driver_stations(priv); iwl_clear_driver_stations(priv);
/* reset BT coex data */ /* reset BT coex data */
priv->bt_traffic_load = 0; priv->bt_traffic_load = priv->cfg->bt_init_traffic_load;
priv->bt_sco_active = false; priv->bt_sco_active = false;
priv->bt_full_concurrent = false; priv->bt_full_concurrent = false;
priv->bt_ci_compliance = 0; priv->bt_ci_compliance = 0;
......
...@@ -279,6 +279,7 @@ struct iwl_mod_params { ...@@ -279,6 +279,7 @@ struct iwl_mod_params {
* chain noise calibration operation * chain noise calibration operation
* @scan_antennas: available antenna for scan operation * @scan_antennas: available antenna for scan operation
* @advanced_bt_coexist: support advanced bt coexist * @advanced_bt_coexist: support advanced bt coexist
* @bt_init_traffic_load: specify initial bt traffic load
* @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
...@@ -353,6 +354,7 @@ struct iwl_cfg { ...@@ -353,6 +354,7 @@ struct iwl_cfg {
u8 scan_rx_antennas[IEEE80211_NUM_BANDS]; u8 scan_rx_antennas[IEEE80211_NUM_BANDS];
u8 scan_tx_antennas[IEEE80211_NUM_BANDS]; u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
bool advanced_bt_coexist; bool advanced_bt_coexist;
u8 bt_init_traffic_load;
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;
......
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