iwlwifi: add bt_init_traffic_load as configurable parameter
authorWey-Yi Guy <wey-yi.w.guy@intel.com>
Mon, 23 Aug 2010 14:57:08 +0000 (07:57 -0700)
committerJohn W. Linville <linville@tuxdriver.com>
Wed, 25 Aug 2010 18:34:20 +0000 (14:34 -0400)
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: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
drivers/net/wireless/iwlwifi/iwl-6000.c
drivers/net/wireless/iwlwifi/iwl-agn.c
drivers/net/wireless/iwlwifi/iwl-core.h

index 101630b80c40ea61fce17beed9b1cd15025d5014..396d80c0ef3845b5b9b87f32023a0e9850e4f0e6 100644 (file)
@@ -832,6 +832,7 @@ struct iwl_cfg iwl6000g2b_2agn_cfg = {
        /* Due to bluetooth, we transmit 2.4 GHz probes only on antenna A */
        .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
        .advanced_bt_coexist = true,
+       .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
 };
 
 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 */
        .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
        .advanced_bt_coexist = true,
+       .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
 };
 
 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 */
        .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
        .advanced_bt_coexist = true,
+       .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
 };
 
 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 */
        .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
        .advanced_bt_coexist = true,
+       .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
 };
 
 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 */
        .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
        .advanced_bt_coexist = true,
+       .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
 };
 
 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 */
        .scan_tx_antennas[IEEE80211_BAND_2GHZ] = ANT_A,
        .advanced_bt_coexist = true,
+       .bt_init_traffic_load = IWL_BT_COEX_TRAFFIC_LOAD_NONE,
 };
 
 /*
index c17ce823f84d953567b01630b58a2e90614f7884..06e89d474d046c3a463d3c40c6c77c36d3ea3d11 100644 (file)
@@ -2805,7 +2805,7 @@ static void __iwl_down(struct iwl_priv *priv)
        iwl_clear_driver_stations(priv);
 
        /* 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_full_concurrent = false;
        priv->bt_ci_compliance = 0;
index 146d0d5ec6b9fdae5e71c24fa90de28cbc8f6d44..d5dacaf0d09f70addc69d9b063700f2bad43f00f 100644 (file)
@@ -279,6 +279,7 @@ struct iwl_mod_params {
  *     chain noise calibration operation
  * @scan_antennas: available antenna for scan operation
  * @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
  * @bt_statistics: use BT version of statistics notification
  * @agg_time_limit: maximum number of uSec in aggregation
@@ -353,6 +354,7 @@ struct iwl_cfg {
        u8 scan_rx_antennas[IEEE80211_NUM_BANDS];
        u8 scan_tx_antennas[IEEE80211_NUM_BANDS];
        bool advanced_bt_coexist;
+       u8 bt_init_traffic_load;
        const bool need_dc_calib;
        const bool bt_statistics;
        u16 agg_time_limit;